aws-sdk-ec2 1.491.0 → 1.493.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -559,6 +559,59 @@ module Aws::EC2
559
559
  include Aws::Structure
560
560
  end
561
561
 
562
+ # Add an Organizational Unit (OU) exclusion to your IPAM. If your IPAM
563
+ # is integrated with Amazon Web Services Organizations and you add an
564
+ # organizational unit (OU) exclusion, IPAM will not manage the IP
565
+ # addresses in accounts in that OU exclusion. There is a limit on the
566
+ # number of exclusions you can create. For more information, see [Quotas
567
+ # for your IPAM][1] in the *Amazon VPC IPAM User Guide*.
568
+ #
569
+ #
570
+ #
571
+ # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html
572
+ #
573
+ # @!attribute [rw] organizations_entity_path
574
+ # An Amazon Web Services Organizations entity path. Build the path for
575
+ # the OU(s) using Amazon Web Services Organizations IDs separated by a
576
+ # `/`. Include all child OUs by ending the path with `/*`.
577
+ #
578
+ # * Example 1
579
+ #
580
+ # * Path to a child OU:
581
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-ghi0-awsccccc/ou-jkl0-awsddddd/`
582
+ #
583
+ # * In this example, `o-a1b2c3d4e5` is the organization ID,
584
+ # `r-f6g7h8i9j0example` is the root ID , `ou-ghi0-awsccccc` is an
585
+ # OU ID, and `ou-jkl0-awsddddd` is a child OU ID.
586
+ #
587
+ # * IPAM will not manage the IP addresses in accounts in the child
588
+ # OU.
589
+ # * Example 2
590
+ #
591
+ # * Path where all child OUs will be part of the exclusion:
592
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-ghi0-awsccccc/*`
593
+ #
594
+ # * In this example, IPAM will not manage the IP addresses in
595
+ # accounts in the OU (`ou-ghi0-awsccccc`) or in accounts in any
596
+ # OUs that are children of the OU.
597
+ #
598
+ # For more information on how to construct an entity path, see
599
+ # [Understand the Amazon Web Services Organizations entity path][1] in
600
+ # the *Amazon Web Services Identity and Access Management User Guide*.
601
+ #
602
+ #
603
+ #
604
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path
605
+ # @return [String]
606
+ #
607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AddIpamOrganizationalUnitExclusion AWS API Documentation
608
+ #
609
+ class AddIpamOrganizationalUnitExclusion < Struct.new(
610
+ :organizations_entity_path)
611
+ SENSITIVE = []
612
+ include Aws::Structure
613
+ end
614
+
562
615
  # An entry for a prefix list.
563
616
  #
564
617
  # @!attribute [rw] cidr
@@ -3711,6 +3764,54 @@ module Aws::EC2
3711
3764
  include Aws::Structure
3712
3765
  end
3713
3766
 
3767
+ # The baseline performance to consider, using an instance family as a
3768
+ # baseline reference. The instance family establishes the lowest
3769
+ # acceptable level of performance. Amazon EC2 uses this baseline to
3770
+ # guide instance type selection, but there is no guarantee that the
3771
+ # selected instance types will always exceed the baseline for every
3772
+ # application.
3773
+ #
3774
+ # Currently, this parameter only supports CPU performance as a baseline
3775
+ # performance factor. For example, specifying `c6i` would use the CPU
3776
+ # performance of the `c6i` family as the baseline reference.
3777
+ #
3778
+ # @!attribute [rw] cpu
3779
+ # The CPU performance to consider, using an instance family as the
3780
+ # baseline reference.
3781
+ # @return [Types::CpuPerformanceFactor]
3782
+ #
3783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BaselinePerformanceFactors AWS API Documentation
3784
+ #
3785
+ class BaselinePerformanceFactors < Struct.new(
3786
+ :cpu)
3787
+ SENSITIVE = []
3788
+ include Aws::Structure
3789
+ end
3790
+
3791
+ # The baseline performance to consider, using an instance family as a
3792
+ # baseline reference. The instance family establishes the lowest
3793
+ # acceptable level of performance. Amazon EC2 uses this baseline to
3794
+ # guide instance type selection, but there is no guarantee that the
3795
+ # selected instance types will always exceed the baseline for every
3796
+ # application.
3797
+ #
3798
+ # Currently, this parameter only supports CPU performance as a baseline
3799
+ # performance factor. For example, specifying `c6i` would use the CPU
3800
+ # performance of the `c6i` family as the baseline reference.
3801
+ #
3802
+ # @!attribute [rw] cpu
3803
+ # The CPU performance to consider, using an instance family as the
3804
+ # baseline reference.
3805
+ # @return [Types::CpuPerformanceFactorRequest]
3806
+ #
3807
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BaselinePerformanceFactorsRequest AWS API Documentation
3808
+ #
3809
+ class BaselinePerformanceFactorsRequest < Struct.new(
3810
+ :cpu)
3811
+ SENSITIVE = []
3812
+ include Aws::Structure
3813
+ end
3814
+
3714
3815
  # @!attribute [rw] value
3715
3816
  # @return [String]
3716
3817
  #
@@ -3774,19 +3875,19 @@ module Aws::EC2
3774
3875
  # @!attribute [rw] internet_gateway_block_mode
3775
3876
  # The mode of VPC BPA.
3776
3877
  #
3777
- # * `bidirectional-access-allowed`: VPC BPA is not enabled and traffic
3778
- # is allowed to and from internet gateways and egress-only internet
3779
- # gateways in this Region.
3878
+ # * `off`: VPC BPA is not enabled and traffic is allowed to and from
3879
+ # internet gateways and egress-only internet gateways in this
3880
+ # Region.
3780
3881
  #
3781
- # * `bidirectional-access-blocked`: Block all traffic to and from
3782
- # internet gateways and egress-only internet gateways in this Region
3783
- # (except for excluded VPCs and subnets).
3882
+ # * `block-bidirectional`: Block all traffic to and from internet
3883
+ # gateways and egress-only internet gateways in this Region (except
3884
+ # for excluded VPCs and subnets).
3784
3885
  #
3785
- # * `ingress-access-blocked`: Block all internet traffic to the VPCs
3786
- # in this Region (except for VPCs or subnets which are excluded).
3787
- # Only traffic to and from NAT gateways and egress-only internet
3788
- # gateways is allowed because these gateways only allow outbound
3789
- # connections to be established.
3886
+ # * `block-ingress`: Block all internet traffic to the VPCs in this
3887
+ # Region (except for VPCs or subnets which are excluded). Only
3888
+ # traffic to and from NAT gateways and egress-only internet gateways
3889
+ # is allowed because these gateways only allow outbound connections
3890
+ # to be established.
3790
3891
  # @return [String]
3791
3892
  #
3792
3893
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockPublicAccessStates AWS API Documentation
@@ -4496,6 +4597,181 @@ module Aws::EC2
4496
4597
  include Aws::Structure
4497
4598
  end
4498
4599
 
4600
+ # Describes a Capacity Block extension. With an extension, you can
4601
+ # extend the duration of time for an existing Capacity Block.
4602
+ #
4603
+ # @!attribute [rw] capacity_reservation_id
4604
+ # The reservation ID of the Capacity Block extension.
4605
+ # @return [String]
4606
+ #
4607
+ # @!attribute [rw] instance_type
4608
+ # The instance type of the Capacity Block extension.
4609
+ # @return [String]
4610
+ #
4611
+ # @!attribute [rw] instance_count
4612
+ # The number of instances in the Capacity Block extension.
4613
+ # @return [Integer]
4614
+ #
4615
+ # @!attribute [rw] availability_zone
4616
+ # The Availability Zone of the Capacity Block extension.
4617
+ # @return [String]
4618
+ #
4619
+ # @!attribute [rw] availability_zone_id
4620
+ # The Availability Zone ID of the Capacity Block extension.
4621
+ # @return [String]
4622
+ #
4623
+ # @!attribute [rw] capacity_block_extension_offering_id
4624
+ # The ID of the Capacity Block extension offering.
4625
+ # @return [String]
4626
+ #
4627
+ # @!attribute [rw] capacity_block_extension_duration_hours
4628
+ # The duration of the Capacity Block extension in hours.
4629
+ # @return [Integer]
4630
+ #
4631
+ # @!attribute [rw] capacity_block_extension_status
4632
+ # The status of the Capacity Block extension. A Capacity Block
4633
+ # extension can have one of the following statuses:
4634
+ #
4635
+ # * `payment-pending` - The Capacity Block extension payment is
4636
+ # processing. If your payment can't be processed within 12 hours,
4637
+ # the Capacity Block extension is failed.
4638
+ #
4639
+ # * `payment-failed` - Payment for the Capacity Block extension
4640
+ # request was not successful.
4641
+ #
4642
+ # * `payment-succeeded` - Payment for the Capacity Block extension
4643
+ # request was successful. You receive an invoice that reflects the
4644
+ # one-time upfront payment. In the invoice, you can associate the
4645
+ # paid amount with the Capacity Block reservation ID.
4646
+ # @return [String]
4647
+ #
4648
+ # @!attribute [rw] capacity_block_extension_purchase_date
4649
+ # The date when the Capacity Block extension was purchased.
4650
+ # @return [Time]
4651
+ #
4652
+ # @!attribute [rw] capacity_block_extension_start_date
4653
+ # The start date of the Capacity Block extension.
4654
+ # @return [Time]
4655
+ #
4656
+ # @!attribute [rw] capacity_block_extension_end_date
4657
+ # The end date of the Capacity Block extension.
4658
+ # @return [Time]
4659
+ #
4660
+ # @!attribute [rw] upfront_fee
4661
+ # The total price to be paid up front.
4662
+ # @return [String]
4663
+ #
4664
+ # @!attribute [rw] currency_code
4665
+ # The currency of the payment for the Capacity Block extension.
4666
+ # @return [String]
4667
+ #
4668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlockExtension AWS API Documentation
4669
+ #
4670
+ class CapacityBlockExtension < Struct.new(
4671
+ :capacity_reservation_id,
4672
+ :instance_type,
4673
+ :instance_count,
4674
+ :availability_zone,
4675
+ :availability_zone_id,
4676
+ :capacity_block_extension_offering_id,
4677
+ :capacity_block_extension_duration_hours,
4678
+ :capacity_block_extension_status,
4679
+ :capacity_block_extension_purchase_date,
4680
+ :capacity_block_extension_start_date,
4681
+ :capacity_block_extension_end_date,
4682
+ :upfront_fee,
4683
+ :currency_code)
4684
+ SENSITIVE = []
4685
+ include Aws::Structure
4686
+ end
4687
+
4688
+ # The recommended Capacity Block extension that fits your search
4689
+ # requirements.
4690
+ #
4691
+ # @!attribute [rw] capacity_block_extension_offering_id
4692
+ # The ID of the Capacity Block extension offering.
4693
+ # @return [String]
4694
+ #
4695
+ # @!attribute [rw] instance_type
4696
+ # The instance type of the Capacity Block that will be extended.
4697
+ # @return [String]
4698
+ #
4699
+ # @!attribute [rw] instance_count
4700
+ # The number of instances in the Capacity Block extension offering.
4701
+ # @return [Integer]
4702
+ #
4703
+ # @!attribute [rw] availability_zone
4704
+ # The Availability Zone of the Capacity Block that will be extended.
4705
+ # @return [String]
4706
+ #
4707
+ # @!attribute [rw] availability_zone_id
4708
+ # The Availability Zone ID of the Capacity Block that will be
4709
+ # extended.
4710
+ # @return [String]
4711
+ #
4712
+ # @!attribute [rw] start_date
4713
+ # The start date of the Capacity Block that will be extended.
4714
+ # @return [Time]
4715
+ #
4716
+ # @!attribute [rw] capacity_block_extension_start_date
4717
+ # The date and time at which the Capacity Block extension will start.
4718
+ # This date is also the same as the end date of the Capacity Block
4719
+ # that will be extended.
4720
+ # @return [Time]
4721
+ #
4722
+ # @!attribute [rw] capacity_block_extension_end_date
4723
+ # The date and time at which the Capacity Block extension expires.
4724
+ # When a Capacity Block expires, the reserved capacity is released and
4725
+ # you can no longer launch instances into it. The Capacity Block's
4726
+ # state changes to `expired` when it reaches its end date
4727
+ # @return [Time]
4728
+ #
4729
+ # @!attribute [rw] capacity_block_extension_duration_hours
4730
+ # The amount of time of the Capacity Block extension offering in
4731
+ # hours.
4732
+ # @return [Integer]
4733
+ #
4734
+ # @!attribute [rw] upfront_fee
4735
+ # The total price of the Capacity Block extension offering, to be paid
4736
+ # up front.
4737
+ # @return [String]
4738
+ #
4739
+ # @!attribute [rw] currency_code
4740
+ # The currency of the payment for the Capacity Block extension
4741
+ # offering.
4742
+ # @return [String]
4743
+ #
4744
+ # @!attribute [rw] tenancy
4745
+ # Indicates the tenancy of the Capacity Block extension offering. A
4746
+ # Capacity Block can have one of the following tenancy settings:
4747
+ #
4748
+ # * `default` - The Capacity Block is created on hardware that is
4749
+ # shared with other Amazon Web Services accounts.
4750
+ #
4751
+ # * `dedicated` - The Capacity Block is created on single-tenant
4752
+ # hardware that is dedicated to a single Amazon Web Services
4753
+ # account.
4754
+ # @return [String]
4755
+ #
4756
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlockExtensionOffering AWS API Documentation
4757
+ #
4758
+ class CapacityBlockExtensionOffering < Struct.new(
4759
+ :capacity_block_extension_offering_id,
4760
+ :instance_type,
4761
+ :instance_count,
4762
+ :availability_zone,
4763
+ :availability_zone_id,
4764
+ :start_date,
4765
+ :capacity_block_extension_start_date,
4766
+ :capacity_block_extension_end_date,
4767
+ :capacity_block_extension_duration_hours,
4768
+ :upfront_fee,
4769
+ :currency_code,
4770
+ :tenancy)
4771
+ SENSITIVE = []
4772
+ include Aws::Structure
4773
+ end
4774
+
4499
4775
  # The recommended Capacity Block that fits your search requirements.
4500
4776
  #
4501
4777
  # @!attribute [rw] capacity_block_offering_id
@@ -4523,7 +4799,10 @@ module Aws::EC2
4523
4799
  # @return [Time]
4524
4800
  #
4525
4801
  # @!attribute [rw] capacity_block_duration_hours
4526
- # The amount of time of the Capacity Block reservation in hours.
4802
+ # The number of hours (in addition to `capacityBlockDurationMinutes`)
4803
+ # for the duration of the Capacity Block reservation. For example, if
4804
+ # a Capacity Block starts at **04:55** and ends at **11:30**, the
4805
+ # hours field would be **6**.
4527
4806
  # @return [Integer]
4528
4807
  #
4529
4808
  # @!attribute [rw] upfront_fee
@@ -4538,6 +4817,13 @@ module Aws::EC2
4538
4817
  # The tenancy of the Capacity Block.
4539
4818
  # @return [String]
4540
4819
  #
4820
+ # @!attribute [rw] capacity_block_duration_minutes
4821
+ # The number of minutes (in addition to `capacityBlockDurationHours`)
4822
+ # for the duration of the Capacity Block reservation. For example, if
4823
+ # a Capacity Block starts at **08:55** and ends at **11:30**, the
4824
+ # minutes field would be **35**.
4825
+ # @return [Integer]
4826
+ #
4541
4827
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlockOffering AWS API Documentation
4542
4828
  #
4543
4829
  class CapacityBlockOffering < Struct.new(
@@ -4550,7 +4836,8 @@ module Aws::EC2
4550
4836
  :capacity_block_duration_hours,
4551
4837
  :upfront_fee,
4552
4838
  :currency_code,
4553
- :tenancy)
4839
+ :tenancy,
4840
+ :capacity_block_duration_minutes)
4554
4841
  SENSITIVE = []
4555
4842
  include Aws::Structure
4556
4843
  end
@@ -4627,23 +4914,41 @@ module Aws::EC2
4627
4914
  # The current state of the Capacity Reservation. A Capacity
4628
4915
  # Reservation can be in one of the following states:
4629
4916
  #
4630
- # * `active` - The Capacity Reservation is active and the capacity is
4631
- # available for your use.
4917
+ # * `active` - The capacity is available for use.
4632
4918
  #
4633
4919
  # * `expired` - The Capacity Reservation expired automatically at the
4634
- # date and time specified in your request. The reserved capacity is
4635
- # no longer available for your use.
4920
+ # date and time specified in your reservation request. The reserved
4921
+ # capacity is no longer available for your use.
4636
4922
  #
4637
- # * `cancelled` - The Capacity Reservation was cancelled. The reserved
4923
+ # * `cancelled` - The Capacity Reservation was canceled. The reserved
4638
4924
  # capacity is no longer available for your use.
4639
4925
  #
4640
4926
  # * `pending` - The Capacity Reservation request was successful but
4641
4927
  # the capacity provisioning is still pending.
4642
4928
  #
4643
4929
  # * `failed` - The Capacity Reservation request has failed. A request
4644
- # might fail due to invalid request parameters, capacity
4645
- # constraints, or instance limit constraints. Failed requests are
4646
- # retained for 60 minutes.
4930
+ # can fail due to request parameters that are not valid, capacity
4931
+ # constraints, or instance limit constraints. You can view a failed
4932
+ # request for 60 minutes.
4933
+ #
4934
+ # * `scheduled` - (*Future-dated Capacity Reservations only*) The
4935
+ # future-dated Capacity Reservation request was approved and the
4936
+ # Capacity Reservation is scheduled for delivery on the requested
4937
+ # start date.
4938
+ #
4939
+ # * `assessing` - (*Future-dated Capacity Reservations only*) Amazon
4940
+ # EC2 is assessing your request for a future-dated Capacity
4941
+ # Reservation.
4942
+ #
4943
+ # * `delayed` - (*Future-dated Capacity Reservations only*) Amazon EC2
4944
+ # encountered a delay in provisioning the requested future-dated
4945
+ # Capacity Reservation. Amazon EC2 is unable to deliver the
4946
+ # requested capacity by the requested start date and time.
4947
+ #
4948
+ # * `unsupported` - (*Future-dated Capacity Reservations only*) Amazon
4949
+ # EC2 can't support the future-dated Capacity Reservation request
4950
+ # due to capacity constraints. You can view unsupported requests for
4951
+ # 30 days. The Capacity Reservation will not be delivered.
4647
4952
  # @return [String]
4648
4953
  #
4649
4954
  # @!attribute [rw] start_date
@@ -4729,6 +5034,18 @@ module Aws::EC2
4729
5034
  # unused capacity of the Capacity Reservation is assigned.
4730
5035
  # @return [String]
4731
5036
  #
5037
+ # @!attribute [rw] commitment_info
5038
+ # Information about your commitment for a future-dated Capacity
5039
+ # Reservation.
5040
+ # @return [Types::CapacityReservationCommitmentInfo]
5041
+ #
5042
+ # @!attribute [rw] delivery_preference
5043
+ # The delivery method for a future-dated Capacity Reservation.
5044
+ # `incremental` indicates that the requested capacity is delivered in
5045
+ # addition to any running instances and reserved capacity that you
5046
+ # have in your account at the requested date and time.
5047
+ # @return [String]
5048
+ #
4732
5049
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
4733
5050
  #
4734
5051
  class CapacityReservation < Struct.new(
@@ -4756,7 +5073,9 @@ module Aws::EC2
4756
5073
  :placement_group_arn,
4757
5074
  :capacity_allocations,
4758
5075
  :reservation_type,
4759
- :unused_reservation_billing_owner_id)
5076
+ :unused_reservation_billing_owner_id,
5077
+ :commitment_info,
5078
+ :delivery_preference)
4760
5079
  SENSITIVE = []
4761
5080
  include Aws::Structure
4762
5081
  end
@@ -4815,6 +5134,30 @@ module Aws::EC2
4815
5134
  include Aws::Structure
4816
5135
  end
4817
5136
 
5137
+ # Information about your commitment for a future-dated Capacity
5138
+ # Reservation.
5139
+ #
5140
+ # @!attribute [rw] committed_instance_count
5141
+ # The instance capacity that you committed to when you requested the
5142
+ # future-dated Capacity Reservation.
5143
+ # @return [Integer]
5144
+ #
5145
+ # @!attribute [rw] commitment_end_date
5146
+ # The date and time at which the commitment duration expires, in the
5147
+ # ISO8601 format in the UTC time zone (`YYYY-MM-DDThh:mm:ss.sssZ`).
5148
+ # You can't decrease the instance count or cancel the Capacity
5149
+ # Reservation before this date and time.
5150
+ # @return [Time]
5151
+ #
5152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservationCommitmentInfo AWS API Documentation
5153
+ #
5154
+ class CapacityReservationCommitmentInfo < Struct.new(
5155
+ :committed_instance_count,
5156
+ :commitment_end_date)
5157
+ SENSITIVE = []
5158
+ include Aws::Structure
5159
+ end
5160
+
4818
5161
  # Information about a Capacity Reservation Fleet.
4819
5162
  #
4820
5163
  # @!attribute [rw] capacity_reservation_fleet_id
@@ -5110,29 +5453,34 @@ module Aws::EC2
5110
5453
  include Aws::Structure
5111
5454
  end
5112
5455
 
5113
- # Describes an instance's Capacity Reservation targeting option. You
5114
- # can specify only one parameter at a time. If you specify
5115
- # `CapacityReservationPreference` and `CapacityReservationTarget`, the
5116
- # request fails.
5456
+ # Describes an instance's Capacity Reservation targeting option.
5117
5457
  #
5118
5458
  # Use the `CapacityReservationPreference` parameter to configure the
5119
- # instance to run as an On-Demand Instance or to run in any `open`
5120
- # Capacity Reservation that has matching attributes (instance type,
5121
- # platform, Availability Zone). Use the `CapacityReservationTarget`
5122
- # parameter to explicitly target a specific Capacity Reservation or a
5123
- # Capacity Reservation group.
5459
+ # instance to run as an On-Demand Instance, to run in any `open`
5460
+ # Capacity Reservation that has matching attributes, or to run only in a
5461
+ # Capacity Reservation or Capacity Reservation group. Use the
5462
+ # `CapacityReservationTarget` parameter to explicitly target a specific
5463
+ # Capacity Reservation or a Capacity Reservation group.
5464
+ #
5465
+ # You can only specify `CapacityReservationPreference` and
5466
+ # `CapacityReservationTarget` if the `CapacityReservationPreference` is
5467
+ # `capacity-reservations-only`.
5124
5468
  #
5125
5469
  # @!attribute [rw] capacity_reservation_preference
5126
5470
  # Indicates the instance's Capacity Reservation preferences. Possible
5127
5471
  # preferences include:
5128
5472
  #
5473
+ # * `capacity-reservations-only` - The instance will only run in a
5474
+ # Capacity Reservation or Capacity Reservation group. If capacity
5475
+ # isn't available, the instance will fail to launch.
5476
+ #
5129
5477
  # * `open` - The instance can run in any `open` Capacity Reservation
5130
5478
  # that has matching attributes (instance type, platform,
5131
- # Availability Zone).
5479
+ # Availability Zone, and tenancy). If capacity isn't available, the
5480
+ # instance runs as an On-Demand Instance.
5132
5481
  #
5133
- # * `none` - The instance avoids running in a Capacity Reservation
5134
- # even if one is available. The instance runs as an On-Demand
5135
- # Instance.
5482
+ # * `none` - The instance doesn't run in a Capacity Reservation even
5483
+ # if one is available. The instance runs as an On-Demand Instance.
5136
5484
  # @return [String]
5137
5485
  #
5138
5486
  # @!attribute [rw] capacity_reservation_target
@@ -6939,6 +7287,52 @@ module Aws::EC2
6939
7287
  include Aws::Structure
6940
7288
  end
6941
7289
 
7290
+ # The CPU performance to consider, using an instance family as the
7291
+ # baseline reference.
7292
+ #
7293
+ # @!attribute [rw] references
7294
+ # Specify an instance family to use as the baseline reference for CPU
7295
+ # performance. All instance types that match your specified attributes
7296
+ # will be compared against the CPU performance of the referenced
7297
+ # instance family, regardless of CPU manufacturer or architecture
7298
+ # differences.
7299
+ #
7300
+ # <note markdown="1"> Currently, only one instance family can be specified in the list.
7301
+ #
7302
+ # </note>
7303
+ # @return [Array<Types::PerformanceFactorReference>]
7304
+ #
7305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CpuPerformanceFactor AWS API Documentation
7306
+ #
7307
+ class CpuPerformanceFactor < Struct.new(
7308
+ :references)
7309
+ SENSITIVE = []
7310
+ include Aws::Structure
7311
+ end
7312
+
7313
+ # The CPU performance to consider, using an instance family as the
7314
+ # baseline reference.
7315
+ #
7316
+ # @!attribute [rw] references
7317
+ # Specify an instance family to use as the baseline reference for CPU
7318
+ # performance. All instance types that match your specified attributes
7319
+ # will be compared against the CPU performance of the referenced
7320
+ # instance family, regardless of CPU manufacturer or architecture
7321
+ # differences.
7322
+ #
7323
+ # <note markdown="1"> Currently, only one instance family can be specified in the list.
7324
+ #
7325
+ # </note>
7326
+ # @return [Array<Types::PerformanceFactorReferenceRequest>]
7327
+ #
7328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CpuPerformanceFactorRequest AWS API Documentation
7329
+ #
7330
+ class CpuPerformanceFactorRequest < Struct.new(
7331
+ :references)
7332
+ SENSITIVE = []
7333
+ include Aws::Structure
7334
+ end
7335
+
6942
7336
  # @!attribute [rw] dry_run
6943
7337
  # Checks whether you have the required permissions for the action,
6944
7338
  # without actually making the request, and provides an error response.
@@ -7197,8 +7591,15 @@ module Aws::EC2
7197
7591
  # @return [String]
7198
7592
  #
7199
7593
  # @!attribute [rw] instance_type
7200
- # The instance type for which to reserve capacity. For more
7201
- # information, see [Instance types][1] in the *Amazon EC2 User Guide*.
7594
+ # The instance type for which to reserve capacity.
7595
+ #
7596
+ # <note markdown="1"> You can request future-dated Capacity Reservations for instance
7597
+ # types in the C, M, R, I, and T instance families only.
7598
+ #
7599
+ # </note>
7600
+ #
7601
+ # For more information, see [Instance types][1] in the *Amazon EC2
7602
+ # User Guide*.
7202
7603
  #
7203
7604
  #
7204
7605
  #
@@ -7233,6 +7634,13 @@ module Aws::EC2
7233
7634
  # @!attribute [rw] instance_count
7234
7635
  # The number of instances for which to reserve capacity.
7235
7636
  #
7637
+ # <note markdown="1"> You can request future-dated Capacity Reservations for an instance
7638
+ # count with a minimum of 100 VPUs. For example, if you request a
7639
+ # future-dated Capacity Reservation for `m5.xlarge` instances, you
7640
+ # must request at least 25 instances (*25 * m5.xlarge = 100 vCPUs*).
7641
+ #
7642
+ # </note>
7643
+ #
7236
7644
  # Valid range: 1 - 1000
7237
7645
  # @return [Integer]
7238
7646
  #
@@ -7263,6 +7671,10 @@ module Aws::EC2
7263
7671
  # cancelled within an hour from the specified time. For example, if
7264
7672
  # you specify 5/31/2019, 13:30:55, the Capacity Reservation is
7265
7673
  # guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
7674
+ #
7675
+ # If you are requesting a future-dated Capacity Reservation, you
7676
+ # can't specify an end date and time that is within the commitment
7677
+ # duration.
7266
7678
  # @return [Time]
7267
7679
  #
7268
7680
  # @!attribute [rw] end_date_type
@@ -7294,6 +7706,11 @@ module Aws::EC2
7294
7706
  # Reservation. This ensures that only permitted instances can use
7295
7707
  # the reserved capacity.
7296
7708
  #
7709
+ # <note markdown="1"> If you are requesting a future-dated Capacity Reservation, you must
7710
+ # specify `targeted`.
7711
+ #
7712
+ # </note>
7713
+ #
7297
7714
  # Default: `open`
7298
7715
  # @return [String]
7299
7716
  #
@@ -7309,11 +7726,19 @@ module Aws::EC2
7309
7726
  # @return [Boolean]
7310
7727
  #
7311
7728
  # @!attribute [rw] outpost_arn
7729
+ # <note markdown="1"> Not supported for future-dated Capacity Reservations.
7730
+ #
7731
+ # </note>
7732
+ #
7312
7733
  # The Amazon Resource Name (ARN) of the Outpost on which to create the
7313
7734
  # Capacity Reservation.
7314
7735
  # @return [String]
7315
7736
  #
7316
7737
  # @!attribute [rw] placement_group_arn
7738
+ # <note markdown="1"> Not supported for future-dated Capacity Reservations.
7739
+ #
7740
+ # </note>
7741
+ #
7317
7742
  # The Amazon Resource Name (ARN) of the cluster placement group in
7318
7743
  # which to create the Capacity Reservation. For more information, see
7319
7744
  # [ Capacity Reservations for cluster placement groups][1] in the
@@ -7324,6 +7749,53 @@ module Aws::EC2
7324
7749
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html
7325
7750
  # @return [String]
7326
7751
  #
7752
+ # @!attribute [rw] start_date
7753
+ # <note markdown="1"> Required for future-dated Capacity Reservations only. To create a
7754
+ # Capacity Reservation for immediate use, omit this parameter.
7755
+ #
7756
+ # </note>
7757
+ #
7758
+ # The date and time at which the future-dated Capacity Reservation
7759
+ # should become available for use, in the ISO8601 format in the UTC
7760
+ # time zone (`YYYY-MM-DDThh:mm:ss.sssZ`).
7761
+ #
7762
+ # You can request a future-dated Capacity Reservation between 5 and
7763
+ # 120 days in advance.
7764
+ # @return [Time]
7765
+ #
7766
+ # @!attribute [rw] commitment_duration
7767
+ # <note markdown="1"> Required for future-dated Capacity Reservations only. To create a
7768
+ # Capacity Reservation for immediate use, omit this parameter.
7769
+ #
7770
+ # </note>
7771
+ #
7772
+ # Specify a commitment duration, in seconds, for the future-dated
7773
+ # Capacity Reservation.
7774
+ #
7775
+ # The commitment duration is a minimum duration for which you commit
7776
+ # to having the future-dated Capacity Reservation in the `active`
7777
+ # state in your account after it has been delivered.
7778
+ #
7779
+ # For more information, see [ Commitment duration][1].
7780
+ #
7781
+ #
7782
+ #
7783
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-concepts.html#cr-commitment-duration
7784
+ # @return [Integer]
7785
+ #
7786
+ # @!attribute [rw] delivery_preference
7787
+ # <note markdown="1"> Required for future-dated Capacity Reservations only. To create a
7788
+ # Capacity Reservation for immediate use, omit this parameter.
7789
+ #
7790
+ # </note>
7791
+ #
7792
+ # Indicates that the requested capacity will be delivered in addition
7793
+ # to any running instances or reserved capacity that you have in your
7794
+ # account at the requested date and time.
7795
+ #
7796
+ # The only supported value is `incremental`.
7797
+ # @return [String]
7798
+ #
7327
7799
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservationRequest AWS API Documentation
7328
7800
  #
7329
7801
  class CreateCapacityReservationRequest < Struct.new(
@@ -7342,7 +7814,10 @@ module Aws::EC2
7342
7814
  :tag_specifications,
7343
7815
  :dry_run,
7344
7816
  :outpost_arn,
7345
- :placement_group_arn)
7817
+ :placement_group_arn,
7818
+ :start_date,
7819
+ :commitment_duration,
7820
+ :delivery_preference)
7346
7821
  SENSITIVE = []
7347
7822
  include Aws::Structure
7348
7823
  end
@@ -13065,13 +13540,13 @@ module Aws::EC2
13065
13540
  # @!attribute [rw] internet_gateway_exclusion_mode
13066
13541
  # The exclusion mode for internet gateway traffic.
13067
13542
  #
13068
- # * `bidirectional-access-allowed`: Allow all internet traffic to and
13069
- # from the excluded VPCs and subnets.
13543
+ # * `allow-bidirectional`: Allow all internet traffic to and from the
13544
+ # excluded VPCs and subnets.
13070
13545
  #
13071
- # * `egress-access-allowed`: Allow outbound internet traffic from the
13072
- # excluded VPCs and subnets. Block inbound internet traffic to the
13073
- # excluded VPCs and subnets. Only applies when VPC Block Public
13074
- # Access is set to Bidirectional.
13546
+ # * `allow-egress`: Allow outbound internet traffic from the excluded
13547
+ # VPCs and subnets. Block inbound internet traffic to the excluded
13548
+ # VPCs and subnets. Only applies when VPC Block Public Access is set
13549
+ # to Bidirectional.
13075
13550
  # @return [String]
13076
13551
  #
13077
13552
  # @!attribute [rw] tag_specifications
@@ -17350,6 +17825,143 @@ module Aws::EC2
17350
17825
  include Aws::Structure
17351
17826
  end
17352
17827
 
17828
+ # @!attribute [rw] capacity_reservation_ids
17829
+ # The IDs of Capacity Block reservations that you want to display the
17830
+ # history for.
17831
+ # @return [Array<String>]
17832
+ #
17833
+ # @!attribute [rw] next_token
17834
+ # The token to use to retrieve the next page of results.
17835
+ # @return [String]
17836
+ #
17837
+ # @!attribute [rw] max_results
17838
+ # The maximum number of items to return for this request. To get the
17839
+ # next page of items, make another request with the token returned in
17840
+ # the output. For more information, see [Pagination][1].
17841
+ #
17842
+ #
17843
+ #
17844
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
17845
+ # @return [Integer]
17846
+ #
17847
+ # @!attribute [rw] filters
17848
+ # One or more filters
17849
+ #
17850
+ # * `availability-zone` - The Availability Zone of the extension.
17851
+ #
17852
+ # * `availability-zone-id` - The Availability Zone ID of the
17853
+ # extension.
17854
+ #
17855
+ # * `capacity-block-extension-offering-id` - The ID of the extension
17856
+ # offering.
17857
+ #
17858
+ # * `capacity-block-extension-status` - The status of the extension
17859
+ # (`payment-pending` \| `payment-failed` \| `payment-succeeded`).
17860
+ #
17861
+ # * `capacity-reservation-id` - The reservation ID of the extension.
17862
+ #
17863
+ # * `instance-type` - The instance type of the extension.
17864
+ # @return [Array<Types::Filter>]
17865
+ #
17866
+ # @!attribute [rw] dry_run
17867
+ # Checks whether you have the required permissions for the action,
17868
+ # without actually making the request, and provides an error response.
17869
+ # If you have the required permissions, the error response is
17870
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17871
+ # @return [Boolean]
17872
+ #
17873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockExtensionHistoryRequest AWS API Documentation
17874
+ #
17875
+ class DescribeCapacityBlockExtensionHistoryRequest < Struct.new(
17876
+ :capacity_reservation_ids,
17877
+ :next_token,
17878
+ :max_results,
17879
+ :filters,
17880
+ :dry_run)
17881
+ SENSITIVE = []
17882
+ include Aws::Structure
17883
+ end
17884
+
17885
+ # @!attribute [rw] capacity_block_extensions
17886
+ # Describes one or more of your Capacity Block extensions. The results
17887
+ # describe only the Capacity Block extensions in the Amazon Web
17888
+ # Services Region that you're currently using.
17889
+ # @return [Array<Types::CapacityBlockExtension>]
17890
+ #
17891
+ # @!attribute [rw] next_token
17892
+ # The token to use to retrieve the next page of results. This value is
17893
+ # `null` when there are no more results to return.
17894
+ # @return [String]
17895
+ #
17896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockExtensionHistoryResult AWS API Documentation
17897
+ #
17898
+ class DescribeCapacityBlockExtensionHistoryResult < Struct.new(
17899
+ :capacity_block_extensions,
17900
+ :next_token)
17901
+ SENSITIVE = []
17902
+ include Aws::Structure
17903
+ end
17904
+
17905
+ # @!attribute [rw] dry_run
17906
+ # Checks whether you have the required permissions for the action,
17907
+ # without actually making the request, and provides an error response.
17908
+ # If you have the required permissions, the error response is
17909
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17910
+ # @return [Boolean]
17911
+ #
17912
+ # @!attribute [rw] capacity_block_extension_duration_hours
17913
+ # The duration of the Capacity Block extension offering in hours.
17914
+ # @return [Integer]
17915
+ #
17916
+ # @!attribute [rw] capacity_reservation_id
17917
+ # The ID of the Capacity reservation to be extended.
17918
+ # @return [String]
17919
+ #
17920
+ # @!attribute [rw] next_token
17921
+ # The token to use to retrieve the next page of results.
17922
+ # @return [String]
17923
+ #
17924
+ # @!attribute [rw] max_results
17925
+ # The maximum number of items to return for this request. To get the
17926
+ # next page of items, make another request with the token returned in
17927
+ # the output. For more information, see [Pagination][1].
17928
+ #
17929
+ #
17930
+ #
17931
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
17932
+ # @return [Integer]
17933
+ #
17934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockExtensionOfferingsRequest AWS API Documentation
17935
+ #
17936
+ class DescribeCapacityBlockExtensionOfferingsRequest < Struct.new(
17937
+ :dry_run,
17938
+ :capacity_block_extension_duration_hours,
17939
+ :capacity_reservation_id,
17940
+ :next_token,
17941
+ :max_results)
17942
+ SENSITIVE = []
17943
+ include Aws::Structure
17944
+ end
17945
+
17946
+ # @!attribute [rw] capacity_block_extension_offerings
17947
+ # The recommended Capacity Block extension offerings for the dates
17948
+ # specified.
17949
+ # @return [Array<Types::CapacityBlockExtensionOffering>]
17950
+ #
17951
+ # @!attribute [rw] next_token
17952
+ # The token to use to retrieve the next page of results. This value is
17953
+ # `null` when there are no more results to return.
17954
+ # @return [String]
17955
+ #
17956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockExtensionOfferingsResult AWS API Documentation
17957
+ #
17958
+ class DescribeCapacityBlockExtensionOfferingsResult < Struct.new(
17959
+ :capacity_block_extension_offerings,
17960
+ :next_token)
17961
+ SENSITIVE = []
17962
+ include Aws::Structure
17963
+ end
17964
+
17353
17965
  # @!attribute [rw] dry_run
17354
17966
  # Checks whether you have the required permissions for the action,
17355
17967
  # without actually making the request, and provides an error response.
@@ -28224,8 +28836,7 @@ module Aws::EC2
28224
28836
  # * `resource-arn` - The Amazon Resource Name (ARN) of a exclusion.
28225
28837
  #
28226
28838
  # * `internet-gateway-exclusion-mode` - The mode of a VPC BPA
28227
- # exclusion. Possible values: `bidirectional-access-allowed |
28228
- # egress-access-allowed`.
28839
+ # exclusion. Possible values: `allow-bidirectional | allow-egress`.
28229
28840
  #
28230
28841
  # * `state` - The state of VPC BPA. Possible values:
28231
28842
  # `create-in-progress | create-complete | update-in-progress |
@@ -35405,23 +36016,41 @@ module Aws::EC2
35405
36016
  # The current state of the Capacity Reservation. A Capacity
35406
36017
  # Reservation can be in one of the following states:
35407
36018
  #
35408
- # * `active` - The Capacity Reservation is active and the capacity is
35409
- # available for your use.
36019
+ # * `active` - The capacity is available for use.
35410
36020
  #
35411
36021
  # * `expired` - The Capacity Reservation expired automatically at the
35412
- # date and time specified in your request. The reserved capacity is
35413
- # no longer available for your use.
36022
+ # date and time specified in your reservation request. The reserved
36023
+ # capacity is no longer available for your use.
35414
36024
  #
35415
- # * `cancelled` - The Capacity Reservation was cancelled. The reserved
36025
+ # * `cancelled` - The Capacity Reservation was canceled. The reserved
35416
36026
  # capacity is no longer available for your use.
35417
36027
  #
35418
36028
  # * `pending` - The Capacity Reservation request was successful but
35419
36029
  # the capacity provisioning is still pending.
35420
36030
  #
35421
36031
  # * `failed` - The Capacity Reservation request has failed. A request
35422
- # might fail due to invalid request parameters, capacity
35423
- # constraints, or instance limit constraints. Failed requests are
35424
- # retained for 60 minutes.
36032
+ # can fail due to request parameters that are not valid, capacity
36033
+ # constraints, or instance limit constraints. You can view a failed
36034
+ # request for 60 minutes.
36035
+ #
36036
+ # * `scheduled` - (*Future-dated Capacity Reservations only*) The
36037
+ # future-dated Capacity Reservation request was approved and the
36038
+ # Capacity Reservation is scheduled for delivery on the requested
36039
+ # start date.
36040
+ #
36041
+ # * `assessing` - (*Future-dated Capacity Reservations only*) Amazon
36042
+ # EC2 is assessing your request for a future-dated Capacity
36043
+ # Reservation.
36044
+ #
36045
+ # * `delayed` - (*Future-dated Capacity Reservations only*) Amazon EC2
36046
+ # encountered a delay in provisioning the requested future-dated
36047
+ # Capacity Reservation. Amazon EC2 is unable to deliver the
36048
+ # requested capacity by the requested start date and time.
36049
+ #
36050
+ # * `unsupported` - (*Future-dated Capacity Reservations only*) Amazon
36051
+ # EC2 can't support the future-dated Capacity Reservation request
36052
+ # due to capacity constraints. You can view unsupported requests for
36053
+ # 30 days. The Capacity Reservation will not be delivered.
35425
36054
  # @return [String]
35426
36055
  #
35427
36056
  # @!attribute [rw] instance_usages
@@ -42315,6 +42944,21 @@ module Aws::EC2
42315
42944
  # </note>
42316
42945
  # @return [Integer]
42317
42946
  #
42947
+ # @!attribute [rw] baseline_performance_factors
42948
+ # The baseline performance to consider, using an instance family as a
42949
+ # baseline reference. The instance family establishes the lowest
42950
+ # acceptable level of performance. Amazon EC2 uses this baseline to
42951
+ # guide instance type selection, but there is no guarantee that the
42952
+ # selected instance types will always exceed the baseline for every
42953
+ # application. Currently, this parameter only supports CPU performance
42954
+ # as a baseline performance factor. For more information, see
42955
+ # [Performance protection][1] in the *Amazon EC2 User Guide*.
42956
+ #
42957
+ #
42958
+ #
42959
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection
42960
+ # @return [Types::BaselinePerformanceFactors]
42961
+ #
42318
42962
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceRequirements AWS API Documentation
42319
42963
  #
42320
42964
  class InstanceRequirements < Struct.new(
@@ -42341,7 +42985,8 @@ module Aws::EC2
42341
42985
  :accelerator_total_memory_mi_b,
42342
42986
  :network_bandwidth_gbps,
42343
42987
  :allowed_instance_types,
42344
- :max_spot_price_as_percentage_of_optimal_on_demand_price)
42988
+ :max_spot_price_as_percentage_of_optimal_on_demand_price,
42989
+ :baseline_performance_factors)
42345
42990
  SENSITIVE = []
42346
42991
  include Aws::Structure
42347
42992
  end
@@ -42785,6 +43430,21 @@ module Aws::EC2
42785
43430
  # </note>
42786
43431
  # @return [Integer]
42787
43432
  #
43433
+ # @!attribute [rw] baseline_performance_factors
43434
+ # The baseline performance to consider, using an instance family as a
43435
+ # baseline reference. The instance family establishes the lowest
43436
+ # acceptable level of performance. Amazon EC2 uses this baseline to
43437
+ # guide instance type selection, but there is no guarantee that the
43438
+ # selected instance types will always exceed the baseline for every
43439
+ # application. Currently, this parameter only supports CPU performance
43440
+ # as a baseline performance factor. For more information, see
43441
+ # [Performance protection][1] in the *Amazon EC2 User Guide*.
43442
+ #
43443
+ #
43444
+ #
43445
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection
43446
+ # @return [Types::BaselinePerformanceFactorsRequest]
43447
+ #
42788
43448
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceRequirementsRequest AWS API Documentation
42789
43449
  #
42790
43450
  class InstanceRequirementsRequest < Struct.new(
@@ -42811,7 +43471,8 @@ module Aws::EC2
42811
43471
  :accelerator_total_memory_mi_b,
42812
43472
  :network_bandwidth_gbps,
42813
43473
  :allowed_instance_types,
42814
- :max_spot_price_as_percentage_of_optimal_on_demand_price)
43474
+ :max_spot_price_as_percentage_of_optimal_on_demand_price,
43475
+ :baseline_performance_factors)
42815
43476
  SENSITIVE = []
42816
43477
  include Aws::Structure
42817
43478
  end
@@ -43848,6 +44509,11 @@ module Aws::EC2
43848
44509
  # The last successful resource discovery time.
43849
44510
  # @return [Time]
43850
44511
  #
44512
+ # @!attribute [rw] organizational_unit_id
44513
+ # The ID of an Organizational Unit in Amazon Web Services
44514
+ # Organizations.
44515
+ # @return [String]
44516
+ #
43851
44517
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamDiscoveredAccount AWS API Documentation
43852
44518
  #
43853
44519
  class IpamDiscoveredAccount < Struct.new(
@@ -43855,7 +44521,8 @@ module Aws::EC2
43855
44521
  :discovery_region,
43856
44522
  :failure_reason,
43857
44523
  :last_attempted_discovery_time,
43858
- :last_successful_discovery_time)
44524
+ :last_successful_discovery_time,
44525
+ :organizational_unit_id)
43859
44526
  SENSITIVE = []
43860
44527
  include Aws::Structure
43861
44528
  end
@@ -44214,6 +44881,29 @@ module Aws::EC2
44214
44881
  include Aws::Structure
44215
44882
  end
44216
44883
 
44884
+ # If your IPAM is integrated with Amazon Web Services Organizations and
44885
+ # you add an organizational unit (OU) exclusion, IPAM will not manage
44886
+ # the IP addresses in accounts in that OU exclusion.
44887
+ #
44888
+ # @!attribute [rw] organizations_entity_path
44889
+ # An Amazon Web Services Organizations entity path. For more
44890
+ # information on the entity path, see [Understand the Amazon Web
44891
+ # Services Organizations entity path][1] in the *Amazon Web Services
44892
+ # Identity and Access Management User Guide*.
44893
+ #
44894
+ #
44895
+ #
44896
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path
44897
+ # @return [String]
44898
+ #
44899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamOrganizationalUnitExclusion AWS API Documentation
44900
+ #
44901
+ class IpamOrganizationalUnitExclusion < Struct.new(
44902
+ :organizations_entity_path)
44903
+ SENSITIVE = []
44904
+ include Aws::Structure
44905
+ end
44906
+
44217
44907
  # In IPAM, a pool is a collection of contiguous IP addresses CIDRs.
44218
44908
  # Pools enable you to organize your IP addresses according to your
44219
44909
  # routing and security needs. For example, if you have separate routing
@@ -44839,6 +45529,12 @@ module Aws::EC2
44839
45529
  # Services costs.
44840
45530
  # @return [Array<Types::Tag>]
44841
45531
  #
45532
+ # @!attribute [rw] organizational_unit_exclusions
45533
+ # If your IPAM is integrated with Amazon Web Services Organizations
45534
+ # and you add an organizational unit (OU) exclusion, IPAM will not
45535
+ # manage the IP addresses in accounts in that OU exclusion.
45536
+ # @return [Array<Types::IpamOrganizationalUnitExclusion>]
45537
+ #
44842
45538
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpamResourceDiscovery AWS API Documentation
44843
45539
  #
44844
45540
  class IpamResourceDiscovery < Struct.new(
@@ -44850,7 +45546,8 @@ module Aws::EC2
44850
45546
  :operating_regions,
44851
45547
  :is_default,
44852
45548
  :state,
44853
- :tags)
45549
+ :tags,
45550
+ :organizational_unit_exclusions)
44854
45551
  SENSITIVE = []
44855
45552
  include Aws::Structure
44856
45553
  end
@@ -50277,6 +50974,32 @@ module Aws::EC2
50277
50974
  # Remove operating Regions.
50278
50975
  # @return [Array<Types::RemoveIpamOperatingRegion>]
50279
50976
  #
50977
+ # @!attribute [rw] add_organizational_unit_exclusions
50978
+ # Add an Organizational Unit (OU) exclusion to your IPAM. If your IPAM
50979
+ # is integrated with Amazon Web Services Organizations and you add an
50980
+ # organizational unit (OU) exclusion, IPAM will not manage the IP
50981
+ # addresses in accounts in that OU exclusion. There is a limit on the
50982
+ # number of exclusions you can create. For more information, see
50983
+ # [Quotas for your IPAM][1] in the *Amazon VPC IPAM User Guide*.
50984
+ #
50985
+ #
50986
+ #
50987
+ # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html
50988
+ # @return [Array<Types::AddIpamOrganizationalUnitExclusion>]
50989
+ #
50990
+ # @!attribute [rw] remove_organizational_unit_exclusions
50991
+ # Remove an Organizational Unit (OU) exclusion to your IPAM. If your
50992
+ # IPAM is integrated with Amazon Web Services Organizations and you
50993
+ # add an organizational unit (OU) exclusion, IPAM will not manage the
50994
+ # IP addresses in accounts in that OU exclusion. There is a limit on
50995
+ # the number of exclusions you can create. For more information, see
50996
+ # [Quotas for your IPAM][1] in the *Amazon VPC IPAM User Guide*.
50997
+ #
50998
+ #
50999
+ #
51000
+ # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html
51001
+ # @return [Array<Types::RemoveIpamOrganizationalUnitExclusion>]
51002
+ #
50280
51003
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIpamResourceDiscoveryRequest AWS API Documentation
50281
51004
  #
50282
51005
  class ModifyIpamResourceDiscoveryRequest < Struct.new(
@@ -50284,7 +51007,9 @@ module Aws::EC2
50284
51007
  :ipam_resource_discovery_id,
50285
51008
  :description,
50286
51009
  :add_operating_regions,
50287
- :remove_operating_regions)
51010
+ :remove_operating_regions,
51011
+ :add_organizational_unit_exclusions,
51012
+ :remove_organizational_unit_exclusions)
50288
51013
  SENSITIVE = []
50289
51014
  include Aws::Structure
50290
51015
  end
@@ -52254,13 +52979,13 @@ module Aws::EC2
52254
52979
  # @!attribute [rw] internet_gateway_exclusion_mode
52255
52980
  # The exclusion mode for internet gateway traffic.
52256
52981
  #
52257
- # * `bidirectional-access-allowed`: Allow all internet traffic to and
52258
- # from the excluded VPCs and subnets.
52982
+ # * `allow-bidirectional`: Allow all internet traffic to and from the
52983
+ # excluded VPCs and subnets.
52259
52984
  #
52260
- # * `egress-access-allowed`: Allow outbound internet traffic from the
52261
- # excluded VPCs and subnets. Block inbound internet traffic to the
52262
- # excluded VPCs and subnets. Only applies when VPC Block Public
52263
- # Access is set to Bidirectional.
52985
+ # * `allow-egress`: Allow outbound internet traffic from the excluded
52986
+ # VPCs and subnets. Block inbound internet traffic to the excluded
52987
+ # VPCs and subnets. Only applies when VPC Block Public Access is set
52988
+ # to Bidirectional.
52264
52989
  # @return [String]
52265
52990
  #
52266
52991
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcBlockPublicAccessExclusionRequest AWS API Documentation
@@ -52295,19 +53020,19 @@ module Aws::EC2
52295
53020
  # @!attribute [rw] internet_gateway_block_mode
52296
53021
  # The mode of VPC BPA.
52297
53022
  #
52298
- # * `bidirectional-access-allowed`: VPC BPA is not enabled and traffic
52299
- # is allowed to and from internet gateways and egress-only internet
52300
- # gateways in this Region.
53023
+ # * `off`: VPC BPA is not enabled and traffic is allowed to and from
53024
+ # internet gateways and egress-only internet gateways in this
53025
+ # Region.
52301
53026
  #
52302
- # * `bidirectional-access-blocked`: Block all traffic to and from
52303
- # internet gateways and egress-only internet gateways in this Region
52304
- # (except for excluded VPCs and subnets).
53027
+ # * `block-bidirectional`: Block all traffic to and from internet
53028
+ # gateways and egress-only internet gateways in this Region (except
53029
+ # for excluded VPCs and subnets).
52305
53030
  #
52306
- # * `ingress-access-blocked`: Block all internet traffic to the VPCs
52307
- # in this Region (except for VPCs or subnets which are excluded).
52308
- # Only traffic to and from NAT gateways and egress-only internet
52309
- # gateways is allowed because these gateways only allow outbound
52310
- # connections to be established.
53031
+ # * `block-ingress`: Block all internet traffic to the VPCs in this
53032
+ # Region (except for VPCs or subnets which are excluded). Only
53033
+ # traffic to and from NAT gateways and egress-only internet gateways
53034
+ # is allowed because these gateways only allow outbound connections
53035
+ # to be established.
52311
53036
  # @return [String]
52312
53037
  #
52313
53038
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcBlockPublicAccessOptionsRequest AWS API Documentation
@@ -55367,6 +56092,132 @@ module Aws::EC2
55367
56092
  include Aws::Structure
55368
56093
  end
55369
56094
 
56095
+ # Specify an instance family to use as the baseline reference for CPU
56096
+ # performance. All instance types that match your specified attributes
56097
+ # will be compared against the CPU performance of the referenced
56098
+ # instance family, regardless of CPU manufacturer or architecture.
56099
+ #
56100
+ # <note markdown="1"> Currently, only one instance family can be specified in the list.
56101
+ #
56102
+ # </note>
56103
+ #
56104
+ # @!attribute [rw] instance_family
56105
+ # The instance family to use as a baseline reference.
56106
+ #
56107
+ # <note markdown="1"> Ensure that you specify the correct value for the instance family.
56108
+ # The instance family is everything before the period (`.`) in the
56109
+ # instance type name. For example, in the instance type `c6i.large`,
56110
+ # the instance family is `c6i`, not `c6`. For more information, see
56111
+ # [Amazon EC2 instance type naming conventions][1] in *Amazon EC2
56112
+ # Instance Types*.
56113
+ #
56114
+ # </note>
56115
+ #
56116
+ # The following instance families are *not supported* for performance
56117
+ # protection:
56118
+ #
56119
+ # * `c1`
56120
+ #
56121
+ # * `g3` \| `g3s`
56122
+ #
56123
+ # * `hpc7g`
56124
+ #
56125
+ # * `m1` \| `m2`
56126
+ #
56127
+ # * `mac1` \| `mac2` \| `mac2-m1ultra` \| `mac2-m2` \| `mac2-m2pro`
56128
+ #
56129
+ # * `p3dn` \| `p4d` \| `p5`
56130
+ #
56131
+ # * `t1`
56132
+ #
56133
+ # * `u-12tb1` \| `u-18tb1` \| `u-24tb1` \| `u-3tb1` \| `u-6tb1` \|
56134
+ # `u-9tb1` \| `u7i-12tb` \| `u7in-16tb` \| `u7in-24tb` \|
56135
+ # `u7in-32tb`
56136
+ #
56137
+ # If you enable performance protection by specifying a supported
56138
+ # instance family, the returned instance types will exclude the above
56139
+ # unsupported instance families.
56140
+ #
56141
+ # If you specify an unsupported instance family as a value for
56142
+ # baseline performance, the API returns an empty response for and an
56143
+ # exception for , , , and .
56144
+ #
56145
+ #
56146
+ #
56147
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html
56148
+ # @return [String]
56149
+ #
56150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PerformanceFactorReference AWS API Documentation
56151
+ #
56152
+ class PerformanceFactorReference < Struct.new(
56153
+ :instance_family)
56154
+ SENSITIVE = []
56155
+ include Aws::Structure
56156
+ end
56157
+
56158
+ # Specify an instance family to use as the baseline reference for CPU
56159
+ # performance. All instance types that match your specified attributes
56160
+ # will be compared against the CPU performance of the referenced
56161
+ # instance family, regardless of CPU manufacturer or architecture.
56162
+ #
56163
+ # <note markdown="1"> Currently, only one instance family can be specified in the list.
56164
+ #
56165
+ # </note>
56166
+ #
56167
+ # @!attribute [rw] instance_family
56168
+ # The instance family to use as a baseline reference.
56169
+ #
56170
+ # <note markdown="1"> Ensure that you specify the correct value for the instance family.
56171
+ # The instance family is everything before the period (`.`) in the
56172
+ # instance type name. For example, in the instance type `c6i.large`,
56173
+ # the instance family is `c6i`, not `c6`. For more information, see
56174
+ # [Amazon EC2 instance type naming conventions][1] in *Amazon EC2
56175
+ # Instance Types*.
56176
+ #
56177
+ # </note>
56178
+ #
56179
+ # The following instance families are *not supported* for performance
56180
+ # protection:
56181
+ #
56182
+ # * `c1`
56183
+ #
56184
+ # * `g3` \| `g3s`
56185
+ #
56186
+ # * `hpc7g`
56187
+ #
56188
+ # * `m1` \| `m2`
56189
+ #
56190
+ # * `mac1` \| `mac2` \| `mac2-m1ultra` \| `mac2-m2` \| `mac2-m2pro`
56191
+ #
56192
+ # * `p3dn` \| `p4d` \| `p5`
56193
+ #
56194
+ # * `t1`
56195
+ #
56196
+ # * `u-12tb1` \| `u-18tb1` \| `u-24tb1` \| `u-3tb1` \| `u-6tb1` \|
56197
+ # `u-9tb1` \| `u7i-12tb` \| `u7in-16tb` \| `u7in-24tb` \|
56198
+ # `u7in-32tb`
56199
+ #
56200
+ # If you enable performance protection by specifying a supported
56201
+ # instance family, the returned instance types will exclude the above
56202
+ # unsupported instance families.
56203
+ #
56204
+ # If you specify an unsupported instance family as a value for
56205
+ # baseline performance, the API returns an empty response for and an
56206
+ # exception for , , , and .
56207
+ #
56208
+ #
56209
+ #
56210
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html
56211
+ # @return [String]
56212
+ #
56213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PerformanceFactorReferenceRequest AWS API Documentation
56214
+ #
56215
+ class PerformanceFactorReferenceRequest < Struct.new(
56216
+ :instance_family)
56217
+ SENSITIVE = []
56218
+ include Aws::Structure
56219
+ end
56220
+
55370
56221
  # The Diffie-Hellmann group number for phase 1 IKE negotiations.
55371
56222
  #
55372
56223
  # @!attribute [rw] value
@@ -56645,6 +57496,43 @@ module Aws::EC2
56645
57496
  include Aws::Structure
56646
57497
  end
56647
57498
 
57499
+ # @!attribute [rw] capacity_block_extension_offering_id
57500
+ # The ID of the Capacity Block extension offering to purchase.
57501
+ # @return [String]
57502
+ #
57503
+ # @!attribute [rw] capacity_reservation_id
57504
+ # The ID of the Capacity reservation to be extended.
57505
+ # @return [String]
57506
+ #
57507
+ # @!attribute [rw] dry_run
57508
+ # Checks whether you have the required permissions for the action,
57509
+ # without actually making the request, and provides an error response.
57510
+ # If you have the required permissions, the error response is
57511
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
57512
+ # @return [Boolean]
57513
+ #
57514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlockExtensionRequest AWS API Documentation
57515
+ #
57516
+ class PurchaseCapacityBlockExtensionRequest < Struct.new(
57517
+ :capacity_block_extension_offering_id,
57518
+ :capacity_reservation_id,
57519
+ :dry_run)
57520
+ SENSITIVE = []
57521
+ include Aws::Structure
57522
+ end
57523
+
57524
+ # @!attribute [rw] capacity_block_extensions
57525
+ # The purchased Capacity Block extensions.
57526
+ # @return [Array<Types::CapacityBlockExtension>]
57527
+ #
57528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlockExtensionResult AWS API Documentation
57529
+ #
57530
+ class PurchaseCapacityBlockExtensionResult < Struct.new(
57531
+ :capacity_block_extensions)
57532
+ SENSITIVE = []
57533
+ include Aws::Structure
57534
+ end
57535
+
56648
57536
  # @!attribute [rw] dry_run
56649
57537
  # Checks whether you have the required permissions for the action,
56650
57538
  # without actually making the request, and provides an error response.
@@ -57715,6 +58603,59 @@ module Aws::EC2
57715
58603
  include Aws::Structure
57716
58604
  end
57717
58605
 
58606
+ # Remove an Organizational Unit (OU) exclusion to your IPAM. If your
58607
+ # IPAM is integrated with Amazon Web Services Organizations and you add
58608
+ # an organizational unit (OU) exclusion, IPAM will not manage the IP
58609
+ # addresses in accounts in that OU exclusion. There is a limit on the
58610
+ # number of exclusions you can create. For more information, see [Quotas
58611
+ # for your IPAM][1] in the *Amazon VPC IPAM User Guide*.
58612
+ #
58613
+ #
58614
+ #
58615
+ # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/quotas-ipam.html
58616
+ #
58617
+ # @!attribute [rw] organizations_entity_path
58618
+ # An Amazon Web Services Organizations entity path. Build the path for
58619
+ # the OU(s) using Amazon Web Services Organizations IDs separated by a
58620
+ # `/`. Include all child OUs by ending the path with `/*`.
58621
+ #
58622
+ # * Example 1
58623
+ #
58624
+ # * Path to a child OU:
58625
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-ghi0-awsccccc/ou-jkl0-awsddddd/`
58626
+ #
58627
+ # * In this example, `o-a1b2c3d4e5` is the organization ID,
58628
+ # `r-f6g7h8i9j0example` is the root ID , `ou-ghi0-awsccccc` is an
58629
+ # OU ID, and `ou-jkl0-awsddddd` is a child OU ID.
58630
+ #
58631
+ # * IPAM will not manage the IP addresses in accounts in the child
58632
+ # OU.
58633
+ # * Example 2
58634
+ #
58635
+ # * Path where all child OUs will be part of the exclusion:
58636
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-ghi0-awsccccc/*`
58637
+ #
58638
+ # * In this example, IPAM will not manage the IP addresses in
58639
+ # accounts in the OU (`ou-ghi0-awsccccc`) or in accounts in any
58640
+ # OUs that are children of the OU.
58641
+ #
58642
+ # For more information on how to construct an entity path, see
58643
+ # [Understand the Amazon Web Services Organizations entity path][1] in
58644
+ # the *Amazon Web Services Identity and Access Management User Guide*.
58645
+ #
58646
+ #
58647
+ #
58648
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path
58649
+ # @return [String]
58650
+ #
58651
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RemoveIpamOrganizationalUnitExclusion AWS API Documentation
58652
+ #
58653
+ class RemoveIpamOrganizationalUnitExclusion < Struct.new(
58654
+ :organizations_entity_path)
58655
+ SENSITIVE = []
58656
+ include Aws::Structure
58657
+ end
58658
+
57718
58659
  # An entry for a prefix list.
57719
58660
  #
57720
58661
  # @!attribute [rw] cidr
@@ -61216,7 +62157,7 @@ module Aws::EC2
61216
62157
  # do not specify this parameter, the instance's Capacity Reservation
61217
62158
  # preference defaults to `open`, which enables it to run in any open
61218
62159
  # Capacity Reservation that has matching attributes (instance type,
61219
- # platform, Availability Zone).
62160
+ # platform, Availability Zone, and tenancy).
61220
62161
  # @return [Types::CapacityReservationSpecification]
61221
62162
  #
61222
62163
  # @!attribute [rw] hibernation_options
@@ -70183,13 +71124,13 @@ module Aws::EC2
70183
71124
  # @!attribute [rw] internet_gateway_exclusion_mode
70184
71125
  # The exclusion mode for internet gateway traffic.
70185
71126
  #
70186
- # * `bidirectional-access-allowed`: Allow all internet traffic to and
70187
- # from the excluded VPCs and subnets.
71127
+ # * `allow-bidirectional`: Allow all internet traffic to and from the
71128
+ # excluded VPCs and subnets.
70188
71129
  #
70189
- # * `egress-access-allowed`: Allow outbound internet traffic from the
70190
- # excluded VPCs and subnets. Block inbound internet traffic to the
70191
- # excluded VPCs and subnets. Only applies when VPC Block Public
70192
- # Access is set to Bidirectional.
71130
+ # * `allow-egress`: Allow outbound internet traffic from the excluded
71131
+ # VPCs and subnets. Block inbound internet traffic to the excluded
71132
+ # VPCs and subnets. Only applies when VPC Block Public Access is set
71133
+ # to Bidirectional.
70193
71134
  # @return [String]
70194
71135
  #
70195
71136
  # @!attribute [rw] resource_arn
@@ -70240,7 +71181,7 @@ module Aws::EC2
70240
71181
  include Aws::Structure
70241
71182
  end
70242
71183
 
70243
- # VPC Block public Access (BPA) enables you to block resources in VPCs
71184
+ # VPC Block Public Access (BPA) enables you to block resources in VPCs
70244
71185
  # and subnets that you own in a Region from reaching or being reached
70245
71186
  # from the internet through internet gateways and egress-only internet
70246
71187
  # gateways. To learn more about VPC BPA, see [Block public access to
@@ -70265,19 +71206,19 @@ module Aws::EC2
70265
71206
  # @!attribute [rw] internet_gateway_block_mode
70266
71207
  # The current mode of VPC BPA.
70267
71208
  #
70268
- # * `bidirectional-access-allowed`: VPC BPA is not enabled and traffic
70269
- # is allowed to and from internet gateways and egress-only internet
70270
- # gateways in this Region.
71209
+ # * `off`: VPC BPA is not enabled and traffic is allowed to and from
71210
+ # internet gateways and egress-only internet gateways in this
71211
+ # Region.
70271
71212
  #
70272
- # * `bidirectional-access-blocked`: Block all traffic to and from
70273
- # internet gateways and egress-only internet gateways in this Region
70274
- # (except for excluded VPCs and subnets).
71213
+ # * `block-bidirectional`: Block all traffic to and from internet
71214
+ # gateways and egress-only internet gateways in this Region (except
71215
+ # for excluded VPCs and subnets).
70275
71216
  #
70276
- # * `ingress-access-blocked`: Block all internet traffic to the VPCs
70277
- # in this Region (except for VPCs or subnets which are excluded).
70278
- # Only traffic to and from NAT gateways and egress-only internet
70279
- # gateways is allowed because these gateways only allow outbound
70280
- # connections to be established.
71217
+ # * `block-ingress`: Block all internet traffic to the VPCs in this
71218
+ # Region (except for VPCs or subnets which are excluded). Only
71219
+ # traffic to and from NAT gateways and egress-only internet gateways
71220
+ # is allowed because these gateways only allow outbound connections
71221
+ # to be established.
70281
71222
  # @return [String]
70282
71223
  #
70283
71224
  # @!attribute [rw] reason