aws-sdk-ec2 1.579.0 → 1.581.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
  #
@@ -4345,6 +4425,24 @@ module Aws::EC2
4345
4425
  # [1]: https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html
4346
4426
  # @return [String]
4347
4427
  #
4428
+ # @!attribute [rw] advertisement_type
4429
+ # Specifies the advertisement method for the BYOIP CIDR. Valid values
4430
+ # are:
4431
+ #
4432
+ # * `unicast`: IP is advertised from a single location (regional
4433
+ # services like EC2)
4434
+ #
4435
+ # * `anycast`: IP is advertised from multiple global locations
4436
+ # simultaneously (global services like CloudFront)
4437
+ #
4438
+ # For more information, see [Bring your own IP to CloudFront using
4439
+ # IPAM][1] in the *Amazon VPC IPAM User Guide*.
4440
+ #
4441
+ #
4442
+ #
4443
+ # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-byoip-cloudfront.html
4444
+ # @return [String]
4445
+ #
4348
4446
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ByoipCidr AWS API Documentation
4349
4447
  #
4350
4448
  class ByoipCidr < Struct.new(
@@ -4353,7 +4451,8 @@ module Aws::EC2
4353
4451
  :asn_associations,
4354
4452
  :status_message,
4355
4453
  :state,
4356
- :network_border_group)
4454
+ :network_border_group,
4455
+ :advertisement_type)
4357
4456
  SENSITIVE = []
4358
4457
  include Aws::Structure
4359
4458
  end
@@ -7197,12 +7296,34 @@ module Aws::EC2
7197
7296
  # Valid values: `json` \| `text`
7198
7297
  # @return [String]
7199
7298
  #
7299
+ # @!attribute [rw] bgp_log_enabled
7300
+ # Indicates whether Border Gateway Protocol (BGP) logging is enabled
7301
+ # for the VPN connection. Default value is `False`.
7302
+ #
7303
+ # Valid values: `True` \| `False`
7304
+ # @return [Boolean]
7305
+ #
7306
+ # @!attribute [rw] bgp_log_group_arn
7307
+ # The Amazon Resource Name (ARN) of the CloudWatch log group for BGP
7308
+ # logs.
7309
+ # @return [String]
7310
+ #
7311
+ # @!attribute [rw] bgp_log_output_format
7312
+ # The output format for BGP logs sent to CloudWatch. Default format is
7313
+ # `json`.
7314
+ #
7315
+ # Valid values: `json` \| `text`
7316
+ # @return [String]
7317
+ #
7200
7318
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CloudWatchLogOptions AWS API Documentation
7201
7319
  #
7202
7320
  class CloudWatchLogOptions < Struct.new(
7203
7321
  :log_enabled,
7204
7322
  :log_group_arn,
7205
- :log_output_format)
7323
+ :log_output_format,
7324
+ :bgp_log_enabled,
7325
+ :bgp_log_group_arn,
7326
+ :bgp_log_output_format)
7206
7327
  SENSITIVE = []
7207
7328
  include Aws::Structure
7208
7329
  end
@@ -7227,12 +7348,34 @@ module Aws::EC2
7227
7348
  # Valid values: `json` \| `text`
7228
7349
  # @return [String]
7229
7350
  #
7351
+ # @!attribute [rw] bgp_log_enabled
7352
+ # Specifies whether to enable BGP logging for the VPN connection.
7353
+ # Default value is `False`.
7354
+ #
7355
+ # Valid values: `True` \| `False`
7356
+ # @return [Boolean]
7357
+ #
7358
+ # @!attribute [rw] bgp_log_group_arn
7359
+ # The Amazon Resource Name (ARN) of the CloudWatch log group where BGP
7360
+ # logs will be sent.
7361
+ # @return [String]
7362
+ #
7363
+ # @!attribute [rw] bgp_log_output_format
7364
+ # The desired output format for BGP logs to be sent to CloudWatch.
7365
+ # Default format is `json`.
7366
+ #
7367
+ # Valid values: `json` \| `text`
7368
+ # @return [String]
7369
+ #
7230
7370
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CloudWatchLogOptionsSpecification AWS API Documentation
7231
7371
  #
7232
7372
  class CloudWatchLogOptionsSpecification < Struct.new(
7233
7373
  :log_enabled,
7234
7374
  :log_group_arn,
7235
- :log_output_format)
7375
+ :log_output_format,
7376
+ :bgp_log_enabled,
7377
+ :bgp_log_group_arn,
7378
+ :bgp_log_output_format)
7236
7379
  SENSITIVE = []
7237
7380
  include Aws::Structure
7238
7381
  end
@@ -10677,6 +10820,62 @@ module Aws::EC2
10677
10820
  include Aws::Structure
10678
10821
  end
10679
10822
 
10823
+ # @!attribute [rw] dry_run
10824
+ # A check for whether you have the required permissions for the action
10825
+ # without actually making the request and provides an error response.
10826
+ # If you have the required permissions, the error response is
10827
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
10828
+ # @return [Boolean]
10829
+ #
10830
+ # @!attribute [rw] tag_specifications
10831
+ # The tags to assign to the IPAM policy.
10832
+ # @return [Array<Types::TagSpecification>]
10833
+ #
10834
+ # @!attribute [rw] client_token
10835
+ # A unique, case-sensitive identifier to ensure the idempotency of the
10836
+ # request.
10837
+ #
10838
+ # **A suitable default value is auto-generated.** You should normally
10839
+ # not need to pass this option.
10840
+ # @return [String]
10841
+ #
10842
+ # @!attribute [rw] ipam_id
10843
+ # The ID of the IPAM for which you're creating the policy.
10844
+ # @return [String]
10845
+ #
10846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamPolicyRequest AWS API Documentation
10847
+ #
10848
+ class CreateIpamPolicyRequest < Struct.new(
10849
+ :dry_run,
10850
+ :tag_specifications,
10851
+ :client_token,
10852
+ :ipam_id)
10853
+ SENSITIVE = []
10854
+ include Aws::Structure
10855
+ end
10856
+
10857
+ # @!attribute [rw] ipam_policy
10858
+ # Information about the created IPAM policy.
10859
+ #
10860
+ # An IPAM policy is a set of rules that define how public IPv4
10861
+ # addresses from IPAM pools are allocated to Amazon Web Services
10862
+ # resources. Each rule maps an Amazon Web Services service to IPAM
10863
+ # pools that the service will use to get IP addresses. A single policy
10864
+ # can have multiple rules and be applied to multiple Amazon Web
10865
+ # Services Regions. If the IPAM pool run out of addresses then the
10866
+ # services fallback to Amazon-provided IP addresses. A policy can be
10867
+ # applied to an individual Amazon Web Services account or an entity
10868
+ # within Amazon Web Services Organizations.
10869
+ # @return [Types::IpamPolicy]
10870
+ #
10871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateIpamPolicyResult AWS API Documentation
10872
+ #
10873
+ class CreateIpamPolicyResult < Struct.new(
10874
+ :ipam_policy)
10875
+ SENSITIVE = []
10876
+ include Aws::Structure
10877
+ end
10878
+
10680
10879
  # @!attribute [rw] dry_run
10681
10880
  # A check for whether you have the required permissions for the action
10682
10881
  # without actually making the request and provides an error response.
@@ -11977,6 +12176,24 @@ module Aws::EC2
11977
12176
  include Aws::Structure
11978
12177
  end
11979
12178
 
12179
+ # @!attribute [rw] availability_mode
12180
+ # Specifies whether to create a zonal (single-AZ) or regional
12181
+ # (multi-AZ) NAT gateway. Defaults to `zonal`.
12182
+ #
12183
+ # A zonal NAT gateway is a NAT Gateway that provides redundancy and
12184
+ # scalability within a single availability zone. A regional NAT
12185
+ # gateway is a single NAT Gateway that works across multiple
12186
+ # availability zones (AZs) in your VPC, providing redundancy,
12187
+ # scalability and availability across all the AZs in a Region.
12188
+ #
12189
+ # For more information, see [Regional NAT gateways for automatic
12190
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
12191
+ #
12192
+ #
12193
+ #
12194
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
12195
+ # @return [String]
12196
+ #
11980
12197
  # @!attribute [rw] allocation_id
11981
12198
  # \[Public NAT gateways only\] The allocation ID of an Elastic IP
11982
12199
  # address to associate with the NAT gateway. You cannot specify an
@@ -12011,6 +12228,32 @@ module Aws::EC2
12011
12228
  # The ID of the subnet in which to create the NAT gateway.
12012
12229
  # @return [String]
12013
12230
  #
12231
+ # @!attribute [rw] vpc_id
12232
+ # The ID of the VPC where you want to create a regional NAT gateway.
12233
+ # @return [String]
12234
+ #
12235
+ # @!attribute [rw] availability_zone_addresses
12236
+ # For regional NAT gateways only: Specifies which Availability Zones
12237
+ # you want the NAT gateway to support and the Elastic IP addresses
12238
+ # (EIPs) to use in each AZ. The regional NAT gateway uses these EIPs
12239
+ # to handle outbound NAT traffic from their respective AZs. If not
12240
+ # specified, the NAT gateway will automatically expand to new AZs and
12241
+ # associate EIPs upon detection of an elastic network interface. If
12242
+ # you specify this parameter, auto-expansion is disabled and you must
12243
+ # manually manage AZ coverage.
12244
+ #
12245
+ # A regional NAT gateway is a single NAT Gateway that works across
12246
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
12247
+ # scalability and availability across all the AZs in a Region.
12248
+ #
12249
+ # For more information, see [Regional NAT gateways for automatic
12250
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
12251
+ #
12252
+ #
12253
+ #
12254
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
12255
+ # @return [Array<Types::AvailabilityZoneAddress>]
12256
+ #
12014
12257
  # @!attribute [rw] tag_specifications
12015
12258
  # The tags to assign to the NAT gateway.
12016
12259
  # @return [Array<Types::TagSpecification>]
@@ -12059,10 +12302,13 @@ module Aws::EC2
12059
12302
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest AWS API Documentation
12060
12303
  #
12061
12304
  class CreateNatGatewayRequest < Struct.new(
12305
+ :availability_mode,
12062
12306
  :allocation_id,
12063
12307
  :client_token,
12064
12308
  :dry_run,
12065
12309
  :subnet_id,
12310
+ :vpc_id,
12311
+ :availability_zone_addresses,
12066
12312
  :tag_specifications,
12067
12313
  :connectivity_type,
12068
12314
  :private_ip_address,
@@ -14336,6 +14582,147 @@ module Aws::EC2
14336
14582
  include Aws::Structure
14337
14583
  end
14338
14584
 
14585
+ # @!attribute [rw] transit_gateway_metering_policy_id
14586
+ # The ID of the transit gateway metering policy to add the entry to.
14587
+ # @return [String]
14588
+ #
14589
+ # @!attribute [rw] policy_rule_number
14590
+ # The rule number for the metering policy entry. Rules are processed
14591
+ # in order from lowest to highest number.
14592
+ # @return [Integer]
14593
+ #
14594
+ # @!attribute [rw] source_transit_gateway_attachment_id
14595
+ # The ID of the source transit gateway attachment for traffic
14596
+ # matching.
14597
+ # @return [String]
14598
+ #
14599
+ # @!attribute [rw] source_transit_gateway_attachment_type
14600
+ # The type of the source transit gateway attachment for traffic
14601
+ # matching. Note that the `tgw-peering` resource type has been
14602
+ # deprecated. To configure metering policies for Connect, use the
14603
+ # transport attachment type.
14604
+ # @return [String]
14605
+ #
14606
+ # @!attribute [rw] source_cidr_block
14607
+ # The source CIDR block for traffic matching.
14608
+ # @return [String]
14609
+ #
14610
+ # @!attribute [rw] source_port_range
14611
+ # The source port range for traffic matching.
14612
+ # @return [String]
14613
+ #
14614
+ # @!attribute [rw] destination_transit_gateway_attachment_id
14615
+ # The ID of the destination transit gateway attachment for traffic
14616
+ # matching.
14617
+ # @return [String]
14618
+ #
14619
+ # @!attribute [rw] destination_transit_gateway_attachment_type
14620
+ # The type of the destination transit gateway attachment for traffic
14621
+ # matching. Note that the `tgw-peering` resource type has been
14622
+ # deprecated. To configure metering policies for Connect, use the
14623
+ # transport attachment type.
14624
+ # @return [String]
14625
+ #
14626
+ # @!attribute [rw] destination_cidr_block
14627
+ # The destination CIDR block for traffic matching.
14628
+ # @return [String]
14629
+ #
14630
+ # @!attribute [rw] destination_port_range
14631
+ # The destination port range for traffic matching.
14632
+ # @return [String]
14633
+ #
14634
+ # @!attribute [rw] protocol
14635
+ # The protocol for traffic matching (1, 6, 17, etc.).
14636
+ # @return [String]
14637
+ #
14638
+ # @!attribute [rw] metered_account
14639
+ # The Amazon Web Services account ID to which the metered traffic
14640
+ # should be attributed.
14641
+ # @return [String]
14642
+ #
14643
+ # @!attribute [rw] dry_run
14644
+ # Checks whether you have the required permissions for the action,
14645
+ # without actually making the request, and provides an error response.
14646
+ # If you have the required permissions, the error response is
14647
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
14648
+ # @return [Boolean]
14649
+ #
14650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyEntryRequest AWS API Documentation
14651
+ #
14652
+ class CreateTransitGatewayMeteringPolicyEntryRequest < Struct.new(
14653
+ :transit_gateway_metering_policy_id,
14654
+ :policy_rule_number,
14655
+ :source_transit_gateway_attachment_id,
14656
+ :source_transit_gateway_attachment_type,
14657
+ :source_cidr_block,
14658
+ :source_port_range,
14659
+ :destination_transit_gateway_attachment_id,
14660
+ :destination_transit_gateway_attachment_type,
14661
+ :destination_cidr_block,
14662
+ :destination_port_range,
14663
+ :protocol,
14664
+ :metered_account,
14665
+ :dry_run)
14666
+ SENSITIVE = []
14667
+ include Aws::Structure
14668
+ end
14669
+
14670
+ # @!attribute [rw] transit_gateway_metering_policy_entry
14671
+ # Information about the created transit gateway metering policy entry.
14672
+ # @return [Types::TransitGatewayMeteringPolicyEntry]
14673
+ #
14674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyEntryResult AWS API Documentation
14675
+ #
14676
+ class CreateTransitGatewayMeteringPolicyEntryResult < Struct.new(
14677
+ :transit_gateway_metering_policy_entry)
14678
+ SENSITIVE = []
14679
+ include Aws::Structure
14680
+ end
14681
+
14682
+ # @!attribute [rw] transit_gateway_id
14683
+ # The ID of the transit gateway for which to create the metering
14684
+ # policy.
14685
+ # @return [String]
14686
+ #
14687
+ # @!attribute [rw] middlebox_attachment_ids
14688
+ # The IDs of the middlebox attachments to include in the metering
14689
+ # policy.
14690
+ # @return [Array<String>]
14691
+ #
14692
+ # @!attribute [rw] tag_specifications
14693
+ # The tags to assign to the metering policy.
14694
+ # @return [Array<Types::TagSpecification>]
14695
+ #
14696
+ # @!attribute [rw] dry_run
14697
+ # Checks whether you have the required permissions for the action,
14698
+ # without actually making the request, and provides an error response.
14699
+ # If you have the required permissions, the error response is
14700
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
14701
+ # @return [Boolean]
14702
+ #
14703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyRequest AWS API Documentation
14704
+ #
14705
+ class CreateTransitGatewayMeteringPolicyRequest < Struct.new(
14706
+ :transit_gateway_id,
14707
+ :middlebox_attachment_ids,
14708
+ :tag_specifications,
14709
+ :dry_run)
14710
+ SENSITIVE = []
14711
+ include Aws::Structure
14712
+ end
14713
+
14714
+ # @!attribute [rw] transit_gateway_metering_policy
14715
+ # Information about the created transit gateway metering policy.
14716
+ # @return [Types::TransitGatewayMeteringPolicy]
14717
+ #
14718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyResult AWS API Documentation
14719
+ #
14720
+ class CreateTransitGatewayMeteringPolicyResult < Struct.new(
14721
+ :transit_gateway_metering_policy)
14722
+ SENSITIVE = []
14723
+ include Aws::Structure
14724
+ end
14725
+
14339
14726
  # @!attribute [rw] transit_gateway_id
14340
14727
  # The ID of the transit gateway.
14341
14728
  # @return [String]
@@ -15809,6 +16196,44 @@ module Aws::EC2
15809
16196
  include Aws::Structure
15810
16197
  end
15811
16198
 
16199
+ # @!attribute [rw] dry_run
16200
+ # Checks whether you have the required permissions for the action,
16201
+ # without actually making the request, and provides an error response.
16202
+ # If you have the required permissions, the error response is
16203
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16204
+ # @return [Boolean]
16205
+ #
16206
+ # @!attribute [rw] vpc_id
16207
+ # The ID of the VPC for which to create the encryption control
16208
+ # configuration.
16209
+ # @return [String]
16210
+ #
16211
+ # @!attribute [rw] tag_specifications
16212
+ # The tags to apply to the VPC Encryption Control resource.
16213
+ # @return [Array<Types::TagSpecification>]
16214
+ #
16215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEncryptionControlRequest AWS API Documentation
16216
+ #
16217
+ class CreateVpcEncryptionControlRequest < Struct.new(
16218
+ :dry_run,
16219
+ :vpc_id,
16220
+ :tag_specifications)
16221
+ SENSITIVE = []
16222
+ include Aws::Structure
16223
+ end
16224
+
16225
+ # @!attribute [rw] vpc_encryption_control
16226
+ # Information about the VPC Encryption Control configuration.
16227
+ # @return [Types::VpcEncryptionControl]
16228
+ #
16229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEncryptionControlResult AWS API Documentation
16230
+ #
16231
+ class CreateVpcEncryptionControlResult < Struct.new(
16232
+ :vpc_encryption_control)
16233
+ SENSITIVE = []
16234
+ include Aws::Structure
16235
+ end
16236
+
15812
16237
  # @!attribute [rw] dry_run
15813
16238
  # Checks whether you have the required permissions for the action,
15814
16239
  # without actually making the request, and provides an error response.
@@ -16231,6 +16656,20 @@ module Aws::EC2
16231
16656
  # parameter.
16232
16657
  # @return [String]
16233
16658
  #
16659
+ # @!attribute [rw] vpc_encryption_control
16660
+ # Specifies the encryption control configuration to apply to the VPC
16661
+ # during creation. VPC Encryption Control enables you to enforce
16662
+ # encryption for all data in transit within and between VPCs to meet
16663
+ # compliance requirements.
16664
+ #
16665
+ # For more information, see [Enforce VPC encryption in transit][1] in
16666
+ # the *Amazon VPC User Guide*.
16667
+ #
16668
+ #
16669
+ #
16670
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
16671
+ # @return [Types::VpcEncryptionControlConfiguration]
16672
+ #
16234
16673
  # @!attribute [rw] tag_specifications
16235
16674
  # The tags to assign to the VPC.
16236
16675
  # @return [Array<Types::TagSpecification>]
@@ -16273,6 +16712,7 @@ module Aws::EC2
16273
16712
  :ipv_6_ipam_pool_id,
16274
16713
  :ipv_6_netmask_length,
16275
16714
  :ipv_6_cidr_block_network_border_group,
16715
+ :vpc_encryption_control,
16276
16716
  :tag_specifications,
16277
16717
  :dry_run,
16278
16718
  :instance_tenancy,
@@ -17390,6 +17830,48 @@ module Aws::EC2
17390
17830
  include Aws::Structure
17391
17831
  end
17392
17832
 
17833
+ # @!attribute [rw] dry_run
17834
+ # A check for whether you have the required permissions for the action
17835
+ # without actually making the request and provides an error response.
17836
+ # If you have the required permissions, the error response is
17837
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17838
+ # @return [Boolean]
17839
+ #
17840
+ # @!attribute [rw] ipam_policy_id
17841
+ # The ID of the IPAM policy to delete.
17842
+ # @return [String]
17843
+ #
17844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamPolicyRequest AWS API Documentation
17845
+ #
17846
+ class DeleteIpamPolicyRequest < Struct.new(
17847
+ :dry_run,
17848
+ :ipam_policy_id)
17849
+ SENSITIVE = []
17850
+ include Aws::Structure
17851
+ end
17852
+
17853
+ # @!attribute [rw] ipam_policy
17854
+ # Information about the deleted IPAM policy.
17855
+ #
17856
+ # An IPAM policy is a set of rules that define how public IPv4
17857
+ # addresses from IPAM pools are allocated to Amazon Web Services
17858
+ # resources. Each rule maps an Amazon Web Services service to IPAM
17859
+ # pools that the service will use to get IP addresses. A single policy
17860
+ # can have multiple rules and be applied to multiple Amazon Web
17861
+ # Services Regions. If the IPAM pool run out of addresses then the
17862
+ # services fallback to Amazon-provided IP addresses. A policy can be
17863
+ # applied to an individual Amazon Web Services account or an entity
17864
+ # within Amazon Web Services Organizations.
17865
+ # @return [Types::IpamPolicy]
17866
+ #
17867
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteIpamPolicyResult AWS API Documentation
17868
+ #
17869
+ class DeleteIpamPolicyResult < Struct.new(
17870
+ :ipam_policy)
17871
+ SENSITIVE = []
17872
+ include Aws::Structure
17873
+ end
17874
+
17393
17875
  # @!attribute [rw] dry_run
17394
17876
  # A check for whether you have the required permissions for the action
17395
17877
  # without actually making the request and provides an error response.
@@ -19009,6 +19491,76 @@ module Aws::EC2
19009
19491
  include Aws::Structure
19010
19492
  end
19011
19493
 
19494
+ # @!attribute [rw] transit_gateway_metering_policy_id
19495
+ # The ID of the transit gateway metering policy containing the entry
19496
+ # to delete.
19497
+ # @return [String]
19498
+ #
19499
+ # @!attribute [rw] policy_rule_number
19500
+ # The rule number of the metering policy entry to delete.
19501
+ # @return [Integer]
19502
+ #
19503
+ # @!attribute [rw] dry_run
19504
+ # Checks whether you have the required permissions for the action,
19505
+ # without actually making the request, and provides an error response.
19506
+ # If you have the required permissions, the error response is
19507
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19508
+ # @return [Boolean]
19509
+ #
19510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyEntryRequest AWS API Documentation
19511
+ #
19512
+ class DeleteTransitGatewayMeteringPolicyEntryRequest < Struct.new(
19513
+ :transit_gateway_metering_policy_id,
19514
+ :policy_rule_number,
19515
+ :dry_run)
19516
+ SENSITIVE = []
19517
+ include Aws::Structure
19518
+ end
19519
+
19520
+ # @!attribute [rw] transit_gateway_metering_policy_entry
19521
+ # Information about the deleted transit gateway metering policy entry.
19522
+ # @return [Types::TransitGatewayMeteringPolicyEntry]
19523
+ #
19524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyEntryResult AWS API Documentation
19525
+ #
19526
+ class DeleteTransitGatewayMeteringPolicyEntryResult < Struct.new(
19527
+ :transit_gateway_metering_policy_entry)
19528
+ SENSITIVE = []
19529
+ include Aws::Structure
19530
+ end
19531
+
19532
+ # @!attribute [rw] transit_gateway_metering_policy_id
19533
+ # The ID of the transit gateway metering policy to delete.
19534
+ # @return [String]
19535
+ #
19536
+ # @!attribute [rw] dry_run
19537
+ # Checks whether you have the required permissions for the action,
19538
+ # without actually making the request, and provides an error response.
19539
+ # If you have the required permissions, the error response is
19540
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19541
+ # @return [Boolean]
19542
+ #
19543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyRequest AWS API Documentation
19544
+ #
19545
+ class DeleteTransitGatewayMeteringPolicyRequest < Struct.new(
19546
+ :transit_gateway_metering_policy_id,
19547
+ :dry_run)
19548
+ SENSITIVE = []
19549
+ include Aws::Structure
19550
+ end
19551
+
19552
+ # @!attribute [rw] transit_gateway_metering_policy
19553
+ # Information about the deleted transit gateway metering policy.
19554
+ # @return [Types::TransitGatewayMeteringPolicy]
19555
+ #
19556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyResult AWS API Documentation
19557
+ #
19558
+ class DeleteTransitGatewayMeteringPolicyResult < Struct.new(
19559
+ :transit_gateway_metering_policy)
19560
+ SENSITIVE = []
19561
+ include Aws::Structure
19562
+ end
19563
+
19012
19564
  # @!attribute [rw] transit_gateway_multicast_domain_id
19013
19565
  # The ID of the transit gateway multicast domain.
19014
19566
  # @return [String]
@@ -19544,6 +20096,38 @@ module Aws::EC2
19544
20096
  include Aws::Structure
19545
20097
  end
19546
20098
 
20099
+ # @!attribute [rw] dry_run
20100
+ # Checks whether you have the required permissions for the action,
20101
+ # without actually making the request, and provides an error response.
20102
+ # If you have the required permissions, the error response is
20103
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20104
+ # @return [Boolean]
20105
+ #
20106
+ # @!attribute [rw] vpc_encryption_control_id
20107
+ # The ID of the VPC Encryption Control resource to delete.
20108
+ # @return [String]
20109
+ #
20110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEncryptionControlRequest AWS API Documentation
20111
+ #
20112
+ class DeleteVpcEncryptionControlRequest < Struct.new(
20113
+ :dry_run,
20114
+ :vpc_encryption_control_id)
20115
+ SENSITIVE = []
20116
+ include Aws::Structure
20117
+ end
20118
+
20119
+ # @!attribute [rw] vpc_encryption_control
20120
+ # Information about the deleted VPC Encryption Control configuration.
20121
+ # @return [Types::VpcEncryptionControl]
20122
+ #
20123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEncryptionControlResult AWS API Documentation
20124
+ #
20125
+ class DeleteVpcEncryptionControlResult < Struct.new(
20126
+ :vpc_encryption_control)
20127
+ SENSITIVE = []
20128
+ include Aws::Structure
20129
+ end
20130
+
19547
20131
  # @!attribute [rw] dry_run
19548
20132
  # Checks whether you have the required permissions for the action,
19549
20133
  # without actually making the request, and provides an error response.
@@ -25804,7 +26388,7 @@ module Aws::EC2
25804
26388
  #
25805
26389
  # * `requester-id` - The ID of the entity that launched the instance
25806
26390
  # on your behalf (for example, Amazon Web Services Management
25807
- # Console, Auto Scaling, and so on).
26391
+ # Console, Amazon EC2 Auto Scaling, and so on).
25808
26392
  #
25809
26393
  # * `reservation-id` - The ID of the instance's reservation. A
25810
26394
  # reservation ID is created any time you launch an instance. A
@@ -26127,6 +26711,69 @@ module Aws::EC2
26127
26711
  include Aws::Structure
26128
26712
  end
26129
26713
 
26714
+ # @!attribute [rw] dry_run
26715
+ # A check for whether you have the required permissions for the action
26716
+ # without actually making the request and provides an error response.
26717
+ # If you have the required permissions, the error response is
26718
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
26719
+ # @return [Boolean]
26720
+ #
26721
+ # @!attribute [rw] filters
26722
+ # One or more filters for the IPAM policy description.
26723
+ # @return [Array<Types::Filter>]
26724
+ #
26725
+ # @!attribute [rw] max_results
26726
+ # The maximum number of results to return in a single call.
26727
+ # @return [Integer]
26728
+ #
26729
+ # @!attribute [rw] next_token
26730
+ # The token for the next page of results.
26731
+ # @return [String]
26732
+ #
26733
+ # @!attribute [rw] ipam_policy_ids
26734
+ # The IDs of the IPAM policies to describe.
26735
+ # @return [Array<String>]
26736
+ #
26737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamPoliciesRequest AWS API Documentation
26738
+ #
26739
+ class DescribeIpamPoliciesRequest < Struct.new(
26740
+ :dry_run,
26741
+ :filters,
26742
+ :max_results,
26743
+ :next_token,
26744
+ :ipam_policy_ids)
26745
+ SENSITIVE = []
26746
+ include Aws::Structure
26747
+ end
26748
+
26749
+ # @!attribute [rw] next_token
26750
+ # The token to use to retrieve the next page of results. This value is
26751
+ # `null` when there are no more results to return.
26752
+ # @return [String]
26753
+ #
26754
+ # @!attribute [rw] ipam_policies
26755
+ # Information about the IPAM policies.
26756
+ #
26757
+ # An IPAM policy is a set of rules that define how public IPv4
26758
+ # addresses from IPAM pools are allocated to Amazon Web Services
26759
+ # resources. Each rule maps an Amazon Web Services service to IPAM
26760
+ # pools that the service will use to get IP addresses. A single policy
26761
+ # can have multiple rules and be applied to multiple Amazon Web
26762
+ # Services Regions. If the IPAM pool run out of addresses then the
26763
+ # services fallback to Amazon-provided IP addresses. A policy can be
26764
+ # applied to an individual Amazon Web Services account or an entity
26765
+ # within Amazon Web Services Organizations.
26766
+ # @return [Array<Types::IpamPolicy>]
26767
+ #
26768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamPoliciesResult AWS API Documentation
26769
+ #
26770
+ class DescribeIpamPoliciesResult < Struct.new(
26771
+ :next_token,
26772
+ :ipam_policies)
26773
+ SENSITIVE = []
26774
+ include Aws::Structure
26775
+ end
26776
+
26130
26777
  # @!attribute [rw] dry_run
26131
26778
  # A check for whether you have the required permissions for the action
26132
26779
  # without actually making the request and provides an error response.
@@ -26323,8 +26970,7 @@ module Aws::EC2
26323
26970
  # @return [Array<String>]
26324
26971
  #
26325
26972
  # @!attribute [rw] next_token
26326
- # Specify the pagination token from a previous request to retrieve the
26327
- # next page of results.
26973
+ # The token for the next page of results.
26328
26974
  # @return [String]
26329
26975
  #
26330
26976
  # @!attribute [rw] max_results
@@ -26353,8 +26999,8 @@ module Aws::EC2
26353
26999
  # @return [Array<Types::IpamResourceDiscovery>]
26354
27000
  #
26355
27001
  # @!attribute [rw] next_token
26356
- # Specify the pagination token from a previous request to retrieve the
26357
- # next page of results.
27002
+ # The token to use to retrieve the next page of results. This value is
27003
+ # `null` when there are no more results to return.
26358
27004
  # @return [String]
26359
27005
  #
26360
27006
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveriesResult AWS API Documentation
@@ -26408,8 +27054,8 @@ module Aws::EC2
26408
27054
  # @return [Array<Types::IpamResourceDiscoveryAssociation>]
26409
27055
  #
26410
27056
  # @!attribute [rw] next_token
26411
- # Specify the pagination token from a previous request to retrieve the
26412
- # next page of results.
27057
+ # The token to use to retrieve the next page of results. This value is
27058
+ # `null` when there are no more results to return.
26413
27059
  # @return [String]
26414
27060
  #
26415
27061
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpamResourceDiscoveryAssociationsResult AWS API Documentation
@@ -31835,6 +32481,62 @@ module Aws::EC2
31835
32481
  include Aws::Structure
31836
32482
  end
31837
32483
 
32484
+ # @!attribute [rw] transit_gateway_metering_policy_ids
32485
+ # The IDs of the transit gateway metering policies to describe.
32486
+ # @return [Array<String>]
32487
+ #
32488
+ # @!attribute [rw] filters
32489
+ # One or more filters to apply when describing transit gateway
32490
+ # metering policies.
32491
+ # @return [Array<Types::Filter>]
32492
+ #
32493
+ # @!attribute [rw] max_results
32494
+ # The maximum number of results to return with a single call. To
32495
+ # retrieve the remaining results, make another call with the returned
32496
+ # `nextToken` value.
32497
+ # @return [Integer]
32498
+ #
32499
+ # @!attribute [rw] next_token
32500
+ # The token for the next page of results.
32501
+ # @return [String]
32502
+ #
32503
+ # @!attribute [rw] dry_run
32504
+ # Checks whether you have the required permissions for the action,
32505
+ # without actually making the request, and provides an error response.
32506
+ # If you have the required permissions, the error response is
32507
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
32508
+ # @return [Boolean]
32509
+ #
32510
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMeteringPoliciesRequest AWS API Documentation
32511
+ #
32512
+ class DescribeTransitGatewayMeteringPoliciesRequest < Struct.new(
32513
+ :transit_gateway_metering_policy_ids,
32514
+ :filters,
32515
+ :max_results,
32516
+ :next_token,
32517
+ :dry_run)
32518
+ SENSITIVE = []
32519
+ include Aws::Structure
32520
+ end
32521
+
32522
+ # @!attribute [rw] transit_gateway_metering_policies
32523
+ # Information about the transit gateway metering policies.
32524
+ # @return [Array<Types::TransitGatewayMeteringPolicy>]
32525
+ #
32526
+ # @!attribute [rw] next_token
32527
+ # The token to use to retrieve the next page of results. This value is
32528
+ # `null` when there are no more results to return.
32529
+ # @return [String]
32530
+ #
32531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMeteringPoliciesResult AWS API Documentation
32532
+ #
32533
+ class DescribeTransitGatewayMeteringPoliciesResult < Struct.new(
32534
+ :transit_gateway_metering_policies,
32535
+ :next_token)
32536
+ SENSITIVE = []
32537
+ include Aws::Structure
32538
+ end
32539
+
31838
32540
  # @!attribute [rw] transit_gateway_multicast_domain_ids
31839
32541
  # The ID of the transit gateway multicast domain.
31840
32542
  # @return [Array<String>]
@@ -33290,6 +33992,73 @@ module Aws::EC2
33290
33992
  include Aws::Structure
33291
33993
  end
33292
33994
 
33995
+ # @!attribute [rw] dry_run
33996
+ # Checks whether you have the required permissions for the action,
33997
+ # without actually making the request, and provides an error response.
33998
+ # If you have the required permissions, the error response is
33999
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
34000
+ # @return [Boolean]
34001
+ #
34002
+ # @!attribute [rw] filters
34003
+ # The filters to apply to the request.
34004
+ # @return [Array<Types::Filter>]
34005
+ #
34006
+ # @!attribute [rw] vpc_encryption_control_ids
34007
+ # The IDs of the VPC Encryption Control configurations to describe.
34008
+ # @return [Array<String>]
34009
+ #
34010
+ # @!attribute [rw] vpc_ids
34011
+ # The IDs of the VPCs to describe encryption control configurations
34012
+ # for.
34013
+ # @return [Array<String>]
34014
+ #
34015
+ # @!attribute [rw] next_token
34016
+ # The token returned from a previous paginated request. Pagination
34017
+ # continues from the end of the items returned by the previous
34018
+ # request.
34019
+ # @return [String]
34020
+ #
34021
+ # @!attribute [rw] max_results
34022
+ # The maximum number of items to return for this request. To get the
34023
+ # next page of items, make another request with the token returned in
34024
+ # the output. For more information, see [Pagination][1].
34025
+ #
34026
+ #
34027
+ #
34028
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
34029
+ # @return [Integer]
34030
+ #
34031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEncryptionControlsRequest AWS API Documentation
34032
+ #
34033
+ class DescribeVpcEncryptionControlsRequest < Struct.new(
34034
+ :dry_run,
34035
+ :filters,
34036
+ :vpc_encryption_control_ids,
34037
+ :vpc_ids,
34038
+ :next_token,
34039
+ :max_results)
34040
+ SENSITIVE = []
34041
+ include Aws::Structure
34042
+ end
34043
+
34044
+ # @!attribute [rw] vpc_encryption_controls
34045
+ # Information about the VPC Encryption Control configurations.
34046
+ # @return [Array<Types::VpcEncryptionControl>]
34047
+ #
34048
+ # @!attribute [rw] next_token
34049
+ # The token to include in another request to get the next page of
34050
+ # items. This value is `null` when there are no more items to return.
34051
+ # @return [String]
34052
+ #
34053
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEncryptionControlsResult AWS API Documentation
34054
+ #
34055
+ class DescribeVpcEncryptionControlsResult < Struct.new(
34056
+ :vpc_encryption_controls,
34057
+ :next_token)
34058
+ SENSITIVE = []
34059
+ include Aws::Structure
34060
+ end
34061
+
33293
34062
  # @!attribute [rw] dry_run
33294
34063
  # Checks whether you have the required permissions for the action,
33295
34064
  # without actually making the request, and provides an error response.
@@ -35318,6 +36087,51 @@ module Aws::EC2
35318
36087
  include Aws::Structure
35319
36088
  end
35320
36089
 
36090
+ # @!attribute [rw] dry_run
36091
+ # A check for whether you have the required permissions for the action
36092
+ # without actually making the request and provides an error response.
36093
+ # If you have the required permissions, the error response is
36094
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
36095
+ # @return [Boolean]
36096
+ #
36097
+ # @!attribute [rw] ipam_policy_id
36098
+ # The ID of the IPAM policy to disable.
36099
+ # @return [String]
36100
+ #
36101
+ # @!attribute [rw] organization_target_id
36102
+ # The ID of the Amazon Web Services Organizations target for which to
36103
+ # disable the IPAM policy. This parameter is required only when IPAM
36104
+ # is integrated with Amazon Web Services Organizations. When IPAM is
36105
+ # not integrated with Amazon Web Services Organizations, omit this
36106
+ # parameter and the policy will be disabled for the current account.
36107
+ #
36108
+ # A target can be an individual Amazon Web Services account or an
36109
+ # entity within an Amazon Web Services Organization to which an IPAM
36110
+ # policy can be applied.
36111
+ # @return [String]
36112
+ #
36113
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableIpamPolicyRequest AWS API Documentation
36114
+ #
36115
+ class DisableIpamPolicyRequest < Struct.new(
36116
+ :dry_run,
36117
+ :ipam_policy_id,
36118
+ :organization_target_id)
36119
+ SENSITIVE = []
36120
+ include Aws::Structure
36121
+ end
36122
+
36123
+ # @!attribute [rw] return
36124
+ # Returns true if the IPAM policy was successfully disabled.
36125
+ # @return [Boolean]
36126
+ #
36127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableIpamPolicyResult AWS API Documentation
36128
+ #
36129
+ class DisableIpamPolicyResult < Struct.new(
36130
+ :return)
36131
+ SENSITIVE = []
36132
+ include Aws::Structure
36133
+ end
36134
+
35321
36135
  # @!attribute [rw] route_server_id
35322
36136
  # The ID of the route server for which to disable propagation.
35323
36137
  # @return [String]
@@ -38224,6 +39038,51 @@ module Aws::EC2
38224
39038
  include Aws::Structure
38225
39039
  end
38226
39040
 
39041
+ # @!attribute [rw] dry_run
39042
+ # A check for whether you have the required permissions for the action
39043
+ # without actually making the request and provides an error response.
39044
+ # If you have the required permissions, the error response is
39045
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
39046
+ # @return [Boolean]
39047
+ #
39048
+ # @!attribute [rw] ipam_policy_id
39049
+ # The ID of the IPAM policy to enable.
39050
+ # @return [String]
39051
+ #
39052
+ # @!attribute [rw] organization_target_id
39053
+ # The ID of the Amazon Web Services Organizations target for which to
39054
+ # enable the IPAM policy. This parameter is required only when IPAM is
39055
+ # integrated with Amazon Web Services Organizations. When IPAM is not
39056
+ # integrated with Amazon Web Services Organizations, omit this
39057
+ # parameter and the policy will apply to the current account.
39058
+ #
39059
+ # A target can be an individual Amazon Web Services account or an
39060
+ # entity within an Amazon Web Services Organization to which an IPAM
39061
+ # policy can be applied.
39062
+ # @return [String]
39063
+ #
39064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableIpamPolicyRequest AWS API Documentation
39065
+ #
39066
+ class EnableIpamPolicyRequest < Struct.new(
39067
+ :dry_run,
39068
+ :ipam_policy_id,
39069
+ :organization_target_id)
39070
+ SENSITIVE = []
39071
+ include Aws::Structure
39072
+ end
39073
+
39074
+ # @!attribute [rw] ipam_policy_id
39075
+ # The ID of the IPAM policy that was enabled.
39076
+ # @return [String]
39077
+ #
39078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableIpamPolicyResult AWS API Documentation
39079
+ #
39080
+ class EnableIpamPolicyResult < Struct.new(
39081
+ :ipam_policy_id)
39082
+ SENSITIVE = []
39083
+ include Aws::Structure
39084
+ end
39085
+
38227
39086
  # @!attribute [rw] dry_run
38228
39087
  # Checks whether you have the required permissions for the action,
38229
39088
  # without actually making the request, and provides an error response.
@@ -38556,6 +39415,25 @@ module Aws::EC2
38556
39415
  include Aws::Structure
38557
39416
  end
38558
39417
 
39418
+ # Describes the encryption support status for a transit gateway.
39419
+ #
39420
+ # @!attribute [rw] encryption_state
39421
+ # The current encryption state of the resource.
39422
+ # @return [String]
39423
+ #
39424
+ # @!attribute [rw] state_message
39425
+ # A message describing the encryption state.
39426
+ # @return [String]
39427
+ #
39428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EncryptionSupport AWS API Documentation
39429
+ #
39430
+ class EncryptionSupport < Struct.new(
39431
+ :encryption_state,
39432
+ :state_message)
39433
+ SENSITIVE = []
39434
+ include Aws::Structure
39435
+ end
39436
+
38559
39437
  # Describes an EC2 Fleet or Spot Fleet event.
38560
39438
  #
38561
39439
  # @!attribute [rw] event_description
@@ -39491,7 +40369,7 @@ module Aws::EC2
39491
40369
  # in that system.
39492
40370
  #
39493
40371
  # For more information, see [Integrate VPC IPAM with Infoblox
39494
- # infrastructure][1] in the *Amazon VPC IPAM User Guide*..
40372
+ # infrastructure][1] in the *Amazon VPC IPAM User Guide*.
39495
40373
  #
39496
40374
  #
39497
40375
  #
@@ -42179,6 +43057,43 @@ module Aws::EC2
42179
43057
  include Aws::Structure
42180
43058
  end
42181
43059
 
43060
+ # @!attribute [rw] dry_run
43061
+ # A check for whether you have the required permissions for the action
43062
+ # without actually making the request and provides an error response.
43063
+ # If you have the required permissions, the error response is
43064
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
43065
+ # @return [Boolean]
43066
+ #
43067
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEnabledIpamPolicyRequest AWS API Documentation
43068
+ #
43069
+ class GetEnabledIpamPolicyRequest < Struct.new(
43070
+ :dry_run)
43071
+ SENSITIVE = []
43072
+ include Aws::Structure
43073
+ end
43074
+
43075
+ # @!attribute [rw] ipam_policy_enabled
43076
+ # Indicates whether the IPAM policy is enabled.
43077
+ # @return [Boolean]
43078
+ #
43079
+ # @!attribute [rw] ipam_policy_id
43080
+ # The ID of the enabled IPAM policy.
43081
+ # @return [String]
43082
+ #
43083
+ # @!attribute [rw] managed_by
43084
+ # The entity that manages the IPAM policy.
43085
+ # @return [String]
43086
+ #
43087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEnabledIpamPolicyResult AWS API Documentation
43088
+ #
43089
+ class GetEnabledIpamPolicyResult < Struct.new(
43090
+ :ipam_policy_enabled,
43091
+ :ipam_policy_id,
43092
+ :managed_by)
43093
+ SENSITIVE = []
43094
+ include Aws::Structure
43095
+ end
43096
+
42182
43097
  # @!attribute [rw] dry_run
42183
43098
  # Checks whether you have the required permissions for the action,
42184
43099
  # without actually making the request, and provides an error response.
@@ -42863,6 +43778,135 @@ module Aws::EC2
42863
43778
  include Aws::Structure
42864
43779
  end
42865
43780
 
43781
+ # @!attribute [rw] dry_run
43782
+ # A check for whether you have the required permissions for the action
43783
+ # without actually making the request and provides an error response.
43784
+ # If you have the required permissions, the error response is
43785
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
43786
+ # @return [Boolean]
43787
+ #
43788
+ # @!attribute [rw] ipam_policy_id
43789
+ # The ID of the IPAM policy for which to get allocation rules.
43790
+ # @return [String]
43791
+ #
43792
+ # @!attribute [rw] filters
43793
+ # One or more filters for the allocation rules.
43794
+ # @return [Array<Types::Filter>]
43795
+ #
43796
+ # @!attribute [rw] locale
43797
+ # The locale for which to get the allocation rules.
43798
+ # @return [String]
43799
+ #
43800
+ # @!attribute [rw] resource_type
43801
+ # The resource type for which to get the allocation rules.
43802
+ #
43803
+ # The Amazon Web Services service or resource type that can use IP
43804
+ # addresses through IPAM policies. Supported services and resource
43805
+ # types include:
43806
+ #
43807
+ # * Elastic IP addresses
43808
+ #
43809
+ # ^
43810
+ # @return [String]
43811
+ #
43812
+ # @!attribute [rw] max_results
43813
+ # The maximum number of results to return in a single call.
43814
+ # @return [Integer]
43815
+ #
43816
+ # @!attribute [rw] next_token
43817
+ # The token for the next page of results.
43818
+ # @return [String]
43819
+ #
43820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyAllocationRulesRequest AWS API Documentation
43821
+ #
43822
+ class GetIpamPolicyAllocationRulesRequest < Struct.new(
43823
+ :dry_run,
43824
+ :ipam_policy_id,
43825
+ :filters,
43826
+ :locale,
43827
+ :resource_type,
43828
+ :max_results,
43829
+ :next_token)
43830
+ SENSITIVE = []
43831
+ include Aws::Structure
43832
+ end
43833
+
43834
+ # @!attribute [rw] ipam_policy_documents
43835
+ # The IPAM policy documents containing the allocation rules.
43836
+ #
43837
+ # Allocation rules are optional configurations within an IPAM policy
43838
+ # that map Amazon Web Services resource types to specific IPAM pools.
43839
+ # If no rules are defined, the resource types default to using
43840
+ # Amazon-provided IP addresses.
43841
+ # @return [Array<Types::IpamPolicyDocument>]
43842
+ #
43843
+ # @!attribute [rw] next_token
43844
+ # The token to use to retrieve the next page of results.
43845
+ # @return [String]
43846
+ #
43847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyAllocationRulesResult AWS API Documentation
43848
+ #
43849
+ class GetIpamPolicyAllocationRulesResult < Struct.new(
43850
+ :ipam_policy_documents,
43851
+ :next_token)
43852
+ SENSITIVE = []
43853
+ include Aws::Structure
43854
+ end
43855
+
43856
+ # @!attribute [rw] dry_run
43857
+ # A check for whether you have the required permissions for the action
43858
+ # without actually making the request and provides an error response.
43859
+ # If you have the required permissions, the error response is
43860
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
43861
+ # @return [Boolean]
43862
+ #
43863
+ # @!attribute [rw] max_results
43864
+ # The maximum number of results to return in a single call.
43865
+ # @return [Integer]
43866
+ #
43867
+ # @!attribute [rw] next_token
43868
+ # The token for the next page of results.
43869
+ # @return [String]
43870
+ #
43871
+ # @!attribute [rw] ipam_policy_id
43872
+ # The ID of the IPAM policy for which to get Amazon Web Services
43873
+ # Organizations targets.
43874
+ # @return [String]
43875
+ #
43876
+ # @!attribute [rw] filters
43877
+ # One or more filters for the Amazon Web Services Organizations
43878
+ # targets.
43879
+ # @return [Array<Types::Filter>]
43880
+ #
43881
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyOrganizationTargetsRequest AWS API Documentation
43882
+ #
43883
+ class GetIpamPolicyOrganizationTargetsRequest < Struct.new(
43884
+ :dry_run,
43885
+ :max_results,
43886
+ :next_token,
43887
+ :ipam_policy_id,
43888
+ :filters)
43889
+ SENSITIVE = []
43890
+ include Aws::Structure
43891
+ end
43892
+
43893
+ # @!attribute [rw] organization_targets
43894
+ # The Amazon Web Services Organizations targets for an IPAM policy.
43895
+ # @return [Array<Types::IpamPolicyOrganizationTarget>]
43896
+ #
43897
+ # @!attribute [rw] next_token
43898
+ # The token to use to retrieve the next page of results.
43899
+ # @return [String]
43900
+ #
43901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetIpamPolicyOrganizationTargetsResult AWS API Documentation
43902
+ #
43903
+ class GetIpamPolicyOrganizationTargetsResult < Struct.new(
43904
+ :organization_targets,
43905
+ :next_token)
43906
+ SENSITIVE = []
43907
+ include Aws::Structure
43908
+ end
43909
+
42866
43910
  # @!attribute [rw] dry_run
42867
43911
  # A check for whether you have the required permissions for the action
42868
43912
  # without actually making the request and provides an error response.
@@ -44162,6 +45206,63 @@ module Aws::EC2
44162
45206
  include Aws::Structure
44163
45207
  end
44164
45208
 
45209
+ # @!attribute [rw] transit_gateway_metering_policy_id
45210
+ # The ID of the transit gateway metering policy to retrieve entries
45211
+ # for.
45212
+ # @return [String]
45213
+ #
45214
+ # @!attribute [rw] filters
45215
+ # One or more filters to apply when retrieving metering policy
45216
+ # entries.
45217
+ # @return [Array<Types::Filter>]
45218
+ #
45219
+ # @!attribute [rw] max_results
45220
+ # The maximum number of results to return with a single call. To
45221
+ # retrieve the remaining results, make another call with the returned
45222
+ # `nextToken` value.
45223
+ # @return [Integer]
45224
+ #
45225
+ # @!attribute [rw] next_token
45226
+ # The token for the next page of results.
45227
+ # @return [String]
45228
+ #
45229
+ # @!attribute [rw] dry_run
45230
+ # Checks whether you have the required permissions for the action,
45231
+ # without actually making the request, and provides an error response.
45232
+ # If you have the required permissions, the error response is
45233
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45234
+ # @return [Boolean]
45235
+ #
45236
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMeteringPolicyEntriesRequest AWS API Documentation
45237
+ #
45238
+ class GetTransitGatewayMeteringPolicyEntriesRequest < Struct.new(
45239
+ :transit_gateway_metering_policy_id,
45240
+ :filters,
45241
+ :max_results,
45242
+ :next_token,
45243
+ :dry_run)
45244
+ SENSITIVE = []
45245
+ include Aws::Structure
45246
+ end
45247
+
45248
+ # @!attribute [rw] transit_gateway_metering_policy_entries
45249
+ # Information about the transit gateway metering policy entries.
45250
+ # @return [Array<Types::TransitGatewayMeteringPolicyEntry>]
45251
+ #
45252
+ # @!attribute [rw] next_token
45253
+ # The token to use to retrieve the next page of results. This value is
45254
+ # `null` when there are no more results to return.
45255
+ # @return [String]
45256
+ #
45257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMeteringPolicyEntriesResult AWS API Documentation
45258
+ #
45259
+ class GetTransitGatewayMeteringPolicyEntriesResult < Struct.new(
45260
+ :transit_gateway_metering_policy_entries,
45261
+ :next_token)
45262
+ SENSITIVE = []
45263
+ include Aws::Structure
45264
+ end
45265
+
44165
45266
  # @!attribute [rw] transit_gateway_multicast_domain_id
44166
45267
  # The ID of the transit gateway multicast domain.
44167
45268
  # @return [String]
@@ -44656,6 +45757,64 @@ module Aws::EC2
44656
45757
  include Aws::Structure
44657
45758
  end
44658
45759
 
45760
+ # @!attribute [rw] vpc_id
45761
+ # The ID of the VPC to check for resources blocking encryption
45762
+ # enforcement.
45763
+ # @return [String]
45764
+ #
45765
+ # @!attribute [rw] max_results
45766
+ # The maximum number of items to return for this request. To get the
45767
+ # next page of items, make another request with the token returned in
45768
+ # the output. For more information, see [Pagination][1].
45769
+ #
45770
+ #
45771
+ #
45772
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
45773
+ # @return [Integer]
45774
+ #
45775
+ # @!attribute [rw] next_token
45776
+ # The token returned from a previous paginated request. Pagination
45777
+ # continues from the end of the items returned by the previous
45778
+ # request.
45779
+ # @return [String]
45780
+ #
45781
+ # @!attribute [rw] dry_run
45782
+ # Checks whether you have the required permissions for the action,
45783
+ # without actually making the request, and provides an error response.
45784
+ # If you have the required permissions, the error response is
45785
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45786
+ # @return [Boolean]
45787
+ #
45788
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetVpcResourcesBlockingEncryptionEnforcementRequest AWS API Documentation
45789
+ #
45790
+ class GetVpcResourcesBlockingEncryptionEnforcementRequest < Struct.new(
45791
+ :vpc_id,
45792
+ :max_results,
45793
+ :next_token,
45794
+ :dry_run)
45795
+ SENSITIVE = []
45796
+ include Aws::Structure
45797
+ end
45798
+
45799
+ # @!attribute [rw] non_compliant_resources
45800
+ # Information about resources that are blocking encryption
45801
+ # enforcement.
45802
+ # @return [Array<Types::VpcEncryptionNonCompliantResource>]
45803
+ #
45804
+ # @!attribute [rw] next_token
45805
+ # The token to include in another request to get the next page of
45806
+ # items. This value is `null` when there are no more items to return.
45807
+ # @return [String]
45808
+ #
45809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetVpcResourcesBlockingEncryptionEnforcementResult AWS API Documentation
45810
+ #
45811
+ class GetVpcResourcesBlockingEncryptionEnforcementResult < Struct.new(
45812
+ :non_compliant_resources,
45813
+ :next_token)
45814
+ SENSITIVE = []
45815
+ include Aws::Structure
45816
+ end
45817
+
44659
45818
  # @!attribute [rw] vpn_connection_id
44660
45819
  # The `VpnConnectionId` specifies the Site-to-Site VPN connection used
44661
45820
  # for the sample configuration.
@@ -52031,6 +53190,166 @@ module Aws::EC2
52031
53190
  include Aws::Structure
52032
53191
  end
52033
53192
 
53193
+ # Information about an IPAM policy.
53194
+ #
53195
+ # An IPAM policy is a set of rules that define how public IPv4 addresses
53196
+ # from IPAM pools are allocated to Amazon Web Services resources. Each
53197
+ # rule maps an Amazon Web Services service to IPAM pools that the
53198
+ # service will use to get IP addresses. A single policy can have
53199
+ # multiple rules and be applied to multiple Amazon Web Services Regions.
53200
+ # If the IPAM pool run out of addresses then the services fallback to
53201
+ # Amazon-provided IP addresses. A policy can be applied to an individual
53202
+ # Amazon Web Services account or an entity within Amazon Web Services
53203
+ # Organizations.
53204
+ #
53205
+ # @!attribute [rw] owner_id
53206
+ # The account ID that owns the IPAM policy.
53207
+ # @return [String]
53208
+ #
53209
+ # @!attribute [rw] ipam_policy_id
53210
+ # The ID of the IPAM policy.
53211
+ # @return [String]
53212
+ #
53213
+ # @!attribute [rw] ipam_policy_arn
53214
+ # The Amazon Resource Name (ARN) of the IPAM policy.
53215
+ # @return [String]
53216
+ #
53217
+ # @!attribute [rw] ipam_policy_region
53218
+ # The Region of the IPAM policy.
53219
+ # @return [String]
53220
+ #
53221
+ # @!attribute [rw] state
53222
+ # The state of the IPAM policy.
53223
+ # @return [String]
53224
+ #
53225
+ # @!attribute [rw] state_message
53226
+ # A message about the state of the IPAM policy.
53227
+ # @return [String]
53228
+ #
53229
+ # @!attribute [rw] tags
53230
+ # The tags assigned to the IPAM policy.
53231
+ # @return [Array<Types::Tag>]
53232
+ #
53233
+ # @!attribute [rw] ipam_id
53234
+ # The ID of the IPAM this policy belongs to.
53235
+ # @return [String]
53236
+ #
53237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicy AWS API Documentation
53238
+ #
53239
+ class IpamPolicy < Struct.new(
53240
+ :owner_id,
53241
+ :ipam_policy_id,
53242
+ :ipam_policy_arn,
53243
+ :ipam_policy_region,
53244
+ :state,
53245
+ :state_message,
53246
+ :tags,
53247
+ :ipam_id)
53248
+ SENSITIVE = []
53249
+ include Aws::Structure
53250
+ end
53251
+
53252
+ # Information about an IPAM policy allocation rule.
53253
+ #
53254
+ # Allocation rules are optional configurations within an IPAM policy
53255
+ # that map Amazon Web Services resource types to specific IPAM pools. If
53256
+ # no rules are defined, the resource types default to using
53257
+ # Amazon-provided IP addresses.
53258
+ #
53259
+ # @!attribute [rw] source_ipam_pool_id
53260
+ # The ID of the source IPAM pool for the allocation rule.
53261
+ #
53262
+ # An IPAM pool is a collection of IP addresses in IPAM that can be
53263
+ # allocated to Amazon Web Services resources.
53264
+ # @return [String]
53265
+ #
53266
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyAllocationRule AWS API Documentation
53267
+ #
53268
+ class IpamPolicyAllocationRule < Struct.new(
53269
+ :source_ipam_pool_id)
53270
+ SENSITIVE = []
53271
+ include Aws::Structure
53272
+ end
53273
+
53274
+ # Information about a requested IPAM policy allocation rule.
53275
+ #
53276
+ # Allocation rules are optional configurations within an IPAM policy
53277
+ # that map Amazon Web Services resource types to specific IPAM pools. If
53278
+ # no rules are defined, the resource types default to using
53279
+ # Amazon-provided IP addresses.
53280
+ #
53281
+ # @!attribute [rw] source_ipam_pool_id
53282
+ # The ID of the source IPAM pool for the requested allocation rule.
53283
+ #
53284
+ # An IPAM pool is a collection of IP addresses in IPAM that can be
53285
+ # allocated to Amazon Web Services resources.
53286
+ # @return [String]
53287
+ #
53288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyAllocationRuleRequest AWS API Documentation
53289
+ #
53290
+ class IpamPolicyAllocationRuleRequest < Struct.new(
53291
+ :source_ipam_pool_id)
53292
+ SENSITIVE = []
53293
+ include Aws::Structure
53294
+ end
53295
+
53296
+ # Information about an IPAM policy.
53297
+ #
53298
+ # @!attribute [rw] ipam_policy_id
53299
+ # The ID of the IPAM policy.
53300
+ # @return [String]
53301
+ #
53302
+ # @!attribute [rw] locale
53303
+ # The locale of the IPAM policy document.
53304
+ # @return [String]
53305
+ #
53306
+ # @!attribute [rw] resource_type
53307
+ # The resource type of the IPAM policy document.
53308
+ #
53309
+ # The Amazon Web Services service or resource type that can use IP
53310
+ # addresses through IPAM policies. Supported services and resource
53311
+ # types include:
53312
+ #
53313
+ # * Elastic IP addresses
53314
+ #
53315
+ # ^
53316
+ # @return [String]
53317
+ #
53318
+ # @!attribute [rw] allocation_rules
53319
+ # The allocation rules in the IPAM policy document.
53320
+ #
53321
+ # Allocation rules are optional configurations within an IPAM policy
53322
+ # that map Amazon Web Services resource types to specific IPAM pools.
53323
+ # If no rules are defined, the resource types default to using
53324
+ # Amazon-provided IP addresses.
53325
+ # @return [Array<Types::IpamPolicyAllocationRule>]
53326
+ #
53327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyDocument AWS API Documentation
53328
+ #
53329
+ class IpamPolicyDocument < Struct.new(
53330
+ :ipam_policy_id,
53331
+ :locale,
53332
+ :resource_type,
53333
+ :allocation_rules)
53334
+ SENSITIVE = []
53335
+ include Aws::Structure
53336
+ end
53337
+
53338
+ # The Amazon Web Services Organizations target for an IPAM policy.
53339
+ #
53340
+ # @!attribute [rw] organization_target_id
53341
+ # The ID of a Amazon Web Services Organizations target for an IPAM
53342
+ # policy.
53343
+ # @return [String]
53344
+ #
53345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamPolicyOrganizationTarget AWS API Documentation
53346
+ #
53347
+ class IpamPolicyOrganizationTarget < Struct.new(
53348
+ :organization_target_id)
53349
+ SENSITIVE = []
53350
+ include Aws::Structure
53351
+ end
53352
+
52034
53353
  # In IPAM, a pool is a collection of contiguous IP addresses CIDRs.
52035
53354
  # Pools enable you to organize your IP addresses according to your
52036
53355
  # routing and security needs. For example, if you have separate routing
@@ -56092,6 +57411,65 @@ module Aws::EC2
56092
57411
  include Aws::Structure
56093
57412
  end
56094
57413
 
57414
+ # @!attribute [rw] volume_ids
57415
+ # The IDs of the volumes to list. Omit this parameter to list all of
57416
+ # the volumes that are in the Recycle Bin.
57417
+ # @return [Array<String>]
57418
+ #
57419
+ # @!attribute [rw] dry_run
57420
+ # Checks whether you have the required permissions for the action,
57421
+ # without actually making the request, and provides an error response.
57422
+ # If you have the required permissions, the error response is
57423
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
57424
+ # @return [Boolean]
57425
+ #
57426
+ # @!attribute [rw] max_results
57427
+ # The maximum number of items to return for this request. To get the
57428
+ # next page of items, make another request with the token returned in
57429
+ # the output. For more information, see [Pagination][1].
57430
+ #
57431
+ # Valid range: 5 - 500
57432
+ #
57433
+ #
57434
+ #
57435
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
57436
+ # @return [Integer]
57437
+ #
57438
+ # @!attribute [rw] next_token
57439
+ # The token returned from a previous paginated request. Pagination
57440
+ # continues from the end of the items returned by the previous
57441
+ # request.
57442
+ # @return [String]
57443
+ #
57444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ListVolumesInRecycleBinRequest AWS API Documentation
57445
+ #
57446
+ class ListVolumesInRecycleBinRequest < Struct.new(
57447
+ :volume_ids,
57448
+ :dry_run,
57449
+ :max_results,
57450
+ :next_token)
57451
+ SENSITIVE = []
57452
+ include Aws::Structure
57453
+ end
57454
+
57455
+ # @!attribute [rw] volumes
57456
+ # Information about the volumes.
57457
+ # @return [Array<Types::VolumeRecycleBinInfo>]
57458
+ #
57459
+ # @!attribute [rw] next_token
57460
+ # The token to include in another request to get the next page of
57461
+ # items. This value is `null` when there are no more items to return.
57462
+ # @return [String]
57463
+ #
57464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ListVolumesInRecycleBinResult AWS API Documentation
57465
+ #
57466
+ class ListVolumesInRecycleBinResult < Struct.new(
57467
+ :volumes,
57468
+ :next_token)
57469
+ SENSITIVE = []
57470
+ include Aws::Structure
57471
+ end
57472
+
56095
57473
  # Describes the Classic Load Balancers and target groups to attach to a
56096
57474
  # Spot Fleet request.
56097
57475
  #
@@ -59123,6 +60501,66 @@ module Aws::EC2
59123
60501
  include Aws::Structure
59124
60502
  end
59125
60503
 
60504
+ # @!attribute [rw] dry_run
60505
+ # A check for whether you have the required permissions for the action
60506
+ # without actually making the request and provides an error response.
60507
+ # If you have the required permissions, the error response is
60508
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
60509
+ # @return [Boolean]
60510
+ #
60511
+ # @!attribute [rw] ipam_policy_id
60512
+ # The ID of the IPAM policy whose allocation rules you want to modify.
60513
+ # @return [String]
60514
+ #
60515
+ # @!attribute [rw] locale
60516
+ # The locale for which to modify the allocation rules.
60517
+ # @return [String]
60518
+ #
60519
+ # @!attribute [rw] resource_type
60520
+ # The resource type for which to modify the allocation rules.
60521
+ #
60522
+ # The Amazon Web Services service or resource type that can use IP
60523
+ # addresses through IPAM policies. Supported services and resource
60524
+ # types include:
60525
+ #
60526
+ # * Elastic IP addresses
60527
+ #
60528
+ # ^
60529
+ # @return [String]
60530
+ #
60531
+ # @!attribute [rw] allocation_rules
60532
+ # The new allocation rules to apply to the IPAM policy.
60533
+ #
60534
+ # Allocation rules are optional configurations within an IPAM policy
60535
+ # that map Amazon Web Services resource types to specific IPAM pools.
60536
+ # If no rules are defined, the resource types default to using
60537
+ # Amazon-provided IP addresses.
60538
+ # @return [Array<Types::IpamPolicyAllocationRuleRequest>]
60539
+ #
60540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamPolicyAllocationRulesRequest AWS API Documentation
60541
+ #
60542
+ class ModifyIpamPolicyAllocationRulesRequest < Struct.new(
60543
+ :dry_run,
60544
+ :ipam_policy_id,
60545
+ :locale,
60546
+ :resource_type,
60547
+ :allocation_rules)
60548
+ SENSITIVE = []
60549
+ include Aws::Structure
60550
+ end
60551
+
60552
+ # @!attribute [rw] ipam_policy_document
60553
+ # The modified IPAM policy containing the updated allocation rules.
60554
+ # @return [Types::IpamPolicyDocument]
60555
+ #
60556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamPolicyAllocationRulesResult AWS API Documentation
60557
+ #
60558
+ class ModifyIpamPolicyAllocationRulesResult < Struct.new(
60559
+ :ipam_policy_document)
60560
+ SENSITIVE = []
60561
+ include Aws::Structure
60562
+ end
60563
+
59126
60564
  # @!attribute [rw] dry_run
59127
60565
  # A check for whether you have the required permissions for the action
59128
60566
  # without actually making the request and provides an error response.
@@ -60673,6 +62111,48 @@ module Aws::EC2
60673
62111
  include Aws::Structure
60674
62112
  end
60675
62113
 
62114
+ # @!attribute [rw] transit_gateway_metering_policy_id
62115
+ # The ID of the transit gateway metering policy to modify.
62116
+ # @return [String]
62117
+ #
62118
+ # @!attribute [rw] add_middlebox_attachment_ids
62119
+ # The IDs of middlebox attachments to add to the metering policy.
62120
+ # @return [Array<String>]
62121
+ #
62122
+ # @!attribute [rw] remove_middlebox_attachment_ids
62123
+ # The IDs of middlebox attachments to remove from the metering policy.
62124
+ # @return [Array<String>]
62125
+ #
62126
+ # @!attribute [rw] dry_run
62127
+ # Checks whether you have the required permissions for the action,
62128
+ # without actually making the request, and provides an error response.
62129
+ # If you have the required permissions, the error response is
62130
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
62131
+ # @return [Boolean]
62132
+ #
62133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayMeteringPolicyRequest AWS API Documentation
62134
+ #
62135
+ class ModifyTransitGatewayMeteringPolicyRequest < Struct.new(
62136
+ :transit_gateway_metering_policy_id,
62137
+ :add_middlebox_attachment_ids,
62138
+ :remove_middlebox_attachment_ids,
62139
+ :dry_run)
62140
+ SENSITIVE = []
62141
+ include Aws::Structure
62142
+ end
62143
+
62144
+ # @!attribute [rw] transit_gateway_metering_policy
62145
+ # Information about the modified transit gateway metering policy.
62146
+ # @return [Types::TransitGatewayMeteringPolicy]
62147
+ #
62148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayMeteringPolicyResult AWS API Documentation
62149
+ #
62150
+ class ModifyTransitGatewayMeteringPolicyResult < Struct.new(
62151
+ :transit_gateway_metering_policy)
62152
+ SENSITIVE = []
62153
+ include Aws::Structure
62154
+ end
62155
+
60676
62156
  # The transit gateway options.
60677
62157
  #
60678
62158
  # @!attribute [rw] add_transit_gateway_cidr_blocks
@@ -60753,6 +62233,10 @@ module Aws::EC2
60753
62233
  # prior to modifying the ASN on the transit gateway.
60754
62234
  # @return [Integer]
60755
62235
  #
62236
+ # @!attribute [rw] encryption_support
62237
+ # Enable or disable encryption support for VPC Encryption Control.
62238
+ # @return [String]
62239
+ #
60756
62240
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayOptions AWS API Documentation
60757
62241
  #
60758
62242
  class ModifyTransitGatewayOptions < Struct.new(
@@ -60766,7 +62250,8 @@ module Aws::EC2
60766
62250
  :association_default_route_table_id,
60767
62251
  :default_route_table_propagation,
60768
62252
  :propagation_default_route_table_id,
60769
- :amazon_side_asn)
62253
+ :amazon_side_asn,
62254
+ :encryption_support)
60770
62255
  SENSITIVE = []
60771
62256
  include Aws::Structure
60772
62257
  end
@@ -61906,6 +63391,91 @@ module Aws::EC2
61906
63391
  include Aws::Structure
61907
63392
  end
61908
63393
 
63394
+ # @!attribute [rw] dry_run
63395
+ # Checks whether you have the required permissions for the action,
63396
+ # without actually making the request, and provides an error response.
63397
+ # If you have the required permissions, the error response is
63398
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
63399
+ # @return [Boolean]
63400
+ #
63401
+ # @!attribute [rw] vpc_encryption_control_id
63402
+ # The ID of the VPC Encryption Control resource to modify.
63403
+ # @return [String]
63404
+ #
63405
+ # @!attribute [rw] mode
63406
+ # The encryption mode for the VPC Encryption Control configuration.
63407
+ # @return [String]
63408
+ #
63409
+ # @!attribute [rw] internet_gateway_exclusion
63410
+ # Specifies whether to exclude internet gateway traffic from
63411
+ # encryption enforcement.
63412
+ # @return [String]
63413
+ #
63414
+ # @!attribute [rw] egress_only_internet_gateway_exclusion
63415
+ # Specifies whether to exclude egress-only internet gateway traffic
63416
+ # from encryption enforcement.
63417
+ # @return [String]
63418
+ #
63419
+ # @!attribute [rw] nat_gateway_exclusion
63420
+ # Specifies whether to exclude NAT gateway traffic from encryption
63421
+ # enforcement.
63422
+ # @return [String]
63423
+ #
63424
+ # @!attribute [rw] virtual_private_gateway_exclusion
63425
+ # Specifies whether to exclude virtual private gateway traffic from
63426
+ # encryption enforcement.
63427
+ # @return [String]
63428
+ #
63429
+ # @!attribute [rw] vpc_peering_exclusion
63430
+ # Specifies whether to exclude VPC peering connection traffic from
63431
+ # encryption enforcement.
63432
+ # @return [String]
63433
+ #
63434
+ # @!attribute [rw] lambda_exclusion
63435
+ # Specifies whether to exclude Lambda function traffic from encryption
63436
+ # enforcement.
63437
+ # @return [String]
63438
+ #
63439
+ # @!attribute [rw] vpc_lattice_exclusion
63440
+ # Specifies whether to exclude VPC Lattice traffic from encryption
63441
+ # enforcement.
63442
+ # @return [String]
63443
+ #
63444
+ # @!attribute [rw] elastic_file_system_exclusion
63445
+ # Specifies whether to exclude Elastic File System traffic from
63446
+ # encryption enforcement.
63447
+ # @return [String]
63448
+ #
63449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEncryptionControlRequest AWS API Documentation
63450
+ #
63451
+ class ModifyVpcEncryptionControlRequest < Struct.new(
63452
+ :dry_run,
63453
+ :vpc_encryption_control_id,
63454
+ :mode,
63455
+ :internet_gateway_exclusion,
63456
+ :egress_only_internet_gateway_exclusion,
63457
+ :nat_gateway_exclusion,
63458
+ :virtual_private_gateway_exclusion,
63459
+ :vpc_peering_exclusion,
63460
+ :lambda_exclusion,
63461
+ :vpc_lattice_exclusion,
63462
+ :elastic_file_system_exclusion)
63463
+ SENSITIVE = []
63464
+ include Aws::Structure
63465
+ end
63466
+
63467
+ # @!attribute [rw] vpc_encryption_control
63468
+ # Information about the VPC Encryption Control configuration.
63469
+ # @return [Types::VpcEncryptionControl]
63470
+ #
63471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEncryptionControlResult AWS API Documentation
63472
+ #
63473
+ class ModifyVpcEncryptionControlResult < Struct.new(
63474
+ :vpc_encryption_control)
63475
+ SENSITIVE = []
63476
+ include Aws::Structure
63477
+ end
63478
+
61909
63479
  # @!attribute [rw] dry_run
61910
63480
  # Checks whether you have the required permissions for the action,
61911
63481
  # without actually making the request, and provides an error response.
@@ -63054,6 +64624,64 @@ module Aws::EC2
63054
64624
  # connectivity.
63055
64625
  # @return [String]
63056
64626
  #
64627
+ # @!attribute [rw] availability_mode
64628
+ # Indicates whether this is a zonal (single-AZ) or regional (multi-AZ)
64629
+ # NAT gateway.
64630
+ #
64631
+ # A zonal NAT gateway is a NAT Gateway that provides redundancy and
64632
+ # scalability within a single availability zone. A regional NAT
64633
+ # gateway is a single NAT Gateway that works across multiple
64634
+ # availability zones (AZs) in your VPC, providing redundancy,
64635
+ # scalability and availability across all the AZs in a Region.
64636
+ #
64637
+ # For more information, see [Regional NAT gateways for automatic
64638
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
64639
+ #
64640
+ #
64641
+ #
64642
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
64643
+ # @return [String]
64644
+ #
64645
+ # @!attribute [rw] auto_scaling_ips
64646
+ # For regional NAT gateways only: Indicates whether Amazon Web
64647
+ # Services automatically allocates additional Elastic IP addresses
64648
+ # (EIPs) in an AZ when the NAT gateway needs more ports due to
64649
+ # increased concurrent connections to a single destination from that
64650
+ # AZ.
64651
+ #
64652
+ # For more information, see [Regional NAT gateways for automatic
64653
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
64654
+ #
64655
+ #
64656
+ #
64657
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
64658
+ # @return [String]
64659
+ #
64660
+ # @!attribute [rw] auto_provision_zones
64661
+ # For regional NAT gateways only: Indicates whether Amazon Web
64662
+ # Services automatically manages AZ coverage. When enabled, the NAT
64663
+ # gateway associates EIPs in all AZs where your VPC has subnets to
64664
+ # handle outbound NAT traffic, expands to new AZs when you create
64665
+ # subnets there, and retracts from AZs where you've removed all
64666
+ # subnets. When disabled, you must manually manage which AZs the NAT
64667
+ # gateway supports and their corresponding EIPs.
64668
+ #
64669
+ # A regional NAT gateway is a single NAT Gateway that works across
64670
+ # multiple availability zones (AZs) in your VPC, providing redundancy,
64671
+ # scalability and availability across all the AZs in a Region.
64672
+ #
64673
+ # For more information, see [Regional NAT gateways for automatic
64674
+ # multi-AZ expansion][1] in the *Amazon VPC User Guide*.
64675
+ #
64676
+ #
64677
+ #
64678
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
64679
+ # @return [String]
64680
+ #
64681
+ # @!attribute [rw] route_table_id
64682
+ # For regional NAT gateways only, this is the ID of the NAT gateway.
64683
+ # @return [String]
64684
+ #
63057
64685
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway AWS API Documentation
63058
64686
  #
63059
64687
  class NatGateway < Struct.new(
@@ -63068,7 +64696,11 @@ module Aws::EC2
63068
64696
  :subnet_id,
63069
64697
  :vpc_id,
63070
64698
  :tags,
63071
- :connectivity_type)
64699
+ :connectivity_type,
64700
+ :availability_mode,
64701
+ :auto_scaling_ips,
64702
+ :auto_provision_zones,
64703
+ :route_table_id)
63072
64704
  SENSITIVE = []
63073
64705
  include Aws::Structure
63074
64706
  end
@@ -63111,6 +64743,18 @@ module Aws::EC2
63111
64743
  # The address status.
63112
64744
  # @return [String]
63113
64745
  #
64746
+ # @!attribute [rw] availability_zone
64747
+ # The Availability Zone where this Elastic IP address (EIP) is being
64748
+ # used to handle outbound NAT traffic.
64749
+ # @return [String]
64750
+ #
64751
+ # @!attribute [rw] availability_zone_id
64752
+ # The ID of the Availability Zone where this Elastic IP address (EIP)
64753
+ # is being used to handle outbound NAT traffic. Use this instead of
64754
+ # AvailabilityZone for consistent identification of AZs across Amazon
64755
+ # Web Services Regions.
64756
+ # @return [String]
64757
+ #
63114
64758
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress AWS API Documentation
63115
64759
  #
63116
64760
  class NatGatewayAddress < Struct.new(
@@ -63121,7 +64765,9 @@ module Aws::EC2
63121
64765
  :association_id,
63122
64766
  :is_primary,
63123
64767
  :failure_message,
63124
- :status)
64768
+ :status,
64769
+ :availability_zone,
64770
+ :availability_zone_id)
63125
64771
  SENSITIVE = []
63126
64772
  include Aws::Structure
63127
64773
  end
@@ -70649,6 +72295,39 @@ module Aws::EC2
70649
72295
  include Aws::Structure
70650
72296
  end
70651
72297
 
72298
+ # @!attribute [rw] volume_id
72299
+ # The ID of the volume to restore.
72300
+ # @return [String]
72301
+ #
72302
+ # @!attribute [rw] dry_run
72303
+ # Checks whether you have the required permissions for the action,
72304
+ # without actually making the request, and provides an error response.
72305
+ # If you have the required permissions, the error response is
72306
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
72307
+ # @return [Boolean]
72308
+ #
72309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreVolumeFromRecycleBinRequest AWS API Documentation
72310
+ #
72311
+ class RestoreVolumeFromRecycleBinRequest < Struct.new(
72312
+ :volume_id,
72313
+ :dry_run)
72314
+ SENSITIVE = []
72315
+ include Aws::Structure
72316
+ end
72317
+
72318
+ # @!attribute [rw] return
72319
+ # Returns `true` if the request succeeds; otherwise, it returns an
72320
+ # error.
72321
+ # @return [Boolean]
72322
+ #
72323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreVolumeFromRecycleBinResult AWS API Documentation
72324
+ #
72325
+ class RestoreVolumeFromRecycleBinResult < Struct.new(
72326
+ :return)
72327
+ SENSITIVE = []
72328
+ include Aws::Structure
72329
+ end
72330
+
70652
72331
  # @!attribute [rw] client_vpn_endpoint_id
70653
72332
  # The ID of the Client VPN endpoint with which the authorization rule
70654
72333
  # is associated.
@@ -78096,6 +79775,146 @@ module Aws::EC2
78096
79775
  include Aws::Structure
78097
79776
  end
78098
79777
 
79778
+ # Describes a transit gateway metering policy.
79779
+ #
79780
+ # @!attribute [rw] transit_gateway_metering_policy_id
79781
+ # The ID of the transit gateway metering policy.
79782
+ # @return [String]
79783
+ #
79784
+ # @!attribute [rw] transit_gateway_id
79785
+ # The ID of the transit gateway associated with the metering policy.
79786
+ # @return [String]
79787
+ #
79788
+ # @!attribute [rw] middlebox_attachment_ids
79789
+ # The IDs of the middlebox attachments associated with the metering
79790
+ # policy.
79791
+ # @return [Array<String>]
79792
+ #
79793
+ # @!attribute [rw] state
79794
+ # The state of the transit gateway metering policy.
79795
+ # @return [String]
79796
+ #
79797
+ # @!attribute [rw] update_effective_at
79798
+ # The date and time when the metering policy update becomes effective.
79799
+ # @return [Time]
79800
+ #
79801
+ # @!attribute [rw] tags
79802
+ # The tags assigned to the transit gateway metering policy.
79803
+ # @return [Array<Types::Tag>]
79804
+ #
79805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicy AWS API Documentation
79806
+ #
79807
+ class TransitGatewayMeteringPolicy < Struct.new(
79808
+ :transit_gateway_metering_policy_id,
79809
+ :transit_gateway_id,
79810
+ :middlebox_attachment_ids,
79811
+ :state,
79812
+ :update_effective_at,
79813
+ :tags)
79814
+ SENSITIVE = []
79815
+ include Aws::Structure
79816
+ end
79817
+
79818
+ # Describes an entry in a transit gateway metering policy.
79819
+ #
79820
+ # @!attribute [rw] policy_rule_number
79821
+ # The rule number of the metering policy entry.
79822
+ # @return [String]
79823
+ #
79824
+ # @!attribute [rw] metered_account
79825
+ # The Amazon Web Services account ID to which the metered traffic is
79826
+ # attributed.
79827
+ # @return [String]
79828
+ #
79829
+ # @!attribute [rw] state
79830
+ # The state of the metering policy entry.
79831
+ # @return [String]
79832
+ #
79833
+ # @!attribute [rw] updated_at
79834
+ # The date and time when the metering policy entry was last updated.
79835
+ # @return [Time]
79836
+ #
79837
+ # @!attribute [rw] update_effective_at
79838
+ # The date and time when the metering policy entry update becomes
79839
+ # effective.
79840
+ # @return [Time]
79841
+ #
79842
+ # @!attribute [rw] metering_policy_rule
79843
+ # The metering policy rule that defines traffic matching criteria.
79844
+ # @return [Types::TransitGatewayMeteringPolicyRule]
79845
+ #
79846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicyEntry AWS API Documentation
79847
+ #
79848
+ class TransitGatewayMeteringPolicyEntry < Struct.new(
79849
+ :policy_rule_number,
79850
+ :metered_account,
79851
+ :state,
79852
+ :updated_at,
79853
+ :update_effective_at,
79854
+ :metering_policy_rule)
79855
+ SENSITIVE = []
79856
+ include Aws::Structure
79857
+ end
79858
+
79859
+ # Describes the traffic matching criteria for a transit gateway metering
79860
+ # policy rule.
79861
+ #
79862
+ # @!attribute [rw] source_transit_gateway_attachment_id
79863
+ # The ID of the source transit gateway attachment.
79864
+ # @return [String]
79865
+ #
79866
+ # @!attribute [rw] source_transit_gateway_attachment_type
79867
+ # The type of the source transit gateway attachment. Note that the
79868
+ # `tgw-peering` resource type has been deprecated. To configure
79869
+ # metering policies for Connect, use the transport attachment type.
79870
+ # @return [String]
79871
+ #
79872
+ # @!attribute [rw] source_cidr_block
79873
+ # The source CIDR block for the rule.
79874
+ # @return [String]
79875
+ #
79876
+ # @!attribute [rw] source_port_range
79877
+ # The source port range for the rule.
79878
+ # @return [String]
79879
+ #
79880
+ # @!attribute [rw] destination_transit_gateway_attachment_id
79881
+ # The ID of the destination transit gateway attachment.
79882
+ # @return [String]
79883
+ #
79884
+ # @!attribute [rw] destination_transit_gateway_attachment_type
79885
+ # The type of the destination transit gateway attachment. Note that
79886
+ # the `tgw-peering` resource type has been deprecated. To configure
79887
+ # metering policies for Connect, use the transport attachment type.
79888
+ # @return [String]
79889
+ #
79890
+ # @!attribute [rw] destination_cidr_block
79891
+ # The destination CIDR block for the rule.
79892
+ # @return [String]
79893
+ #
79894
+ # @!attribute [rw] destination_port_range
79895
+ # The destination port range for the rule.
79896
+ # @return [String]
79897
+ #
79898
+ # @!attribute [rw] protocol
79899
+ # The protocol for the rule (1, 6, 17, etc.).
79900
+ # @return [String]
79901
+ #
79902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicyRule AWS API Documentation
79903
+ #
79904
+ class TransitGatewayMeteringPolicyRule < Struct.new(
79905
+ :source_transit_gateway_attachment_id,
79906
+ :source_transit_gateway_attachment_type,
79907
+ :source_cidr_block,
79908
+ :source_port_range,
79909
+ :destination_transit_gateway_attachment_id,
79910
+ :destination_transit_gateway_attachment_type,
79911
+ :destination_cidr_block,
79912
+ :destination_port_range,
79913
+ :protocol)
79914
+ SENSITIVE = []
79915
+ include Aws::Structure
79916
+ end
79917
+
78099
79918
  # Describes the deregistered transit gateway multicast group members.
78100
79919
  #
78101
79920
  # @!attribute [rw] transit_gateway_multicast_domain_id
@@ -78473,6 +80292,10 @@ module Aws::EC2
78473
80292
  # Indicates whether multicast is enabled on the transit gateway
78474
80293
  # @return [String]
78475
80294
  #
80295
+ # @!attribute [rw] encryption_support
80296
+ # Defines if the Transit Gateway supports VPC Encryption Control.
80297
+ # @return [Types::EncryptionSupport]
80298
+ #
78476
80299
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayOptions AWS API Documentation
78477
80300
  #
78478
80301
  class TransitGatewayOptions < Struct.new(
@@ -78486,7 +80309,8 @@ module Aws::EC2
78486
80309
  :vpn_ecmp_support,
78487
80310
  :dns_support,
78488
80311
  :security_group_referencing_support,
78489
- :multicast_support)
80312
+ :multicast_support,
80313
+ :encryption_support)
78490
80314
  SENSITIVE = []
78491
80315
  include Aws::Structure
78492
80316
  end
@@ -81413,6 +83237,97 @@ module Aws::EC2
81413
83237
  include Aws::Structure
81414
83238
  end
81415
83239
 
83240
+ # Information about a volume that is currently in the Recycle Bin.
83241
+ #
83242
+ # @!attribute [rw] volume_id
83243
+ # The ID of the volume.
83244
+ # @return [String]
83245
+ #
83246
+ # @!attribute [rw] volume_type
83247
+ # The volume type.
83248
+ # @return [String]
83249
+ #
83250
+ # @!attribute [rw] state
83251
+ # The state of the volume.
83252
+ # @return [String]
83253
+ #
83254
+ # @!attribute [rw] size
83255
+ # The size of the volume, in GiB.
83256
+ # @return [Integer]
83257
+ #
83258
+ # @!attribute [rw] iops
83259
+ # The number of I/O operations per second (IOPS) for the volume.
83260
+ # @return [Integer]
83261
+ #
83262
+ # @!attribute [rw] throughput
83263
+ # The throughput that the volume supports, in MiB/s.
83264
+ # @return [Integer]
83265
+ #
83266
+ # @!attribute [rw] outpost_arn
83267
+ # The ARN of the Outpost on which the volume is stored. For more
83268
+ # information, see [Amazon EBS volumes on Outposts][1] in the *Amazon
83269
+ # EBS User Guide*.
83270
+ #
83271
+ #
83272
+ #
83273
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-outposts.html
83274
+ # @return [String]
83275
+ #
83276
+ # @!attribute [rw] availability_zone
83277
+ # The Availability Zone for the volume.
83278
+ # @return [String]
83279
+ #
83280
+ # @!attribute [rw] availability_zone_id
83281
+ # The ID of the Availability Zone for the volume.
83282
+ # @return [String]
83283
+ #
83284
+ # @!attribute [rw] source_volume_id
83285
+ # The ID of the source volume.
83286
+ # @return [String]
83287
+ #
83288
+ # @!attribute [rw] snapshot_id
83289
+ # The snapshot from which the volume was created, if applicable.
83290
+ # @return [String]
83291
+ #
83292
+ # @!attribute [rw] operator
83293
+ # The service provider that manages the volume.
83294
+ # @return [Types::OperatorResponse]
83295
+ #
83296
+ # @!attribute [rw] create_time
83297
+ # The time stamp when volume creation was initiated.
83298
+ # @return [Time]
83299
+ #
83300
+ # @!attribute [rw] recycle_bin_enter_time
83301
+ # The date and time when the volume entered the Recycle Bin.
83302
+ # @return [Time]
83303
+ #
83304
+ # @!attribute [rw] recycle_bin_exit_time
83305
+ # The date and time when the volume is to be permanently deleted from
83306
+ # the Recycle Bin.
83307
+ # @return [Time]
83308
+ #
83309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeRecycleBinInfo AWS API Documentation
83310
+ #
83311
+ class VolumeRecycleBinInfo < Struct.new(
83312
+ :volume_id,
83313
+ :volume_type,
83314
+ :state,
83315
+ :size,
83316
+ :iops,
83317
+ :throughput,
83318
+ :outpost_arn,
83319
+ :availability_zone,
83320
+ :availability_zone_id,
83321
+ :source_volume_id,
83322
+ :snapshot_id,
83323
+ :operator,
83324
+ :create_time,
83325
+ :recycle_bin_enter_time,
83326
+ :recycle_bin_exit_time)
83327
+ SENSITIVE = []
83328
+ include Aws::Structure
83329
+ end
83330
+
81416
83331
  # Describes a volume status operation code.
81417
83332
  #
81418
83333
  # @!attribute [rw] code
@@ -81640,6 +83555,14 @@ module Aws::EC2
81640
83555
  # @return [Boolean]
81641
83556
  #
81642
83557
  # @!attribute [rw] encryption_control
83558
+ # Describes the configuration and state of VPC encryption controls.
83559
+ #
83560
+ # For more information, see [Enforce VPC encryption in transit][1] in
83561
+ # the *Amazon VPC User Guide*.
83562
+ #
83563
+ #
83564
+ #
83565
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
81643
83566
  # @return [Types::VpcEncryptionControl]
81644
83567
  #
81645
83568
  # @!attribute [rw] tags
@@ -81934,25 +83857,44 @@ module Aws::EC2
81934
83857
  include Aws::Structure
81935
83858
  end
81936
83859
 
83860
+ # Describes the configuration and state of VPC encryption controls.
83861
+ #
83862
+ # For more information, see [Enforce VPC encryption in transit][1] in
83863
+ # the *Amazon VPC User Guide*.
83864
+ #
83865
+ #
83866
+ #
83867
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
83868
+ #
81937
83869
  # @!attribute [rw] vpc_id
83870
+ # The ID of the VPC associated with the encryption control
83871
+ # configuration.
81938
83872
  # @return [String]
81939
83873
  #
81940
83874
  # @!attribute [rw] vpc_encryption_control_id
83875
+ # The ID of the VPC Encryption Control configuration.
81941
83876
  # @return [String]
81942
83877
  #
81943
83878
  # @!attribute [rw] mode
83879
+ # The encryption mode for the VPC Encryption Control configuration.
81944
83880
  # @return [String]
81945
83881
  #
81946
83882
  # @!attribute [rw] state
83883
+ # The current state of the VPC Encryption Control configuration.
81947
83884
  # @return [String]
81948
83885
  #
81949
83886
  # @!attribute [rw] state_message
83887
+ # A message providing additional information about the encryption
83888
+ # control state.
81950
83889
  # @return [String]
81951
83890
  #
81952
83891
  # @!attribute [rw] resource_exclusions
83892
+ # Information about resource exclusions for the VPC Encryption Control
83893
+ # configuration.
81953
83894
  # @return [Types::VpcEncryptionControlExclusions]
81954
83895
  #
81955
83896
  # @!attribute [rw] tags
83897
+ # The tags assigned to the VPC Encryption Control configuration.
81956
83898
  # @return [Array<Types::Tag>]
81957
83899
  #
81958
83900
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControl AWS API Documentation
@@ -81969,10 +83911,91 @@ module Aws::EC2
81969
83911
  include Aws::Structure
81970
83912
  end
81971
83913
 
83914
+ # Describes the configuration settings for VPC Encryption Control.
83915
+ #
83916
+ # For more information, see [Enforce VPC encryption in transit][1] in
83917
+ # the *Amazon VPC User Guide*.
83918
+ #
83919
+ #
83920
+ #
83921
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
83922
+ #
83923
+ # @!attribute [rw] mode
83924
+ # The encryption mode for the VPC Encryption Control configuration.
83925
+ # @return [String]
83926
+ #
83927
+ # @!attribute [rw] internet_gateway_exclusion
83928
+ # Specifies whether to exclude internet gateway traffic from
83929
+ # encryption enforcement.
83930
+ # @return [String]
83931
+ #
83932
+ # @!attribute [rw] egress_only_internet_gateway_exclusion
83933
+ # Specifies whether to exclude egress-only internet gateway traffic
83934
+ # from encryption enforcement.
83935
+ # @return [String]
83936
+ #
83937
+ # @!attribute [rw] nat_gateway_exclusion
83938
+ # Specifies whether to exclude NAT gateway traffic from encryption
83939
+ # enforcement.
83940
+ # @return [String]
83941
+ #
83942
+ # @!attribute [rw] virtual_private_gateway_exclusion
83943
+ # Specifies whether to exclude virtual private gateway traffic from
83944
+ # encryption enforcement.
83945
+ # @return [String]
83946
+ #
83947
+ # @!attribute [rw] vpc_peering_exclusion
83948
+ # Specifies whether to exclude VPC peering connection traffic from
83949
+ # encryption enforcement.
83950
+ # @return [String]
83951
+ #
83952
+ # @!attribute [rw] lambda_exclusion
83953
+ # Specifies whether to exclude Lambda function traffic from encryption
83954
+ # enforcement.
83955
+ # @return [String]
83956
+ #
83957
+ # @!attribute [rw] vpc_lattice_exclusion
83958
+ # Specifies whether to exclude VPC Lattice traffic from encryption
83959
+ # enforcement.
83960
+ # @return [String]
83961
+ #
83962
+ # @!attribute [rw] elastic_file_system_exclusion
83963
+ # Specifies whether to exclude Elastic File System traffic from
83964
+ # encryption enforcement.
83965
+ # @return [String]
83966
+ #
83967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlConfiguration AWS API Documentation
83968
+ #
83969
+ class VpcEncryptionControlConfiguration < Struct.new(
83970
+ :mode,
83971
+ :internet_gateway_exclusion,
83972
+ :egress_only_internet_gateway_exclusion,
83973
+ :nat_gateway_exclusion,
83974
+ :virtual_private_gateway_exclusion,
83975
+ :vpc_peering_exclusion,
83976
+ :lambda_exclusion,
83977
+ :vpc_lattice_exclusion,
83978
+ :elastic_file_system_exclusion)
83979
+ SENSITIVE = []
83980
+ include Aws::Structure
83981
+ end
83982
+
83983
+ # Describes an exclusion configuration for VPC Encryption Control.
83984
+ #
83985
+ # For more information, see [Enforce VPC encryption in transit][1] in
83986
+ # the *Amazon VPC User Guide*.
83987
+ #
83988
+ #
83989
+ #
83990
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
83991
+ #
81972
83992
  # @!attribute [rw] state
83993
+ # The current state of the exclusion configuration.
81973
83994
  # @return [String]
81974
83995
  #
81975
83996
  # @!attribute [rw] state_message
83997
+ # A message providing additional information about the exclusion
83998
+ # state.
81976
83999
  # @return [String]
81977
84000
  #
81978
84001
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlExclusion AWS API Documentation
@@ -81984,28 +84007,47 @@ module Aws::EC2
81984
84007
  include Aws::Structure
81985
84008
  end
81986
84009
 
84010
+ # Describes the exclusion configurations for various resource types in
84011
+ # VPC Encryption Control.
84012
+ #
84013
+ # For more information, see [Enforce VPC encryption in transit][1] in
84014
+ # the *Amazon VPC User Guide*.
84015
+ #
84016
+ #
84017
+ #
84018
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84019
+ #
81987
84020
  # @!attribute [rw] internet_gateway
84021
+ # The exclusion configuration for internet gateway traffic.
81988
84022
  # @return [Types::VpcEncryptionControlExclusion]
81989
84023
  #
81990
84024
  # @!attribute [rw] egress_only_internet_gateway
84025
+ # The exclusion configuration for egress-only internet gateway
84026
+ # traffic.
81991
84027
  # @return [Types::VpcEncryptionControlExclusion]
81992
84028
  #
81993
84029
  # @!attribute [rw] nat_gateway
84030
+ # The exclusion configuration for NAT gateway traffic.
81994
84031
  # @return [Types::VpcEncryptionControlExclusion]
81995
84032
  #
81996
84033
  # @!attribute [rw] virtual_private_gateway
84034
+ # The exclusion configuration for virtual private gateway traffic.
81997
84035
  # @return [Types::VpcEncryptionControlExclusion]
81998
84036
  #
81999
84037
  # @!attribute [rw] vpc_peering
84038
+ # The exclusion configuration for VPC peering connection traffic.
82000
84039
  # @return [Types::VpcEncryptionControlExclusion]
82001
84040
  #
82002
84041
  # @!attribute [rw] lambda
84042
+ # The exclusion configuration for Lambda function traffic.
82003
84043
  # @return [Types::VpcEncryptionControlExclusion]
82004
84044
  #
82005
84045
  # @!attribute [rw] vpc_lattice
84046
+ # The exclusion configuration for VPC Lattice traffic.
82006
84047
  # @return [Types::VpcEncryptionControlExclusion]
82007
84048
  #
82008
84049
  # @!attribute [rw] elastic_file_system
84050
+ # The exclusion configuration for Elastic File System traffic.
82009
84051
  # @return [Types::VpcEncryptionControlExclusion]
82010
84052
  #
82011
84053
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlExclusions AWS API Documentation
@@ -82023,6 +84065,44 @@ module Aws::EC2
82023
84065
  include Aws::Structure
82024
84066
  end
82025
84067
 
84068
+ # Describes a resource that is not compliant with VPC encryption
84069
+ # requirements.
84070
+ #
84071
+ # For more information, see [Enforce VPC encryption in transit][1] in
84072
+ # the *Amazon VPC User Guide*.
84073
+ #
84074
+ #
84075
+ #
84076
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84077
+ #
84078
+ # @!attribute [rw] id
84079
+ # The ID of the non-compliant resource.
84080
+ # @return [String]
84081
+ #
84082
+ # @!attribute [rw] type
84083
+ # The type of the non-compliant resource.
84084
+ # @return [String]
84085
+ #
84086
+ # @!attribute [rw] description
84087
+ # A description of the non-compliant resource.
84088
+ # @return [String]
84089
+ #
84090
+ # @!attribute [rw] is_excludable
84091
+ # Indicates whether the resource can be excluded from encryption
84092
+ # enforcement.
84093
+ # @return [Boolean]
84094
+ #
84095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionNonCompliantResource AWS API Documentation
84096
+ #
84097
+ class VpcEncryptionNonCompliantResource < Struct.new(
84098
+ :id,
84099
+ :type,
84100
+ :description,
84101
+ :is_excludable)
84102
+ SENSITIVE = []
84103
+ include Aws::Structure
84104
+ end
84105
+
82026
84106
  # Describes a VPC endpoint.
82027
84107
  #
82028
84108
  # @!attribute [rw] vpc_endpoint_id