aws-sdk-ec2 1.491.0 → 1.493.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.
@@ -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