aws-sdk-ec2 1.580.0 → 1.582.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.
@@ -4425,6 +4425,24 @@ module Aws::EC2
4425
4425
  # [1]: https://docs.aws.amazon.com/local-zones/latest/ug/how-local-zones-work.html
4426
4426
  # @return [String]
4427
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
+ #
4428
4446
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ByoipCidr AWS API Documentation
4429
4447
  #
4430
4448
  class ByoipCidr < Struct.new(
@@ -4433,7 +4451,8 @@ module Aws::EC2
4433
4451
  :asn_associations,
4434
4452
  :status_message,
4435
4453
  :state,
4436
- :network_border_group)
4454
+ :network_border_group,
4455
+ :advertisement_type)
4437
4456
  SENSITIVE = []
4438
4457
  include Aws::Structure
4439
4458
  end
@@ -5729,6 +5748,23 @@ module Aws::EC2
5729
5748
  # The ID of the Capacity Block.
5730
5749
  # @return [String]
5731
5750
  #
5751
+ # @!attribute [rw] interruptible
5752
+ # Indicates whether this Capacity Reservation is interruptible,
5753
+ # meaning instances may be terminated when the owner reclaims
5754
+ # capacity.
5755
+ # @return [Boolean]
5756
+ #
5757
+ # @!attribute [rw] interruptible_capacity_allocation
5758
+ # Contains allocation details for interruptible reservations,
5759
+ # including current allocated instances and target instance counts
5760
+ # within the interruptibleCapacityAllocation object.
5761
+ # @return [Types::InterruptibleCapacityAllocation]
5762
+ #
5763
+ # @!attribute [rw] interruption_info
5764
+ # Information about the interruption configuration and association
5765
+ # with the source reservation for interruptible Capacity Reservations.
5766
+ # @return [Types::InterruptionInfo]
5767
+ #
5732
5768
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
5733
5769
  #
5734
5770
  class CapacityReservation < Struct.new(
@@ -5759,7 +5795,10 @@ module Aws::EC2
5759
5795
  :unused_reservation_billing_owner_id,
5760
5796
  :commitment_info,
5761
5797
  :delivery_preference,
5762
- :capacity_block_id)
5798
+ :capacity_block_id,
5799
+ :interruptible,
5800
+ :interruptible_capacity_allocation,
5801
+ :interruption_info)
5763
5802
  SENSITIVE = []
5764
5803
  include Aws::Structure
5765
5804
  end
@@ -7277,12 +7316,34 @@ module Aws::EC2
7277
7316
  # Valid values: `json` \| `text`
7278
7317
  # @return [String]
7279
7318
  #
7319
+ # @!attribute [rw] bgp_log_enabled
7320
+ # Indicates whether Border Gateway Protocol (BGP) logging is enabled
7321
+ # for the VPN connection. Default value is `False`.
7322
+ #
7323
+ # Valid values: `True` \| `False`
7324
+ # @return [Boolean]
7325
+ #
7326
+ # @!attribute [rw] bgp_log_group_arn
7327
+ # The Amazon Resource Name (ARN) of the CloudWatch log group for BGP
7328
+ # logs.
7329
+ # @return [String]
7330
+ #
7331
+ # @!attribute [rw] bgp_log_output_format
7332
+ # The output format for BGP logs sent to CloudWatch. Default format is
7333
+ # `json`.
7334
+ #
7335
+ # Valid values: `json` \| `text`
7336
+ # @return [String]
7337
+ #
7280
7338
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CloudWatchLogOptions AWS API Documentation
7281
7339
  #
7282
7340
  class CloudWatchLogOptions < Struct.new(
7283
7341
  :log_enabled,
7284
7342
  :log_group_arn,
7285
- :log_output_format)
7343
+ :log_output_format,
7344
+ :bgp_log_enabled,
7345
+ :bgp_log_group_arn,
7346
+ :bgp_log_output_format)
7286
7347
  SENSITIVE = []
7287
7348
  include Aws::Structure
7288
7349
  end
@@ -7307,12 +7368,34 @@ module Aws::EC2
7307
7368
  # Valid values: `json` \| `text`
7308
7369
  # @return [String]
7309
7370
  #
7371
+ # @!attribute [rw] bgp_log_enabled
7372
+ # Specifies whether to enable BGP logging for the VPN connection.
7373
+ # Default value is `False`.
7374
+ #
7375
+ # Valid values: `True` \| `False`
7376
+ # @return [Boolean]
7377
+ #
7378
+ # @!attribute [rw] bgp_log_group_arn
7379
+ # The Amazon Resource Name (ARN) of the CloudWatch log group where BGP
7380
+ # logs will be sent.
7381
+ # @return [String]
7382
+ #
7383
+ # @!attribute [rw] bgp_log_output_format
7384
+ # The desired output format for BGP logs to be sent to CloudWatch.
7385
+ # Default format is `json`.
7386
+ #
7387
+ # Valid values: `json` \| `text`
7388
+ # @return [String]
7389
+ #
7310
7390
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CloudWatchLogOptionsSpecification AWS API Documentation
7311
7391
  #
7312
7392
  class CloudWatchLogOptionsSpecification < Struct.new(
7313
7393
  :log_enabled,
7314
7394
  :log_group_arn,
7315
- :log_output_format)
7395
+ :log_output_format,
7396
+ :bgp_log_enabled,
7397
+ :bgp_log_group_arn,
7398
+ :bgp_log_output_format)
7316
7399
  SENSITIVE = []
7317
7400
  include Aws::Structure
7318
7401
  end
@@ -8799,9 +8882,9 @@ module Aws::EC2
8799
8882
  # The number of instances for which to reserve capacity.
8800
8883
  #
8801
8884
  # <note markdown="1"> You can request future-dated Capacity Reservations for an instance
8802
- # count with a minimum of 64 vCPUs. For example, if you request a
8885
+ # count with a minimum of 32 vCPUs. For example, if you request a
8803
8886
  # future-dated Capacity Reservation for `m5.xlarge` instances, you
8804
- # must request at least 25 instances (*16 * m5.xlarge = 64 vCPUs*).
8887
+ # must request at least 8 instances (*8 * m5.xlarge = 32 vCPUs*).
8805
8888
  #
8806
8889
  # </note>
8807
8890
  #
@@ -10706,6 +10789,78 @@ module Aws::EC2
10706
10789
  include Aws::Structure
10707
10790
  end
10708
10791
 
10792
+ # @!attribute [rw] capacity_reservation_id
10793
+ # The ID of the source Capacity Reservation from which to create the
10794
+ # interruptible Capacity Reservation. Your Capacity Reservation must
10795
+ # be in active state with no end date set and have available capacity
10796
+ # for allocation.
10797
+ # @return [String]
10798
+ #
10799
+ # @!attribute [rw] instance_count
10800
+ # The number of instances to allocate from your source reservation.
10801
+ # You can only allocate available instances (also called unused
10802
+ # capacity).
10803
+ # @return [Integer]
10804
+ #
10805
+ # @!attribute [rw] client_token
10806
+ # Unique, case-sensitive identifier that you provide to ensure the
10807
+ # idempotency of the request.
10808
+ #
10809
+ # **A suitable default value is auto-generated.** You should normally
10810
+ # not need to pass this option.
10811
+ # @return [String]
10812
+ #
10813
+ # @!attribute [rw] dry_run
10814
+ # Checks whether you have the required permissions for the action,
10815
+ # without actually making the request, and provides an error response.
10816
+ # @return [Boolean]
10817
+ #
10818
+ # @!attribute [rw] tag_specifications
10819
+ # The tags to apply to the interruptible Capacity Reservation during
10820
+ # creation.
10821
+ # @return [Array<Types::TagSpecification>]
10822
+ #
10823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInterruptibleCapacityReservationAllocationRequest AWS API Documentation
10824
+ #
10825
+ class CreateInterruptibleCapacityReservationAllocationRequest < Struct.new(
10826
+ :capacity_reservation_id,
10827
+ :instance_count,
10828
+ :client_token,
10829
+ :dry_run,
10830
+ :tag_specifications)
10831
+ SENSITIVE = []
10832
+ include Aws::Structure
10833
+ end
10834
+
10835
+ # @!attribute [rw] source_capacity_reservation_id
10836
+ # The ID of the source Capacity Reservation from which the
10837
+ # interruptible Capacity Reservation was created.
10838
+ # @return [String]
10839
+ #
10840
+ # @!attribute [rw] target_instance_count
10841
+ # The number of instances allocated to the interruptible reservation.
10842
+ # @return [Integer]
10843
+ #
10844
+ # @!attribute [rw] status
10845
+ # The current status of the allocation request (creating, active,
10846
+ # updating).
10847
+ # @return [String]
10848
+ #
10849
+ # @!attribute [rw] interruption_type
10850
+ # The type of interruption applied to the interruptible reservation.
10851
+ # @return [String]
10852
+ #
10853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInterruptibleCapacityReservationAllocationResult AWS API Documentation
10854
+ #
10855
+ class CreateInterruptibleCapacityReservationAllocationResult < Struct.new(
10856
+ :source_capacity_reservation_id,
10857
+ :target_instance_count,
10858
+ :status,
10859
+ :interruption_type)
10860
+ SENSITIVE = []
10861
+ include Aws::Structure
10862
+ end
10863
+
10709
10864
  # @!attribute [rw] dry_run
10710
10865
  # A check for whether you have the required permissions for the action
10711
10866
  # without actually making the request and provides an error response.
@@ -14519,6 +14674,147 @@ module Aws::EC2
14519
14674
  include Aws::Structure
14520
14675
  end
14521
14676
 
14677
+ # @!attribute [rw] transit_gateway_metering_policy_id
14678
+ # The ID of the transit gateway metering policy to add the entry to.
14679
+ # @return [String]
14680
+ #
14681
+ # @!attribute [rw] policy_rule_number
14682
+ # The rule number for the metering policy entry. Rules are processed
14683
+ # in order from lowest to highest number.
14684
+ # @return [Integer]
14685
+ #
14686
+ # @!attribute [rw] source_transit_gateway_attachment_id
14687
+ # The ID of the source transit gateway attachment for traffic
14688
+ # matching.
14689
+ # @return [String]
14690
+ #
14691
+ # @!attribute [rw] source_transit_gateway_attachment_type
14692
+ # The type of the source transit gateway attachment for traffic
14693
+ # matching. Note that the `tgw-peering` resource type has been
14694
+ # deprecated. To configure metering policies for Connect, use the
14695
+ # transport attachment type.
14696
+ # @return [String]
14697
+ #
14698
+ # @!attribute [rw] source_cidr_block
14699
+ # The source CIDR block for traffic matching.
14700
+ # @return [String]
14701
+ #
14702
+ # @!attribute [rw] source_port_range
14703
+ # The source port range for traffic matching.
14704
+ # @return [String]
14705
+ #
14706
+ # @!attribute [rw] destination_transit_gateway_attachment_id
14707
+ # The ID of the destination transit gateway attachment for traffic
14708
+ # matching.
14709
+ # @return [String]
14710
+ #
14711
+ # @!attribute [rw] destination_transit_gateway_attachment_type
14712
+ # The type of the destination transit gateway attachment for traffic
14713
+ # matching. Note that the `tgw-peering` resource type has been
14714
+ # deprecated. To configure metering policies for Connect, use the
14715
+ # transport attachment type.
14716
+ # @return [String]
14717
+ #
14718
+ # @!attribute [rw] destination_cidr_block
14719
+ # The destination CIDR block for traffic matching.
14720
+ # @return [String]
14721
+ #
14722
+ # @!attribute [rw] destination_port_range
14723
+ # The destination port range for traffic matching.
14724
+ # @return [String]
14725
+ #
14726
+ # @!attribute [rw] protocol
14727
+ # The protocol for traffic matching (1, 6, 17, etc.).
14728
+ # @return [String]
14729
+ #
14730
+ # @!attribute [rw] metered_account
14731
+ # The Amazon Web Services account ID to which the metered traffic
14732
+ # should be attributed.
14733
+ # @return [String]
14734
+ #
14735
+ # @!attribute [rw] dry_run
14736
+ # Checks whether you have the required permissions for the action,
14737
+ # without actually making the request, and provides an error response.
14738
+ # If you have the required permissions, the error response is
14739
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
14740
+ # @return [Boolean]
14741
+ #
14742
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyEntryRequest AWS API Documentation
14743
+ #
14744
+ class CreateTransitGatewayMeteringPolicyEntryRequest < Struct.new(
14745
+ :transit_gateway_metering_policy_id,
14746
+ :policy_rule_number,
14747
+ :source_transit_gateway_attachment_id,
14748
+ :source_transit_gateway_attachment_type,
14749
+ :source_cidr_block,
14750
+ :source_port_range,
14751
+ :destination_transit_gateway_attachment_id,
14752
+ :destination_transit_gateway_attachment_type,
14753
+ :destination_cidr_block,
14754
+ :destination_port_range,
14755
+ :protocol,
14756
+ :metered_account,
14757
+ :dry_run)
14758
+ SENSITIVE = []
14759
+ include Aws::Structure
14760
+ end
14761
+
14762
+ # @!attribute [rw] transit_gateway_metering_policy_entry
14763
+ # Information about the created transit gateway metering policy entry.
14764
+ # @return [Types::TransitGatewayMeteringPolicyEntry]
14765
+ #
14766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyEntryResult AWS API Documentation
14767
+ #
14768
+ class CreateTransitGatewayMeteringPolicyEntryResult < Struct.new(
14769
+ :transit_gateway_metering_policy_entry)
14770
+ SENSITIVE = []
14771
+ include Aws::Structure
14772
+ end
14773
+
14774
+ # @!attribute [rw] transit_gateway_id
14775
+ # The ID of the transit gateway for which to create the metering
14776
+ # policy.
14777
+ # @return [String]
14778
+ #
14779
+ # @!attribute [rw] middlebox_attachment_ids
14780
+ # The IDs of the middlebox attachments to include in the metering
14781
+ # policy.
14782
+ # @return [Array<String>]
14783
+ #
14784
+ # @!attribute [rw] tag_specifications
14785
+ # The tags to assign to the metering policy.
14786
+ # @return [Array<Types::TagSpecification>]
14787
+ #
14788
+ # @!attribute [rw] dry_run
14789
+ # Checks whether you have the required permissions for the action,
14790
+ # without actually making the request, and provides an error response.
14791
+ # If you have the required permissions, the error response is
14792
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
14793
+ # @return [Boolean]
14794
+ #
14795
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyRequest AWS API Documentation
14796
+ #
14797
+ class CreateTransitGatewayMeteringPolicyRequest < Struct.new(
14798
+ :transit_gateway_id,
14799
+ :middlebox_attachment_ids,
14800
+ :tag_specifications,
14801
+ :dry_run)
14802
+ SENSITIVE = []
14803
+ include Aws::Structure
14804
+ end
14805
+
14806
+ # @!attribute [rw] transit_gateway_metering_policy
14807
+ # Information about the created transit gateway metering policy.
14808
+ # @return [Types::TransitGatewayMeteringPolicy]
14809
+ #
14810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMeteringPolicyResult AWS API Documentation
14811
+ #
14812
+ class CreateTransitGatewayMeteringPolicyResult < Struct.new(
14813
+ :transit_gateway_metering_policy)
14814
+ SENSITIVE = []
14815
+ include Aws::Structure
14816
+ end
14817
+
14522
14818
  # @!attribute [rw] transit_gateway_id
14523
14819
  # The ID of the transit gateway.
14524
14820
  # @return [String]
@@ -15992,6 +16288,44 @@ module Aws::EC2
15992
16288
  include Aws::Structure
15993
16289
  end
15994
16290
 
16291
+ # @!attribute [rw] dry_run
16292
+ # Checks whether you have the required permissions for the action,
16293
+ # without actually making the request, and provides an error response.
16294
+ # If you have the required permissions, the error response is
16295
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16296
+ # @return [Boolean]
16297
+ #
16298
+ # @!attribute [rw] vpc_id
16299
+ # The ID of the VPC for which to create the encryption control
16300
+ # configuration.
16301
+ # @return [String]
16302
+ #
16303
+ # @!attribute [rw] tag_specifications
16304
+ # The tags to apply to the VPC Encryption Control resource.
16305
+ # @return [Array<Types::TagSpecification>]
16306
+ #
16307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEncryptionControlRequest AWS API Documentation
16308
+ #
16309
+ class CreateVpcEncryptionControlRequest < Struct.new(
16310
+ :dry_run,
16311
+ :vpc_id,
16312
+ :tag_specifications)
16313
+ SENSITIVE = []
16314
+ include Aws::Structure
16315
+ end
16316
+
16317
+ # @!attribute [rw] vpc_encryption_control
16318
+ # Information about the VPC Encryption Control configuration.
16319
+ # @return [Types::VpcEncryptionControl]
16320
+ #
16321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEncryptionControlResult AWS API Documentation
16322
+ #
16323
+ class CreateVpcEncryptionControlResult < Struct.new(
16324
+ :vpc_encryption_control)
16325
+ SENSITIVE = []
16326
+ include Aws::Structure
16327
+ end
16328
+
15995
16329
  # @!attribute [rw] dry_run
15996
16330
  # Checks whether you have the required permissions for the action,
15997
16331
  # without actually making the request, and provides an error response.
@@ -16414,6 +16748,20 @@ module Aws::EC2
16414
16748
  # parameter.
16415
16749
  # @return [String]
16416
16750
  #
16751
+ # @!attribute [rw] vpc_encryption_control
16752
+ # Specifies the encryption control configuration to apply to the VPC
16753
+ # during creation. VPC Encryption Control enables you to enforce
16754
+ # encryption for all data in transit within and between VPCs to meet
16755
+ # compliance requirements.
16756
+ #
16757
+ # For more information, see [Enforce VPC encryption in transit][1] in
16758
+ # the *Amazon VPC User Guide*.
16759
+ #
16760
+ #
16761
+ #
16762
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
16763
+ # @return [Types::VpcEncryptionControlConfiguration]
16764
+ #
16417
16765
  # @!attribute [rw] tag_specifications
16418
16766
  # The tags to assign to the VPC.
16419
16767
  # @return [Array<Types::TagSpecification>]
@@ -16456,6 +16804,7 @@ module Aws::EC2
16456
16804
  :ipv_6_ipam_pool_id,
16457
16805
  :ipv_6_netmask_length,
16458
16806
  :ipv_6_cidr_block_network_border_group,
16807
+ :vpc_encryption_control,
16459
16808
  :tag_specifications,
16460
16809
  :dry_run,
16461
16810
  :instance_tenancy,
@@ -19234,6 +19583,76 @@ module Aws::EC2
19234
19583
  include Aws::Structure
19235
19584
  end
19236
19585
 
19586
+ # @!attribute [rw] transit_gateway_metering_policy_id
19587
+ # The ID of the transit gateway metering policy containing the entry
19588
+ # to delete.
19589
+ # @return [String]
19590
+ #
19591
+ # @!attribute [rw] policy_rule_number
19592
+ # The rule number of the metering policy entry to delete.
19593
+ # @return [Integer]
19594
+ #
19595
+ # @!attribute [rw] dry_run
19596
+ # Checks whether you have the required permissions for the action,
19597
+ # without actually making the request, and provides an error response.
19598
+ # If you have the required permissions, the error response is
19599
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19600
+ # @return [Boolean]
19601
+ #
19602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyEntryRequest AWS API Documentation
19603
+ #
19604
+ class DeleteTransitGatewayMeteringPolicyEntryRequest < Struct.new(
19605
+ :transit_gateway_metering_policy_id,
19606
+ :policy_rule_number,
19607
+ :dry_run)
19608
+ SENSITIVE = []
19609
+ include Aws::Structure
19610
+ end
19611
+
19612
+ # @!attribute [rw] transit_gateway_metering_policy_entry
19613
+ # Information about the deleted transit gateway metering policy entry.
19614
+ # @return [Types::TransitGatewayMeteringPolicyEntry]
19615
+ #
19616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyEntryResult AWS API Documentation
19617
+ #
19618
+ class DeleteTransitGatewayMeteringPolicyEntryResult < Struct.new(
19619
+ :transit_gateway_metering_policy_entry)
19620
+ SENSITIVE = []
19621
+ include Aws::Structure
19622
+ end
19623
+
19624
+ # @!attribute [rw] transit_gateway_metering_policy_id
19625
+ # The ID of the transit gateway metering policy to delete.
19626
+ # @return [String]
19627
+ #
19628
+ # @!attribute [rw] dry_run
19629
+ # Checks whether you have the required permissions for the action,
19630
+ # without actually making the request, and provides an error response.
19631
+ # If you have the required permissions, the error response is
19632
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19633
+ # @return [Boolean]
19634
+ #
19635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyRequest AWS API Documentation
19636
+ #
19637
+ class DeleteTransitGatewayMeteringPolicyRequest < Struct.new(
19638
+ :transit_gateway_metering_policy_id,
19639
+ :dry_run)
19640
+ SENSITIVE = []
19641
+ include Aws::Structure
19642
+ end
19643
+
19644
+ # @!attribute [rw] transit_gateway_metering_policy
19645
+ # Information about the deleted transit gateway metering policy.
19646
+ # @return [Types::TransitGatewayMeteringPolicy]
19647
+ #
19648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMeteringPolicyResult AWS API Documentation
19649
+ #
19650
+ class DeleteTransitGatewayMeteringPolicyResult < Struct.new(
19651
+ :transit_gateway_metering_policy)
19652
+ SENSITIVE = []
19653
+ include Aws::Structure
19654
+ end
19655
+
19237
19656
  # @!attribute [rw] transit_gateway_multicast_domain_id
19238
19657
  # The ID of the transit gateway multicast domain.
19239
19658
  # @return [String]
@@ -19769,6 +20188,38 @@ module Aws::EC2
19769
20188
  include Aws::Structure
19770
20189
  end
19771
20190
 
20191
+ # @!attribute [rw] dry_run
20192
+ # Checks whether you have the required permissions for the action,
20193
+ # without actually making the request, and provides an error response.
20194
+ # If you have the required permissions, the error response is
20195
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
20196
+ # @return [Boolean]
20197
+ #
20198
+ # @!attribute [rw] vpc_encryption_control_id
20199
+ # The ID of the VPC Encryption Control resource to delete.
20200
+ # @return [String]
20201
+ #
20202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEncryptionControlRequest AWS API Documentation
20203
+ #
20204
+ class DeleteVpcEncryptionControlRequest < Struct.new(
20205
+ :dry_run,
20206
+ :vpc_encryption_control_id)
20207
+ SENSITIVE = []
20208
+ include Aws::Structure
20209
+ end
20210
+
20211
+ # @!attribute [rw] vpc_encryption_control
20212
+ # Information about the deleted VPC Encryption Control configuration.
20213
+ # @return [Types::VpcEncryptionControl]
20214
+ #
20215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEncryptionControlResult AWS API Documentation
20216
+ #
20217
+ class DeleteVpcEncryptionControlResult < Struct.new(
20218
+ :vpc_encryption_control)
20219
+ SENSITIVE = []
20220
+ include Aws::Structure
20221
+ end
20222
+
19772
20223
  # @!attribute [rw] dry_run
19773
20224
  # Checks whether you have the required permissions for the action,
19774
20225
  # without actually making the request, and provides an error response.
@@ -26029,7 +26480,7 @@ module Aws::EC2
26029
26480
  #
26030
26481
  # * `requester-id` - The ID of the entity that launched the instance
26031
26482
  # on your behalf (for example, Amazon Web Services Management
26032
- # Console, Auto Scaling, and so on).
26483
+ # Console, Amazon EC2 Auto Scaling, and so on).
26033
26484
  #
26034
26485
  # * `reservation-id` - The ID of the instance's reservation. A
26035
26486
  # reservation ID is created any time you launch an instance. A
@@ -32122,6 +32573,62 @@ module Aws::EC2
32122
32573
  include Aws::Structure
32123
32574
  end
32124
32575
 
32576
+ # @!attribute [rw] transit_gateway_metering_policy_ids
32577
+ # The IDs of the transit gateway metering policies to describe.
32578
+ # @return [Array<String>]
32579
+ #
32580
+ # @!attribute [rw] filters
32581
+ # One or more filters to apply when describing transit gateway
32582
+ # metering policies.
32583
+ # @return [Array<Types::Filter>]
32584
+ #
32585
+ # @!attribute [rw] max_results
32586
+ # The maximum number of results to return with a single call. To
32587
+ # retrieve the remaining results, make another call with the returned
32588
+ # `nextToken` value.
32589
+ # @return [Integer]
32590
+ #
32591
+ # @!attribute [rw] next_token
32592
+ # The token for the next page of results.
32593
+ # @return [String]
32594
+ #
32595
+ # @!attribute [rw] dry_run
32596
+ # Checks whether you have the required permissions for the action,
32597
+ # without actually making the request, and provides an error response.
32598
+ # If you have the required permissions, the error response is
32599
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
32600
+ # @return [Boolean]
32601
+ #
32602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMeteringPoliciesRequest AWS API Documentation
32603
+ #
32604
+ class DescribeTransitGatewayMeteringPoliciesRequest < Struct.new(
32605
+ :transit_gateway_metering_policy_ids,
32606
+ :filters,
32607
+ :max_results,
32608
+ :next_token,
32609
+ :dry_run)
32610
+ SENSITIVE = []
32611
+ include Aws::Structure
32612
+ end
32613
+
32614
+ # @!attribute [rw] transit_gateway_metering_policies
32615
+ # Information about the transit gateway metering policies.
32616
+ # @return [Array<Types::TransitGatewayMeteringPolicy>]
32617
+ #
32618
+ # @!attribute [rw] next_token
32619
+ # The token to use to retrieve the next page of results. This value is
32620
+ # `null` when there are no more results to return.
32621
+ # @return [String]
32622
+ #
32623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMeteringPoliciesResult AWS API Documentation
32624
+ #
32625
+ class DescribeTransitGatewayMeteringPoliciesResult < Struct.new(
32626
+ :transit_gateway_metering_policies,
32627
+ :next_token)
32628
+ SENSITIVE = []
32629
+ include Aws::Structure
32630
+ end
32631
+
32125
32632
  # @!attribute [rw] transit_gateway_multicast_domain_ids
32126
32633
  # The ID of the transit gateway multicast domain.
32127
32634
  # @return [Array<String>]
@@ -33577,6 +34084,73 @@ module Aws::EC2
33577
34084
  include Aws::Structure
33578
34085
  end
33579
34086
 
34087
+ # @!attribute [rw] dry_run
34088
+ # Checks whether you have the required permissions for the action,
34089
+ # without actually making the request, and provides an error response.
34090
+ # If you have the required permissions, the error response is
34091
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
34092
+ # @return [Boolean]
34093
+ #
34094
+ # @!attribute [rw] filters
34095
+ # The filters to apply to the request.
34096
+ # @return [Array<Types::Filter>]
34097
+ #
34098
+ # @!attribute [rw] vpc_encryption_control_ids
34099
+ # The IDs of the VPC Encryption Control configurations to describe.
34100
+ # @return [Array<String>]
34101
+ #
34102
+ # @!attribute [rw] vpc_ids
34103
+ # The IDs of the VPCs to describe encryption control configurations
34104
+ # for.
34105
+ # @return [Array<String>]
34106
+ #
34107
+ # @!attribute [rw] next_token
34108
+ # The token returned from a previous paginated request. Pagination
34109
+ # continues from the end of the items returned by the previous
34110
+ # request.
34111
+ # @return [String]
34112
+ #
34113
+ # @!attribute [rw] max_results
34114
+ # The maximum number of items to return for this request. To get the
34115
+ # next page of items, make another request with the token returned in
34116
+ # the output. For more information, see [Pagination][1].
34117
+ #
34118
+ #
34119
+ #
34120
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
34121
+ # @return [Integer]
34122
+ #
34123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEncryptionControlsRequest AWS API Documentation
34124
+ #
34125
+ class DescribeVpcEncryptionControlsRequest < Struct.new(
34126
+ :dry_run,
34127
+ :filters,
34128
+ :vpc_encryption_control_ids,
34129
+ :vpc_ids,
34130
+ :next_token,
34131
+ :max_results)
34132
+ SENSITIVE = []
34133
+ include Aws::Structure
34134
+ end
34135
+
34136
+ # @!attribute [rw] vpc_encryption_controls
34137
+ # Information about the VPC Encryption Control configurations.
34138
+ # @return [Array<Types::VpcEncryptionControl>]
34139
+ #
34140
+ # @!attribute [rw] next_token
34141
+ # The token to include in another request to get the next page of
34142
+ # items. This value is `null` when there are no more items to return.
34143
+ # @return [String]
34144
+ #
34145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEncryptionControlsResult AWS API Documentation
34146
+ #
34147
+ class DescribeVpcEncryptionControlsResult < Struct.new(
34148
+ :vpc_encryption_controls,
34149
+ :next_token)
34150
+ SENSITIVE = []
34151
+ include Aws::Structure
34152
+ end
34153
+
33580
34154
  # @!attribute [rw] dry_run
33581
34155
  # Checks whether you have the required permissions for the action,
33582
34156
  # without actually making the request, and provides an error response.
@@ -38933,6 +39507,25 @@ module Aws::EC2
38933
39507
  include Aws::Structure
38934
39508
  end
38935
39509
 
39510
+ # Describes the encryption support status for a transit gateway.
39511
+ #
39512
+ # @!attribute [rw] encryption_state
39513
+ # The current encryption state of the resource.
39514
+ # @return [String]
39515
+ #
39516
+ # @!attribute [rw] state_message
39517
+ # A message describing the encryption state.
39518
+ # @return [String]
39519
+ #
39520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EncryptionSupport AWS API Documentation
39521
+ #
39522
+ class EncryptionSupport < Struct.new(
39523
+ :encryption_state,
39524
+ :state_message)
39525
+ SENSITIVE = []
39526
+ include Aws::Structure
39527
+ end
39528
+
38936
39529
  # Describes an EC2 Fleet or Spot Fleet event.
38937
39530
  #
38938
39531
  # @!attribute [rw] event_description
@@ -42199,6 +42792,22 @@ module Aws::EC2
42199
42792
  # Information about the Capacity Reservation usage.
42200
42793
  # @return [Array<Types::InstanceUsage>]
42201
42794
  #
42795
+ # @!attribute [rw] interruptible
42796
+ # Indicates whether the Capacity Reservation is interruptible, meaning
42797
+ # instances may be terminated when the owner reclaims capacity.
42798
+ # @return [Boolean]
42799
+ #
42800
+ # @!attribute [rw] interruptible_capacity_allocation
42801
+ # Information about the capacity allocated to the interruptible
42802
+ # Capacity Reservation, including instance counts and allocation
42803
+ # status.
42804
+ # @return [Types::InterruptibleCapacityAllocation]
42805
+ #
42806
+ # @!attribute [rw] interruption_info
42807
+ # Details about the interruption configuration and source reservation
42808
+ # for interruptible Capacity Reservations.
42809
+ # @return [Types::InterruptionInfo]
42810
+ #
42202
42811
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsageResult AWS API Documentation
42203
42812
  #
42204
42813
  class GetCapacityReservationUsageResult < Struct.new(
@@ -42208,7 +42817,10 @@ module Aws::EC2
42208
42817
  :total_instance_count,
42209
42818
  :available_instance_count,
42210
42819
  :state,
42211
- :instance_usages)
42820
+ :instance_usages,
42821
+ :interruptible,
42822
+ :interruptible_capacity_allocation,
42823
+ :interruption_info)
42212
42824
  SENSITIVE = []
42213
42825
  include Aws::Structure
42214
42826
  end
@@ -44705,6 +45317,63 @@ module Aws::EC2
44705
45317
  include Aws::Structure
44706
45318
  end
44707
45319
 
45320
+ # @!attribute [rw] transit_gateway_metering_policy_id
45321
+ # The ID of the transit gateway metering policy to retrieve entries
45322
+ # for.
45323
+ # @return [String]
45324
+ #
45325
+ # @!attribute [rw] filters
45326
+ # One or more filters to apply when retrieving metering policy
45327
+ # entries.
45328
+ # @return [Array<Types::Filter>]
45329
+ #
45330
+ # @!attribute [rw] max_results
45331
+ # The maximum number of results to return with a single call. To
45332
+ # retrieve the remaining results, make another call with the returned
45333
+ # `nextToken` value.
45334
+ # @return [Integer]
45335
+ #
45336
+ # @!attribute [rw] next_token
45337
+ # The token for the next page of results.
45338
+ # @return [String]
45339
+ #
45340
+ # @!attribute [rw] dry_run
45341
+ # Checks whether you have the required permissions for the action,
45342
+ # without actually making the request, and provides an error response.
45343
+ # If you have the required permissions, the error response is
45344
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45345
+ # @return [Boolean]
45346
+ #
45347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMeteringPolicyEntriesRequest AWS API Documentation
45348
+ #
45349
+ class GetTransitGatewayMeteringPolicyEntriesRequest < Struct.new(
45350
+ :transit_gateway_metering_policy_id,
45351
+ :filters,
45352
+ :max_results,
45353
+ :next_token,
45354
+ :dry_run)
45355
+ SENSITIVE = []
45356
+ include Aws::Structure
45357
+ end
45358
+
45359
+ # @!attribute [rw] transit_gateway_metering_policy_entries
45360
+ # Information about the transit gateway metering policy entries.
45361
+ # @return [Array<Types::TransitGatewayMeteringPolicyEntry>]
45362
+ #
45363
+ # @!attribute [rw] next_token
45364
+ # The token to use to retrieve the next page of results. This value is
45365
+ # `null` when there are no more results to return.
45366
+ # @return [String]
45367
+ #
45368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMeteringPolicyEntriesResult AWS API Documentation
45369
+ #
45370
+ class GetTransitGatewayMeteringPolicyEntriesResult < Struct.new(
45371
+ :transit_gateway_metering_policy_entries,
45372
+ :next_token)
45373
+ SENSITIVE = []
45374
+ include Aws::Structure
45375
+ end
45376
+
44708
45377
  # @!attribute [rw] transit_gateway_multicast_domain_id
44709
45378
  # The ID of the transit gateway multicast domain.
44710
45379
  # @return [String]
@@ -45199,6 +45868,64 @@ module Aws::EC2
45199
45868
  include Aws::Structure
45200
45869
  end
45201
45870
 
45871
+ # @!attribute [rw] vpc_id
45872
+ # The ID of the VPC to check for resources blocking encryption
45873
+ # enforcement.
45874
+ # @return [String]
45875
+ #
45876
+ # @!attribute [rw] max_results
45877
+ # The maximum number of items to return for this request. To get the
45878
+ # next page of items, make another request with the token returned in
45879
+ # the output. For more information, see [Pagination][1].
45880
+ #
45881
+ #
45882
+ #
45883
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
45884
+ # @return [Integer]
45885
+ #
45886
+ # @!attribute [rw] next_token
45887
+ # The token returned from a previous paginated request. Pagination
45888
+ # continues from the end of the items returned by the previous
45889
+ # request.
45890
+ # @return [String]
45891
+ #
45892
+ # @!attribute [rw] dry_run
45893
+ # Checks whether you have the required permissions for the action,
45894
+ # without actually making the request, and provides an error response.
45895
+ # If you have the required permissions, the error response is
45896
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
45897
+ # @return [Boolean]
45898
+ #
45899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetVpcResourcesBlockingEncryptionEnforcementRequest AWS API Documentation
45900
+ #
45901
+ class GetVpcResourcesBlockingEncryptionEnforcementRequest < Struct.new(
45902
+ :vpc_id,
45903
+ :max_results,
45904
+ :next_token,
45905
+ :dry_run)
45906
+ SENSITIVE = []
45907
+ include Aws::Structure
45908
+ end
45909
+
45910
+ # @!attribute [rw] non_compliant_resources
45911
+ # Information about resources that are blocking encryption
45912
+ # enforcement.
45913
+ # @return [Array<Types::VpcEncryptionNonCompliantResource>]
45914
+ #
45915
+ # @!attribute [rw] next_token
45916
+ # The token to include in another request to get the next page of
45917
+ # items. This value is `null` when there are no more items to return.
45918
+ # @return [String]
45919
+ #
45920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetVpcResourcesBlockingEncryptionEnforcementResult AWS API Documentation
45921
+ #
45922
+ class GetVpcResourcesBlockingEncryptionEnforcementResult < Struct.new(
45923
+ :non_compliant_resources,
45924
+ :next_token)
45925
+ SENSITIVE = []
45926
+ include Aws::Structure
45927
+ end
45928
+
45202
45929
  # @!attribute [rw] vpn_connection_id
45203
45930
  # The `VpnConnectionId` specifies the Site-to-Site VPN connection used
45204
45931
  # for the sample configuration.
@@ -51793,6 +52520,69 @@ module Aws::EC2
51793
52520
  include Aws::Structure
51794
52521
  end
51795
52522
 
52523
+ # Represents the allocation of capacity from a source reservation to an
52524
+ # interruptible reservation, tracking current and target instance counts
52525
+ # for allocation management.
52526
+ #
52527
+ # @!attribute [rw] instance_count
52528
+ # The current number of instances allocated to the interruptible
52529
+ # reservation.
52530
+ # @return [Integer]
52531
+ #
52532
+ # @!attribute [rw] target_instance_count
52533
+ # After your modify request, the requested number of instances
52534
+ # allocated to interruptible reservation.
52535
+ # @return [Integer]
52536
+ #
52537
+ # @!attribute [rw] status
52538
+ # The current status of the allocation (updating during reclamation,
52539
+ # active when complete).
52540
+ # @return [String]
52541
+ #
52542
+ # @!attribute [rw] interruptible_capacity_reservation_id
52543
+ # The ID of the interruptible Capacity Reservation created from the
52544
+ # allocation.
52545
+ # @return [String]
52546
+ #
52547
+ # @!attribute [rw] interruption_type
52548
+ # The type of interruption policy applied to the interruptible
52549
+ # reservation.
52550
+ # @return [String]
52551
+ #
52552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InterruptibleCapacityAllocation AWS API Documentation
52553
+ #
52554
+ class InterruptibleCapacityAllocation < Struct.new(
52555
+ :instance_count,
52556
+ :target_instance_count,
52557
+ :status,
52558
+ :interruptible_capacity_reservation_id,
52559
+ :interruption_type)
52560
+ SENSITIVE = []
52561
+ include Aws::Structure
52562
+ end
52563
+
52564
+ # Contains information about how and when instances in an interruptible
52565
+ # reservation can be terminated when capacity is reclaimed.
52566
+ #
52567
+ # @!attribute [rw] source_capacity_reservation_id
52568
+ # The ID of the source Capacity Reservation from which the
52569
+ # interruptible reservation was created.
52570
+ # @return [String]
52571
+ #
52572
+ # @!attribute [rw] interruption_type
52573
+ # The interruption type that determines how instances are terminated
52574
+ # when capacity is reclaimed.
52575
+ # @return [String]
52576
+ #
52577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InterruptionInfo AWS API Documentation
52578
+ #
52579
+ class InterruptionInfo < Struct.new(
52580
+ :source_capacity_reservation_id,
52581
+ :interruption_type)
52582
+ SENSITIVE = []
52583
+ include Aws::Structure
52584
+ end
52585
+
51796
52586
  # Describes the permissions for a security group rule.
51797
52587
  #
51798
52588
  # @!attribute [rw] ip_protocol
@@ -56795,6 +57585,65 @@ module Aws::EC2
56795
57585
  include Aws::Structure
56796
57586
  end
56797
57587
 
57588
+ # @!attribute [rw] volume_ids
57589
+ # The IDs of the volumes to list. Omit this parameter to list all of
57590
+ # the volumes that are in the Recycle Bin.
57591
+ # @return [Array<String>]
57592
+ #
57593
+ # @!attribute [rw] dry_run
57594
+ # Checks whether you have the required permissions for the action,
57595
+ # without actually making the request, and provides an error response.
57596
+ # If you have the required permissions, the error response is
57597
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
57598
+ # @return [Boolean]
57599
+ #
57600
+ # @!attribute [rw] max_results
57601
+ # The maximum number of items to return for this request. To get the
57602
+ # next page of items, make another request with the token returned in
57603
+ # the output. For more information, see [Pagination][1].
57604
+ #
57605
+ # Valid range: 5 - 500
57606
+ #
57607
+ #
57608
+ #
57609
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
57610
+ # @return [Integer]
57611
+ #
57612
+ # @!attribute [rw] next_token
57613
+ # The token returned from a previous paginated request. Pagination
57614
+ # continues from the end of the items returned by the previous
57615
+ # request.
57616
+ # @return [String]
57617
+ #
57618
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ListVolumesInRecycleBinRequest AWS API Documentation
57619
+ #
57620
+ class ListVolumesInRecycleBinRequest < Struct.new(
57621
+ :volume_ids,
57622
+ :dry_run,
57623
+ :max_results,
57624
+ :next_token)
57625
+ SENSITIVE = []
57626
+ include Aws::Structure
57627
+ end
57628
+
57629
+ # @!attribute [rw] volumes
57630
+ # Information about the volumes.
57631
+ # @return [Array<Types::VolumeRecycleBinInfo>]
57632
+ #
57633
+ # @!attribute [rw] next_token
57634
+ # The token to include in another request to get the next page of
57635
+ # items. This value is `null` when there are no more items to return.
57636
+ # @return [String]
57637
+ #
57638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ListVolumesInRecycleBinResult AWS API Documentation
57639
+ #
57640
+ class ListVolumesInRecycleBinResult < Struct.new(
57641
+ :volumes,
57642
+ :next_token)
57643
+ SENSITIVE = []
57644
+ include Aws::Structure
57645
+ end
57646
+
56798
57647
  # Describes the Classic Load Balancers and target groups to attach to a
56799
57648
  # Spot Fleet request.
56800
57649
  #
@@ -61436,6 +62285,48 @@ module Aws::EC2
61436
62285
  include Aws::Structure
61437
62286
  end
61438
62287
 
62288
+ # @!attribute [rw] transit_gateway_metering_policy_id
62289
+ # The ID of the transit gateway metering policy to modify.
62290
+ # @return [String]
62291
+ #
62292
+ # @!attribute [rw] add_middlebox_attachment_ids
62293
+ # The IDs of middlebox attachments to add to the metering policy.
62294
+ # @return [Array<String>]
62295
+ #
62296
+ # @!attribute [rw] remove_middlebox_attachment_ids
62297
+ # The IDs of middlebox attachments to remove from the metering policy.
62298
+ # @return [Array<String>]
62299
+ #
62300
+ # @!attribute [rw] dry_run
62301
+ # Checks whether you have the required permissions for the action,
62302
+ # without actually making the request, and provides an error response.
62303
+ # If you have the required permissions, the error response is
62304
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
62305
+ # @return [Boolean]
62306
+ #
62307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayMeteringPolicyRequest AWS API Documentation
62308
+ #
62309
+ class ModifyTransitGatewayMeteringPolicyRequest < Struct.new(
62310
+ :transit_gateway_metering_policy_id,
62311
+ :add_middlebox_attachment_ids,
62312
+ :remove_middlebox_attachment_ids,
62313
+ :dry_run)
62314
+ SENSITIVE = []
62315
+ include Aws::Structure
62316
+ end
62317
+
62318
+ # @!attribute [rw] transit_gateway_metering_policy
62319
+ # Information about the modified transit gateway metering policy.
62320
+ # @return [Types::TransitGatewayMeteringPolicy]
62321
+ #
62322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayMeteringPolicyResult AWS API Documentation
62323
+ #
62324
+ class ModifyTransitGatewayMeteringPolicyResult < Struct.new(
62325
+ :transit_gateway_metering_policy)
62326
+ SENSITIVE = []
62327
+ include Aws::Structure
62328
+ end
62329
+
61439
62330
  # The transit gateway options.
61440
62331
  #
61441
62332
  # @!attribute [rw] add_transit_gateway_cidr_blocks
@@ -61516,6 +62407,10 @@ module Aws::EC2
61516
62407
  # prior to modifying the ASN on the transit gateway.
61517
62408
  # @return [Integer]
61518
62409
  #
62410
+ # @!attribute [rw] encryption_support
62411
+ # Enable or disable encryption support for VPC Encryption Control.
62412
+ # @return [String]
62413
+ #
61519
62414
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayOptions AWS API Documentation
61520
62415
  #
61521
62416
  class ModifyTransitGatewayOptions < Struct.new(
@@ -61529,7 +62424,8 @@ module Aws::EC2
61529
62424
  :association_default_route_table_id,
61530
62425
  :default_route_table_propagation,
61531
62426
  :propagation_default_route_table_id,
61532
- :amazon_side_asn)
62427
+ :amazon_side_asn,
62428
+ :encryption_support)
61533
62429
  SENSITIVE = []
61534
62430
  include Aws::Structure
61535
62431
  end
@@ -62669,6 +63565,91 @@ module Aws::EC2
62669
63565
  include Aws::Structure
62670
63566
  end
62671
63567
 
63568
+ # @!attribute [rw] dry_run
63569
+ # Checks whether you have the required permissions for the action,
63570
+ # without actually making the request, and provides an error response.
63571
+ # If you have the required permissions, the error response is
63572
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
63573
+ # @return [Boolean]
63574
+ #
63575
+ # @!attribute [rw] vpc_encryption_control_id
63576
+ # The ID of the VPC Encryption Control resource to modify.
63577
+ # @return [String]
63578
+ #
63579
+ # @!attribute [rw] mode
63580
+ # The encryption mode for the VPC Encryption Control configuration.
63581
+ # @return [String]
63582
+ #
63583
+ # @!attribute [rw] internet_gateway_exclusion
63584
+ # Specifies whether to exclude internet gateway traffic from
63585
+ # encryption enforcement.
63586
+ # @return [String]
63587
+ #
63588
+ # @!attribute [rw] egress_only_internet_gateway_exclusion
63589
+ # Specifies whether to exclude egress-only internet gateway traffic
63590
+ # from encryption enforcement.
63591
+ # @return [String]
63592
+ #
63593
+ # @!attribute [rw] nat_gateway_exclusion
63594
+ # Specifies whether to exclude NAT gateway traffic from encryption
63595
+ # enforcement.
63596
+ # @return [String]
63597
+ #
63598
+ # @!attribute [rw] virtual_private_gateway_exclusion
63599
+ # Specifies whether to exclude virtual private gateway traffic from
63600
+ # encryption enforcement.
63601
+ # @return [String]
63602
+ #
63603
+ # @!attribute [rw] vpc_peering_exclusion
63604
+ # Specifies whether to exclude VPC peering connection traffic from
63605
+ # encryption enforcement.
63606
+ # @return [String]
63607
+ #
63608
+ # @!attribute [rw] lambda_exclusion
63609
+ # Specifies whether to exclude Lambda function traffic from encryption
63610
+ # enforcement.
63611
+ # @return [String]
63612
+ #
63613
+ # @!attribute [rw] vpc_lattice_exclusion
63614
+ # Specifies whether to exclude VPC Lattice traffic from encryption
63615
+ # enforcement.
63616
+ # @return [String]
63617
+ #
63618
+ # @!attribute [rw] elastic_file_system_exclusion
63619
+ # Specifies whether to exclude Elastic File System traffic from
63620
+ # encryption enforcement.
63621
+ # @return [String]
63622
+ #
63623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEncryptionControlRequest AWS API Documentation
63624
+ #
63625
+ class ModifyVpcEncryptionControlRequest < Struct.new(
63626
+ :dry_run,
63627
+ :vpc_encryption_control_id,
63628
+ :mode,
63629
+ :internet_gateway_exclusion,
63630
+ :egress_only_internet_gateway_exclusion,
63631
+ :nat_gateway_exclusion,
63632
+ :virtual_private_gateway_exclusion,
63633
+ :vpc_peering_exclusion,
63634
+ :lambda_exclusion,
63635
+ :vpc_lattice_exclusion,
63636
+ :elastic_file_system_exclusion)
63637
+ SENSITIVE = []
63638
+ include Aws::Structure
63639
+ end
63640
+
63641
+ # @!attribute [rw] vpc_encryption_control
63642
+ # Information about the VPC Encryption Control configuration.
63643
+ # @return [Types::VpcEncryptionControl]
63644
+ #
63645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEncryptionControlResult AWS API Documentation
63646
+ #
63647
+ class ModifyVpcEncryptionControlResult < Struct.new(
63648
+ :vpc_encryption_control)
63649
+ SENSITIVE = []
63650
+ include Aws::Structure
63651
+ end
63652
+
62672
63653
  # @!attribute [rw] dry_run
62673
63654
  # Checks whether you have the required permissions for the action,
62674
63655
  # without actually making the request, and provides an error response.
@@ -71488,6 +72469,39 @@ module Aws::EC2
71488
72469
  include Aws::Structure
71489
72470
  end
71490
72471
 
72472
+ # @!attribute [rw] volume_id
72473
+ # The ID of the volume to restore.
72474
+ # @return [String]
72475
+ #
72476
+ # @!attribute [rw] dry_run
72477
+ # Checks whether you have the required permissions for the action,
72478
+ # without actually making the request, and provides an error response.
72479
+ # If you have the required permissions, the error response is
72480
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
72481
+ # @return [Boolean]
72482
+ #
72483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreVolumeFromRecycleBinRequest AWS API Documentation
72484
+ #
72485
+ class RestoreVolumeFromRecycleBinRequest < Struct.new(
72486
+ :volume_id,
72487
+ :dry_run)
72488
+ SENSITIVE = []
72489
+ include Aws::Structure
72490
+ end
72491
+
72492
+ # @!attribute [rw] return
72493
+ # Returns `true` if the request succeeds; otherwise, it returns an
72494
+ # error.
72495
+ # @return [Boolean]
72496
+ #
72497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreVolumeFromRecycleBinResult AWS API Documentation
72498
+ #
72499
+ class RestoreVolumeFromRecycleBinResult < Struct.new(
72500
+ :return)
72501
+ SENSITIVE = []
72502
+ include Aws::Structure
72503
+ end
72504
+
71491
72505
  # @!attribute [rw] client_vpn_endpoint_id
71492
72506
  # The ID of the Client VPN endpoint with which the authorization rule
71493
72507
  # is associated.
@@ -78935,6 +79949,146 @@ module Aws::EC2
78935
79949
  include Aws::Structure
78936
79950
  end
78937
79951
 
79952
+ # Describes a transit gateway metering policy.
79953
+ #
79954
+ # @!attribute [rw] transit_gateway_metering_policy_id
79955
+ # The ID of the transit gateway metering policy.
79956
+ # @return [String]
79957
+ #
79958
+ # @!attribute [rw] transit_gateway_id
79959
+ # The ID of the transit gateway associated with the metering policy.
79960
+ # @return [String]
79961
+ #
79962
+ # @!attribute [rw] middlebox_attachment_ids
79963
+ # The IDs of the middlebox attachments associated with the metering
79964
+ # policy.
79965
+ # @return [Array<String>]
79966
+ #
79967
+ # @!attribute [rw] state
79968
+ # The state of the transit gateway metering policy.
79969
+ # @return [String]
79970
+ #
79971
+ # @!attribute [rw] update_effective_at
79972
+ # The date and time when the metering policy update becomes effective.
79973
+ # @return [Time]
79974
+ #
79975
+ # @!attribute [rw] tags
79976
+ # The tags assigned to the transit gateway metering policy.
79977
+ # @return [Array<Types::Tag>]
79978
+ #
79979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicy AWS API Documentation
79980
+ #
79981
+ class TransitGatewayMeteringPolicy < Struct.new(
79982
+ :transit_gateway_metering_policy_id,
79983
+ :transit_gateway_id,
79984
+ :middlebox_attachment_ids,
79985
+ :state,
79986
+ :update_effective_at,
79987
+ :tags)
79988
+ SENSITIVE = []
79989
+ include Aws::Structure
79990
+ end
79991
+
79992
+ # Describes an entry in a transit gateway metering policy.
79993
+ #
79994
+ # @!attribute [rw] policy_rule_number
79995
+ # The rule number of the metering policy entry.
79996
+ # @return [String]
79997
+ #
79998
+ # @!attribute [rw] metered_account
79999
+ # The Amazon Web Services account ID to which the metered traffic is
80000
+ # attributed.
80001
+ # @return [String]
80002
+ #
80003
+ # @!attribute [rw] state
80004
+ # The state of the metering policy entry.
80005
+ # @return [String]
80006
+ #
80007
+ # @!attribute [rw] updated_at
80008
+ # The date and time when the metering policy entry was last updated.
80009
+ # @return [Time]
80010
+ #
80011
+ # @!attribute [rw] update_effective_at
80012
+ # The date and time when the metering policy entry update becomes
80013
+ # effective.
80014
+ # @return [Time]
80015
+ #
80016
+ # @!attribute [rw] metering_policy_rule
80017
+ # The metering policy rule that defines traffic matching criteria.
80018
+ # @return [Types::TransitGatewayMeteringPolicyRule]
80019
+ #
80020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicyEntry AWS API Documentation
80021
+ #
80022
+ class TransitGatewayMeteringPolicyEntry < Struct.new(
80023
+ :policy_rule_number,
80024
+ :metered_account,
80025
+ :state,
80026
+ :updated_at,
80027
+ :update_effective_at,
80028
+ :metering_policy_rule)
80029
+ SENSITIVE = []
80030
+ include Aws::Structure
80031
+ end
80032
+
80033
+ # Describes the traffic matching criteria for a transit gateway metering
80034
+ # policy rule.
80035
+ #
80036
+ # @!attribute [rw] source_transit_gateway_attachment_id
80037
+ # The ID of the source transit gateway attachment.
80038
+ # @return [String]
80039
+ #
80040
+ # @!attribute [rw] source_transit_gateway_attachment_type
80041
+ # The type of the source transit gateway attachment. Note that the
80042
+ # `tgw-peering` resource type has been deprecated. To configure
80043
+ # metering policies for Connect, use the transport attachment type.
80044
+ # @return [String]
80045
+ #
80046
+ # @!attribute [rw] source_cidr_block
80047
+ # The source CIDR block for the rule.
80048
+ # @return [String]
80049
+ #
80050
+ # @!attribute [rw] source_port_range
80051
+ # The source port range for the rule.
80052
+ # @return [String]
80053
+ #
80054
+ # @!attribute [rw] destination_transit_gateway_attachment_id
80055
+ # The ID of the destination transit gateway attachment.
80056
+ # @return [String]
80057
+ #
80058
+ # @!attribute [rw] destination_transit_gateway_attachment_type
80059
+ # The type of the destination transit gateway attachment. Note that
80060
+ # the `tgw-peering` resource type has been deprecated. To configure
80061
+ # metering policies for Connect, use the transport attachment type.
80062
+ # @return [String]
80063
+ #
80064
+ # @!attribute [rw] destination_cidr_block
80065
+ # The destination CIDR block for the rule.
80066
+ # @return [String]
80067
+ #
80068
+ # @!attribute [rw] destination_port_range
80069
+ # The destination port range for the rule.
80070
+ # @return [String]
80071
+ #
80072
+ # @!attribute [rw] protocol
80073
+ # The protocol for the rule (1, 6, 17, etc.).
80074
+ # @return [String]
80075
+ #
80076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayMeteringPolicyRule AWS API Documentation
80077
+ #
80078
+ class TransitGatewayMeteringPolicyRule < Struct.new(
80079
+ :source_transit_gateway_attachment_id,
80080
+ :source_transit_gateway_attachment_type,
80081
+ :source_cidr_block,
80082
+ :source_port_range,
80083
+ :destination_transit_gateway_attachment_id,
80084
+ :destination_transit_gateway_attachment_type,
80085
+ :destination_cidr_block,
80086
+ :destination_port_range,
80087
+ :protocol)
80088
+ SENSITIVE = []
80089
+ include Aws::Structure
80090
+ end
80091
+
78938
80092
  # Describes the deregistered transit gateway multicast group members.
78939
80093
  #
78940
80094
  # @!attribute [rw] transit_gateway_multicast_domain_id
@@ -79312,6 +80466,10 @@ module Aws::EC2
79312
80466
  # Indicates whether multicast is enabled on the transit gateway
79313
80467
  # @return [String]
79314
80468
  #
80469
+ # @!attribute [rw] encryption_support
80470
+ # Defines if the Transit Gateway supports VPC Encryption Control.
80471
+ # @return [Types::EncryptionSupport]
80472
+ #
79315
80473
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TransitGatewayOptions AWS API Documentation
79316
80474
  #
79317
80475
  class TransitGatewayOptions < Struct.new(
@@ -79325,7 +80483,8 @@ module Aws::EC2
79325
80483
  :vpn_ecmp_support,
79326
80484
  :dns_support,
79327
80485
  :security_group_referencing_support,
79328
- :multicast_support)
80486
+ :multicast_support,
80487
+ :encryption_support)
79329
80488
  SENSITIVE = []
79330
80489
  include Aws::Structure
79331
80490
  end
@@ -80606,6 +81765,73 @@ module Aws::EC2
80606
81765
  include Aws::Structure
80607
81766
  end
80608
81767
 
81768
+ # @!attribute [rw] capacity_reservation_id
81769
+ # The ID of the source Capacity Reservation containing the
81770
+ # interruptible allocation to modify.
81771
+ # @return [String]
81772
+ #
81773
+ # @!attribute [rw] target_instance_count
81774
+ # The new number of instances to allocate. Enter a higher number to
81775
+ # add more capacity to share, or a lower number to reclaim capacity to
81776
+ # your source Capacity Reservation.
81777
+ # @return [Integer]
81778
+ #
81779
+ # @!attribute [rw] dry_run
81780
+ # Checks whether you have the required permissions for the action,
81781
+ # without actually making the request, and provides an error response.
81782
+ # @return [Boolean]
81783
+ #
81784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationRequest AWS API Documentation
81785
+ #
81786
+ class UpdateInterruptibleCapacityReservationAllocationRequest < Struct.new(
81787
+ :capacity_reservation_id,
81788
+ :target_instance_count,
81789
+ :dry_run)
81790
+ SENSITIVE = []
81791
+ include Aws::Structure
81792
+ end
81793
+
81794
+ # @!attribute [rw] interruptible_capacity_reservation_id
81795
+ # The ID of the interruptible Capacity Reservation that was modified.
81796
+ # @return [String]
81797
+ #
81798
+ # @!attribute [rw] source_capacity_reservation_id
81799
+ # The ID of the source Capacity Reservation to which capacity was
81800
+ # reclaimed or from which capacity was allocated.
81801
+ # @return [String]
81802
+ #
81803
+ # @!attribute [rw] instance_count
81804
+ # The current number of instances allocated to the interruptible
81805
+ # reservation.
81806
+ # @return [Integer]
81807
+ #
81808
+ # @!attribute [rw] target_instance_count
81809
+ # The requested number of instances for the interruptible Capacity
81810
+ # Reservation.
81811
+ # @return [Integer]
81812
+ #
81813
+ # @!attribute [rw] status
81814
+ # The current status of the allocation (updating during reclamation,
81815
+ # active when complete).
81816
+ # @return [String]
81817
+ #
81818
+ # @!attribute [rw] interruption_type
81819
+ # The interruption type for the interruptible reservation.
81820
+ # @return [String]
81821
+ #
81822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationResult AWS API Documentation
81823
+ #
81824
+ class UpdateInterruptibleCapacityReservationAllocationResult < Struct.new(
81825
+ :interruptible_capacity_reservation_id,
81826
+ :source_capacity_reservation_id,
81827
+ :instance_count,
81828
+ :target_instance_count,
81829
+ :status,
81830
+ :interruption_type)
81831
+ SENSITIVE = []
81832
+ include Aws::Structure
81833
+ end
81834
+
80609
81835
  # @!attribute [rw] dry_run
80610
81836
  # Checks whether you have the required permissions for the action,
80611
81837
  # without actually making the request, and provides an error response.
@@ -82252,6 +83478,97 @@ module Aws::EC2
82252
83478
  include Aws::Structure
82253
83479
  end
82254
83480
 
83481
+ # Information about a volume that is currently in the Recycle Bin.
83482
+ #
83483
+ # @!attribute [rw] volume_id
83484
+ # The ID of the volume.
83485
+ # @return [String]
83486
+ #
83487
+ # @!attribute [rw] volume_type
83488
+ # The volume type.
83489
+ # @return [String]
83490
+ #
83491
+ # @!attribute [rw] state
83492
+ # The state of the volume.
83493
+ # @return [String]
83494
+ #
83495
+ # @!attribute [rw] size
83496
+ # The size of the volume, in GiB.
83497
+ # @return [Integer]
83498
+ #
83499
+ # @!attribute [rw] iops
83500
+ # The number of I/O operations per second (IOPS) for the volume.
83501
+ # @return [Integer]
83502
+ #
83503
+ # @!attribute [rw] throughput
83504
+ # The throughput that the volume supports, in MiB/s.
83505
+ # @return [Integer]
83506
+ #
83507
+ # @!attribute [rw] outpost_arn
83508
+ # The ARN of the Outpost on which the volume is stored. For more
83509
+ # information, see [Amazon EBS volumes on Outposts][1] in the *Amazon
83510
+ # EBS User Guide*.
83511
+ #
83512
+ #
83513
+ #
83514
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-outposts.html
83515
+ # @return [String]
83516
+ #
83517
+ # @!attribute [rw] availability_zone
83518
+ # The Availability Zone for the volume.
83519
+ # @return [String]
83520
+ #
83521
+ # @!attribute [rw] availability_zone_id
83522
+ # The ID of the Availability Zone for the volume.
83523
+ # @return [String]
83524
+ #
83525
+ # @!attribute [rw] source_volume_id
83526
+ # The ID of the source volume.
83527
+ # @return [String]
83528
+ #
83529
+ # @!attribute [rw] snapshot_id
83530
+ # The snapshot from which the volume was created, if applicable.
83531
+ # @return [String]
83532
+ #
83533
+ # @!attribute [rw] operator
83534
+ # The service provider that manages the volume.
83535
+ # @return [Types::OperatorResponse]
83536
+ #
83537
+ # @!attribute [rw] create_time
83538
+ # The time stamp when volume creation was initiated.
83539
+ # @return [Time]
83540
+ #
83541
+ # @!attribute [rw] recycle_bin_enter_time
83542
+ # The date and time when the volume entered the Recycle Bin.
83543
+ # @return [Time]
83544
+ #
83545
+ # @!attribute [rw] recycle_bin_exit_time
83546
+ # The date and time when the volume is to be permanently deleted from
83547
+ # the Recycle Bin.
83548
+ # @return [Time]
83549
+ #
83550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeRecycleBinInfo AWS API Documentation
83551
+ #
83552
+ class VolumeRecycleBinInfo < Struct.new(
83553
+ :volume_id,
83554
+ :volume_type,
83555
+ :state,
83556
+ :size,
83557
+ :iops,
83558
+ :throughput,
83559
+ :outpost_arn,
83560
+ :availability_zone,
83561
+ :availability_zone_id,
83562
+ :source_volume_id,
83563
+ :snapshot_id,
83564
+ :operator,
83565
+ :create_time,
83566
+ :recycle_bin_enter_time,
83567
+ :recycle_bin_exit_time)
83568
+ SENSITIVE = []
83569
+ include Aws::Structure
83570
+ end
83571
+
82255
83572
  # Describes a volume status operation code.
82256
83573
  #
82257
83574
  # @!attribute [rw] code
@@ -82479,6 +83796,14 @@ module Aws::EC2
82479
83796
  # @return [Boolean]
82480
83797
  #
82481
83798
  # @!attribute [rw] encryption_control
83799
+ # Describes the configuration and state of VPC encryption controls.
83800
+ #
83801
+ # For more information, see [Enforce VPC encryption in transit][1] in
83802
+ # the *Amazon VPC User Guide*.
83803
+ #
83804
+ #
83805
+ #
83806
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
82482
83807
  # @return [Types::VpcEncryptionControl]
82483
83808
  #
82484
83809
  # @!attribute [rw] tags
@@ -82773,25 +84098,44 @@ module Aws::EC2
82773
84098
  include Aws::Structure
82774
84099
  end
82775
84100
 
84101
+ # Describes the configuration and state of VPC encryption controls.
84102
+ #
84103
+ # For more information, see [Enforce VPC encryption in transit][1] in
84104
+ # the *Amazon VPC User Guide*.
84105
+ #
84106
+ #
84107
+ #
84108
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84109
+ #
82776
84110
  # @!attribute [rw] vpc_id
84111
+ # The ID of the VPC associated with the encryption control
84112
+ # configuration.
82777
84113
  # @return [String]
82778
84114
  #
82779
84115
  # @!attribute [rw] vpc_encryption_control_id
84116
+ # The ID of the VPC Encryption Control configuration.
82780
84117
  # @return [String]
82781
84118
  #
82782
84119
  # @!attribute [rw] mode
84120
+ # The encryption mode for the VPC Encryption Control configuration.
82783
84121
  # @return [String]
82784
84122
  #
82785
84123
  # @!attribute [rw] state
84124
+ # The current state of the VPC Encryption Control configuration.
82786
84125
  # @return [String]
82787
84126
  #
82788
84127
  # @!attribute [rw] state_message
84128
+ # A message providing additional information about the encryption
84129
+ # control state.
82789
84130
  # @return [String]
82790
84131
  #
82791
84132
  # @!attribute [rw] resource_exclusions
84133
+ # Information about resource exclusions for the VPC Encryption Control
84134
+ # configuration.
82792
84135
  # @return [Types::VpcEncryptionControlExclusions]
82793
84136
  #
82794
84137
  # @!attribute [rw] tags
84138
+ # The tags assigned to the VPC Encryption Control configuration.
82795
84139
  # @return [Array<Types::Tag>]
82796
84140
  #
82797
84141
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControl AWS API Documentation
@@ -82808,10 +84152,91 @@ module Aws::EC2
82808
84152
  include Aws::Structure
82809
84153
  end
82810
84154
 
84155
+ # Describes the configuration settings for VPC Encryption Control.
84156
+ #
84157
+ # For more information, see [Enforce VPC encryption in transit][1] in
84158
+ # the *Amazon VPC User Guide*.
84159
+ #
84160
+ #
84161
+ #
84162
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84163
+ #
84164
+ # @!attribute [rw] mode
84165
+ # The encryption mode for the VPC Encryption Control configuration.
84166
+ # @return [String]
84167
+ #
84168
+ # @!attribute [rw] internet_gateway_exclusion
84169
+ # Specifies whether to exclude internet gateway traffic from
84170
+ # encryption enforcement.
84171
+ # @return [String]
84172
+ #
84173
+ # @!attribute [rw] egress_only_internet_gateway_exclusion
84174
+ # Specifies whether to exclude egress-only internet gateway traffic
84175
+ # from encryption enforcement.
84176
+ # @return [String]
84177
+ #
84178
+ # @!attribute [rw] nat_gateway_exclusion
84179
+ # Specifies whether to exclude NAT gateway traffic from encryption
84180
+ # enforcement.
84181
+ # @return [String]
84182
+ #
84183
+ # @!attribute [rw] virtual_private_gateway_exclusion
84184
+ # Specifies whether to exclude virtual private gateway traffic from
84185
+ # encryption enforcement.
84186
+ # @return [String]
84187
+ #
84188
+ # @!attribute [rw] vpc_peering_exclusion
84189
+ # Specifies whether to exclude VPC peering connection traffic from
84190
+ # encryption enforcement.
84191
+ # @return [String]
84192
+ #
84193
+ # @!attribute [rw] lambda_exclusion
84194
+ # Specifies whether to exclude Lambda function traffic from encryption
84195
+ # enforcement.
84196
+ # @return [String]
84197
+ #
84198
+ # @!attribute [rw] vpc_lattice_exclusion
84199
+ # Specifies whether to exclude VPC Lattice traffic from encryption
84200
+ # enforcement.
84201
+ # @return [String]
84202
+ #
84203
+ # @!attribute [rw] elastic_file_system_exclusion
84204
+ # Specifies whether to exclude Elastic File System traffic from
84205
+ # encryption enforcement.
84206
+ # @return [String]
84207
+ #
84208
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlConfiguration AWS API Documentation
84209
+ #
84210
+ class VpcEncryptionControlConfiguration < Struct.new(
84211
+ :mode,
84212
+ :internet_gateway_exclusion,
84213
+ :egress_only_internet_gateway_exclusion,
84214
+ :nat_gateway_exclusion,
84215
+ :virtual_private_gateway_exclusion,
84216
+ :vpc_peering_exclusion,
84217
+ :lambda_exclusion,
84218
+ :vpc_lattice_exclusion,
84219
+ :elastic_file_system_exclusion)
84220
+ SENSITIVE = []
84221
+ include Aws::Structure
84222
+ end
84223
+
84224
+ # Describes an exclusion configuration for VPC Encryption Control.
84225
+ #
84226
+ # For more information, see [Enforce VPC encryption in transit][1] in
84227
+ # the *Amazon VPC User Guide*.
84228
+ #
84229
+ #
84230
+ #
84231
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84232
+ #
82811
84233
  # @!attribute [rw] state
84234
+ # The current state of the exclusion configuration.
82812
84235
  # @return [String]
82813
84236
  #
82814
84237
  # @!attribute [rw] state_message
84238
+ # A message providing additional information about the exclusion
84239
+ # state.
82815
84240
  # @return [String]
82816
84241
  #
82817
84242
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlExclusion AWS API Documentation
@@ -82823,28 +84248,47 @@ module Aws::EC2
82823
84248
  include Aws::Structure
82824
84249
  end
82825
84250
 
84251
+ # Describes the exclusion configurations for various resource types in
84252
+ # VPC Encryption Control.
84253
+ #
84254
+ # For more information, see [Enforce VPC encryption in transit][1] in
84255
+ # the *Amazon VPC User Guide*.
84256
+ #
84257
+ #
84258
+ #
84259
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84260
+ #
82826
84261
  # @!attribute [rw] internet_gateway
84262
+ # The exclusion configuration for internet gateway traffic.
82827
84263
  # @return [Types::VpcEncryptionControlExclusion]
82828
84264
  #
82829
84265
  # @!attribute [rw] egress_only_internet_gateway
84266
+ # The exclusion configuration for egress-only internet gateway
84267
+ # traffic.
82830
84268
  # @return [Types::VpcEncryptionControlExclusion]
82831
84269
  #
82832
84270
  # @!attribute [rw] nat_gateway
84271
+ # The exclusion configuration for NAT gateway traffic.
82833
84272
  # @return [Types::VpcEncryptionControlExclusion]
82834
84273
  #
82835
84274
  # @!attribute [rw] virtual_private_gateway
84275
+ # The exclusion configuration for virtual private gateway traffic.
82836
84276
  # @return [Types::VpcEncryptionControlExclusion]
82837
84277
  #
82838
84278
  # @!attribute [rw] vpc_peering
84279
+ # The exclusion configuration for VPC peering connection traffic.
82839
84280
  # @return [Types::VpcEncryptionControlExclusion]
82840
84281
  #
82841
84282
  # @!attribute [rw] lambda
84283
+ # The exclusion configuration for Lambda function traffic.
82842
84284
  # @return [Types::VpcEncryptionControlExclusion]
82843
84285
  #
82844
84286
  # @!attribute [rw] vpc_lattice
84287
+ # The exclusion configuration for VPC Lattice traffic.
82845
84288
  # @return [Types::VpcEncryptionControlExclusion]
82846
84289
  #
82847
84290
  # @!attribute [rw] elastic_file_system
84291
+ # The exclusion configuration for Elastic File System traffic.
82848
84292
  # @return [Types::VpcEncryptionControlExclusion]
82849
84293
  #
82850
84294
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionControlExclusions AWS API Documentation
@@ -82862,6 +84306,44 @@ module Aws::EC2
82862
84306
  include Aws::Structure
82863
84307
  end
82864
84308
 
84309
+ # Describes a resource that is not compliant with VPC encryption
84310
+ # requirements.
84311
+ #
84312
+ # For more information, see [Enforce VPC encryption in transit][1] in
84313
+ # the *Amazon VPC User Guide*.
84314
+ #
84315
+ #
84316
+ #
84317
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html
84318
+ #
84319
+ # @!attribute [rw] id
84320
+ # The ID of the non-compliant resource.
84321
+ # @return [String]
84322
+ #
84323
+ # @!attribute [rw] type
84324
+ # The type of the non-compliant resource.
84325
+ # @return [String]
84326
+ #
84327
+ # @!attribute [rw] description
84328
+ # A description of the non-compliant resource.
84329
+ # @return [String]
84330
+ #
84331
+ # @!attribute [rw] is_excludable
84332
+ # Indicates whether the resource can be excluded from encryption
84333
+ # enforcement.
84334
+ # @return [Boolean]
84335
+ #
84336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEncryptionNonCompliantResource AWS API Documentation
84337
+ #
84338
+ class VpcEncryptionNonCompliantResource < Struct.new(
84339
+ :id,
84340
+ :type,
84341
+ :description,
84342
+ :is_excludable)
84343
+ SENSITIVE = []
84344
+ include Aws::Structure
84345
+ end
84346
+
82865
84347
  # Describes a VPC endpoint.
82866
84348
  #
82867
84349
  # @!attribute [rw] vpc_endpoint_id