aws-sdk-ec2 1.581.0 → 1.583.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.
@@ -534,6 +534,8 @@ module Aws::EC2
534
534
  CreateInstanceExportTaskResult = Shapes::StructureShape.new(name: 'CreateInstanceExportTaskResult')
535
535
  CreateInternetGatewayRequest = Shapes::StructureShape.new(name: 'CreateInternetGatewayRequest')
536
536
  CreateInternetGatewayResult = Shapes::StructureShape.new(name: 'CreateInternetGatewayResult')
537
+ CreateInterruptibleCapacityReservationAllocationRequest = Shapes::StructureShape.new(name: 'CreateInterruptibleCapacityReservationAllocationRequest')
538
+ CreateInterruptibleCapacityReservationAllocationResult = Shapes::StructureShape.new(name: 'CreateInterruptibleCapacityReservationAllocationResult')
537
539
  CreateIpamExternalResourceVerificationTokenRequest = Shapes::StructureShape.new(name: 'CreateIpamExternalResourceVerificationTokenRequest')
538
540
  CreateIpamExternalResourceVerificationTokenResult = Shapes::StructureShape.new(name: 'CreateIpamExternalResourceVerificationTokenResult')
539
541
  CreateIpamPolicyRequest = Shapes::StructureShape.new(name: 'CreateIpamPolicyRequest')
@@ -2174,6 +2176,10 @@ module Aws::EC2
2174
2176
  InternetGatewayId = Shapes::StringShape.new(name: 'InternetGatewayId')
2175
2177
  InternetGatewayIdList = Shapes::ListShape.new(name: 'InternetGatewayIdList')
2176
2178
  InternetGatewayList = Shapes::ListShape.new(name: 'InternetGatewayList')
2179
+ InterruptibleCapacityAllocation = Shapes::StructureShape.new(name: 'InterruptibleCapacityAllocation')
2180
+ InterruptibleCapacityReservationAllocationStatus = Shapes::StringShape.new(name: 'InterruptibleCapacityReservationAllocationStatus')
2181
+ InterruptionInfo = Shapes::StructureShape.new(name: 'InterruptionInfo')
2182
+ InterruptionType = Shapes::StringShape.new(name: 'InterruptionType')
2177
2183
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
2178
2184
  IpAddressList = Shapes::ListShape.new(name: 'IpAddressList')
2179
2185
  IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
@@ -2734,6 +2740,11 @@ module Aws::EC2
2734
2740
  NatGatewayAddress = Shapes::StructureShape.new(name: 'NatGatewayAddress')
2735
2741
  NatGatewayAddressList = Shapes::ListShape.new(name: 'NatGatewayAddressList')
2736
2742
  NatGatewayAddressStatus = Shapes::StringShape.new(name: 'NatGatewayAddressStatus')
2743
+ NatGatewayApplianceModifyState = Shapes::StringShape.new(name: 'NatGatewayApplianceModifyState')
2744
+ NatGatewayApplianceState = Shapes::StringShape.new(name: 'NatGatewayApplianceState')
2745
+ NatGatewayApplianceType = Shapes::StringShape.new(name: 'NatGatewayApplianceType')
2746
+ NatGatewayAttachedAppliance = Shapes::StructureShape.new(name: 'NatGatewayAttachedAppliance')
2747
+ NatGatewayAttachedApplianceList = Shapes::ListShape.new(name: 'NatGatewayAttachedApplianceList')
2737
2748
  NatGatewayId = Shapes::StringShape.new(name: 'NatGatewayId')
2738
2749
  NatGatewayIdStringList = Shapes::ListShape.new(name: 'NatGatewayIdStringList')
2739
2750
  NatGatewayList = Shapes::ListShape.new(name: 'NatGatewayList')
@@ -3656,6 +3667,8 @@ module Aws::EC2
3656
3667
  UnsuccessfulItemSet = Shapes::ListShape.new(name: 'UnsuccessfulItemSet')
3657
3668
  UpdateCapacityManagerOrganizationsAccessRequest = Shapes::StructureShape.new(name: 'UpdateCapacityManagerOrganizationsAccessRequest')
3658
3669
  UpdateCapacityManagerOrganizationsAccessResult = Shapes::StructureShape.new(name: 'UpdateCapacityManagerOrganizationsAccessResult')
3670
+ UpdateInterruptibleCapacityReservationAllocationRequest = Shapes::StructureShape.new(name: 'UpdateInterruptibleCapacityReservationAllocationRequest')
3671
+ UpdateInterruptibleCapacityReservationAllocationResult = Shapes::StructureShape.new(name: 'UpdateInterruptibleCapacityReservationAllocationResult')
3659
3672
  UpdateSecurityGroupRuleDescriptionsEgressRequest = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsEgressRequest')
3660
3673
  UpdateSecurityGroupRuleDescriptionsEgressResult = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsEgressResult')
3661
3674
  UpdateSecurityGroupRuleDescriptionsIngressRequest = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsIngressRequest')
@@ -5019,6 +5032,9 @@ module Aws::EC2
5019
5032
  CapacityReservation.add_member(:commitment_info, Shapes::ShapeRef.new(shape: CapacityReservationCommitmentInfo, location_name: "commitmentInfo"))
5020
5033
  CapacityReservation.add_member(:delivery_preference, Shapes::ShapeRef.new(shape: CapacityReservationDeliveryPreference, location_name: "deliveryPreference"))
5021
5034
  CapacityReservation.add_member(:capacity_block_id, Shapes::ShapeRef.new(shape: CapacityBlockId, location_name: "capacityBlockId"))
5035
+ CapacityReservation.add_member(:interruptible, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "interruptible"))
5036
+ CapacityReservation.add_member(:interruptible_capacity_allocation, Shapes::ShapeRef.new(shape: InterruptibleCapacityAllocation, location_name: "interruptibleCapacityAllocation"))
5037
+ CapacityReservation.add_member(:interruption_info, Shapes::ShapeRef.new(shape: InterruptionInfo, location_name: "interruptionInfo"))
5022
5038
  CapacityReservation.struct_class = Types::CapacityReservation
5023
5039
 
5024
5040
  CapacityReservationBillingRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
@@ -5817,6 +5833,19 @@ module Aws::EC2
5817
5833
  CreateInternetGatewayResult.add_member(:internet_gateway, Shapes::ShapeRef.new(shape: InternetGateway, location_name: "internetGateway"))
5818
5834
  CreateInternetGatewayResult.struct_class = Types::CreateInternetGatewayResult
5819
5835
 
5836
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, required: true, location_name: "CapacityReservationId"))
5837
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "InstanceCount"))
5838
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken" => true}))
5839
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5840
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
5841
+ CreateInterruptibleCapacityReservationAllocationRequest.struct_class = Types::CreateInterruptibleCapacityReservationAllocationRequest
5842
+
5843
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "sourceCapacityReservationId"))
5844
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
5845
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
5846
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
5847
+ CreateInterruptibleCapacityReservationAllocationResult.struct_class = Types::CreateInterruptibleCapacityReservationAllocationResult
5848
+
5820
5849
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5821
5850
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:ipam_id, Shapes::ShapeRef.new(shape: IpamId, required: true, location_name: "IpamId"))
5822
5851
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
@@ -11036,6 +11065,9 @@ module Aws::EC2
11036
11065
  GetCapacityReservationUsageResult.add_member(:available_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "availableInstanceCount"))
11037
11066
  GetCapacityReservationUsageResult.add_member(:state, Shapes::ShapeRef.new(shape: CapacityReservationState, location_name: "state"))
11038
11067
  GetCapacityReservationUsageResult.add_member(:instance_usages, Shapes::ShapeRef.new(shape: InstanceUsageSet, location_name: "instanceUsageSet"))
11068
+ GetCapacityReservationUsageResult.add_member(:interruptible, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "interruptible"))
11069
+ GetCapacityReservationUsageResult.add_member(:interruptible_capacity_allocation, Shapes::ShapeRef.new(shape: InterruptibleCapacityAllocation, location_name: "interruptibleCapacityAllocation"))
11070
+ GetCapacityReservationUsageResult.add_member(:interruption_info, Shapes::ShapeRef.new(shape: InterruptionInfo, location_name: "interruptionInfo"))
11039
11071
  GetCapacityReservationUsageResult.struct_class = Types::GetCapacityReservationUsageResult
11040
11072
 
11041
11073
  GetCoipPoolUsageRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv4PoolCoipId, required: true, location_name: "PoolId"))
@@ -12766,6 +12798,17 @@ module Aws::EC2
12766
12798
 
12767
12799
  InternetGatewayList.member = Shapes::ShapeRef.new(shape: InternetGateway, location_name: "item")
12768
12800
 
12801
+ InterruptibleCapacityAllocation.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
12802
+ InterruptibleCapacityAllocation.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
12803
+ InterruptibleCapacityAllocation.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
12804
+ InterruptibleCapacityAllocation.add_member(:interruptible_capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "interruptibleCapacityReservationId"))
12805
+ InterruptibleCapacityAllocation.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
12806
+ InterruptibleCapacityAllocation.struct_class = Types::InterruptibleCapacityAllocation
12807
+
12808
+ InterruptionInfo.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "sourceCapacityReservationId"))
12809
+ InterruptionInfo.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
12810
+ InterruptionInfo.struct_class = Types::InterruptionInfo
12811
+
12769
12812
  IpAddressList.member = Shapes::ShapeRef.new(shape: IpAddress, location_name: "item")
12770
12813
 
12771
12814
  IpList.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
@@ -14920,6 +14963,7 @@ module Aws::EC2
14920
14963
  NatGateway.add_member(:availability_mode, Shapes::ShapeRef.new(shape: AvailabilityMode, location_name: "availabilityMode"))
14921
14964
  NatGateway.add_member(:auto_scaling_ips, Shapes::ShapeRef.new(shape: AutoScalingIpsState, location_name: "autoScalingIps"))
14922
14965
  NatGateway.add_member(:auto_provision_zones, Shapes::ShapeRef.new(shape: AutoProvisionZonesState, location_name: "autoProvisionZones"))
14966
+ NatGateway.add_member(:attached_appliances, Shapes::ShapeRef.new(shape: NatGatewayAttachedApplianceList, location_name: "attachedApplianceSet"))
14923
14967
  NatGateway.add_member(:route_table_id, Shapes::ShapeRef.new(shape: String, location_name: "routeTableId"))
14924
14968
  NatGateway.struct_class = Types::NatGateway
14925
14969
 
@@ -14937,6 +14981,17 @@ module Aws::EC2
14937
14981
 
14938
14982
  NatGatewayAddressList.member = Shapes::ShapeRef.new(shape: NatGatewayAddress, location_name: "item")
14939
14983
 
14984
+ NatGatewayAttachedAppliance.add_member(:type, Shapes::ShapeRef.new(shape: NatGatewayApplianceType, location_name: "type"))
14985
+ NatGatewayAttachedAppliance.add_member(:appliance_arn, Shapes::ShapeRef.new(shape: String, location_name: "applianceArn"))
14986
+ NatGatewayAttachedAppliance.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcEndpointId"))
14987
+ NatGatewayAttachedAppliance.add_member(:attachment_state, Shapes::ShapeRef.new(shape: NatGatewayApplianceState, location_name: "attachmentState"))
14988
+ NatGatewayAttachedAppliance.add_member(:modification_state, Shapes::ShapeRef.new(shape: NatGatewayApplianceModifyState, location_name: "modificationState"))
14989
+ NatGatewayAttachedAppliance.add_member(:failure_code, Shapes::ShapeRef.new(shape: String, location_name: "failureCode"))
14990
+ NatGatewayAttachedAppliance.add_member(:failure_message, Shapes::ShapeRef.new(shape: String, location_name: "failureMessage"))
14991
+ NatGatewayAttachedAppliance.struct_class = Types::NatGatewayAttachedAppliance
14992
+
14993
+ NatGatewayAttachedApplianceList.member = Shapes::ShapeRef.new(shape: NatGatewayAttachedAppliance, location_name: "item")
14994
+
14940
14995
  NatGatewayIdStringList.member = Shapes::ShapeRef.new(shape: NatGatewayId, location_name: "item")
14941
14996
 
14942
14997
  NatGatewayList.member = Shapes::ShapeRef.new(shape: NatGateway, location_name: "item")
@@ -18260,6 +18315,19 @@ module Aws::EC2
18260
18315
  UpdateCapacityManagerOrganizationsAccessResult.add_member(:organizations_access, Shapes::ShapeRef.new(shape: Boolean, location_name: "organizationsAccess"))
18261
18316
  UpdateCapacityManagerOrganizationsAccessResult.struct_class = Types::UpdateCapacityManagerOrganizationsAccessResult
18262
18317
 
18318
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, required: true, location_name: "CapacityReservationId"))
18319
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "TargetInstanceCount"))
18320
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
18321
+ UpdateInterruptibleCapacityReservationAllocationRequest.struct_class = Types::UpdateInterruptibleCapacityReservationAllocationRequest
18322
+
18323
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:interruptible_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "interruptibleCapacityReservationId"))
18324
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "sourceCapacityReservationId"))
18325
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
18326
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
18327
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
18328
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
18329
+ UpdateInterruptibleCapacityReservationAllocationResult.struct_class = Types::UpdateInterruptibleCapacityReservationAllocationResult
18330
+
18263
18331
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
18264
18332
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "GroupId"))
18265
18333
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: SecurityGroupName, location_name: "GroupName"))
@@ -19761,6 +19829,14 @@ module Aws::EC2
19761
19829
  o.output = Shapes::ShapeRef.new(shape: CreateInternetGatewayResult)
19762
19830
  end)
19763
19831
 
19832
+ api.add_operation(:create_interruptible_capacity_reservation_allocation, Seahorse::Model::Operation.new.tap do |o|
19833
+ o.name = "CreateInterruptibleCapacityReservationAllocation"
19834
+ o.http_method = "POST"
19835
+ o.http_request_uri = "/"
19836
+ o.input = Shapes::ShapeRef.new(shape: CreateInterruptibleCapacityReservationAllocationRequest)
19837
+ o.output = Shapes::ShapeRef.new(shape: CreateInterruptibleCapacityReservationAllocationResult)
19838
+ end)
19839
+
19764
19840
  api.add_operation(:create_ipam, Seahorse::Model::Operation.new.tap do |o|
19765
19841
  o.name = "CreateIpam"
19766
19842
  o.http_method = "POST"
@@ -26010,6 +26086,14 @@ module Aws::EC2
26010
26086
  o.output = Shapes::ShapeRef.new(shape: UpdateCapacityManagerOrganizationsAccessResult)
26011
26087
  end)
26012
26088
 
26089
+ api.add_operation(:update_interruptible_capacity_reservation_allocation, Seahorse::Model::Operation.new.tap do |o|
26090
+ o.name = "UpdateInterruptibleCapacityReservationAllocation"
26091
+ o.http_method = "POST"
26092
+ o.http_request_uri = "/"
26093
+ o.input = Shapes::ShapeRef.new(shape: UpdateInterruptibleCapacityReservationAllocationRequest)
26094
+ o.output = Shapes::ShapeRef.new(shape: UpdateInterruptibleCapacityReservationAllocationResult)
26095
+ end)
26096
+
26013
26097
  api.add_operation(:update_security_group_rule_descriptions_egress, Seahorse::Model::Operation.new.tap do |o|
26014
26098
  o.name = "UpdateSecurityGroupRuleDescriptionsEgress"
26015
26099
  o.http_method = "POST"
@@ -207,6 +207,13 @@ module Aws::EC2
207
207
  data[:auto_provision_zones]
208
208
  end
209
209
 
210
+ # The proxy appliances attached to the NAT Gateway for filtering and
211
+ # inspecting traffic to prevent data exfiltration.
212
+ # @return [Array<Types::NatGatewayAttachedAppliance>]
213
+ def attached_appliances
214
+ data[:attached_appliances]
215
+ end
216
+
210
217
  # For regional NAT gateways only, this is the ID of the NAT gateway.
211
218
  # @return [String]
212
219
  def route_table_id
@@ -164,7 +164,7 @@ module Aws::EC2
164
164
  # version: "String",
165
165
  # },
166
166
  # instance_market_options: {
167
- # market_type: "spot", # accepts spot, capacity-block
167
+ # market_type: "spot", # accepts spot, capacity-block, interruptible-capacity-reservation
168
168
  # spot_options: {
169
169
  # max_price: "String",
170
170
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -425,7 +425,7 @@ module Aws::EC2
425
425
  # version: "String",
426
426
  # },
427
427
  # instance_market_options: {
428
- # market_type: "spot", # accepts spot, capacity-block
428
+ # market_type: "spot", # accepts spot, capacity-block, interruptible-capacity-reservation
429
429
  # spot_options: {
430
430
  # max_price: "String",
431
431
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -5748,6 +5748,23 @@ module Aws::EC2
5748
5748
  # The ID of the Capacity Block.
5749
5749
  # @return [String]
5750
5750
  #
5751
+ # @!attribute [rw] interruptible
5752
+ # Indicates whether this Capacity Reservation is interruptible,
5753
+ # meaning instances may be terminated when the owner reclaims
5754
+ # capacity.
5755
+ # @return [Boolean]
5756
+ #
5757
+ # @!attribute [rw] interruptible_capacity_allocation
5758
+ # Contains allocation details for interruptible reservations,
5759
+ # including current allocated instances and target instance counts
5760
+ # within the interruptibleCapacityAllocation object.
5761
+ # @return [Types::InterruptibleCapacityAllocation]
5762
+ #
5763
+ # @!attribute [rw] interruption_info
5764
+ # Information about the interruption configuration and association
5765
+ # with the source reservation for interruptible Capacity Reservations.
5766
+ # @return [Types::InterruptionInfo]
5767
+ #
5751
5768
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
5752
5769
  #
5753
5770
  class CapacityReservation < Struct.new(
@@ -5778,7 +5795,10 @@ module Aws::EC2
5778
5795
  :unused_reservation_billing_owner_id,
5779
5796
  :commitment_info,
5780
5797
  :delivery_preference,
5781
- :capacity_block_id)
5798
+ :capacity_block_id,
5799
+ :interruptible,
5800
+ :interruptible_capacity_allocation,
5801
+ :interruption_info)
5782
5802
  SENSITIVE = []
5783
5803
  include Aws::Structure
5784
5804
  end
@@ -8862,9 +8882,9 @@ module Aws::EC2
8862
8882
  # The number of instances for which to reserve capacity.
8863
8883
  #
8864
8884
  # <note markdown="1"> You can request future-dated Capacity Reservations for an instance
8865
- # count with a minimum of 64 vCPUs. For example, if you request a
8885
+ # count with a minimum of 32 vCPUs. For example, if you request a
8866
8886
  # future-dated Capacity Reservation for `m5.xlarge` instances, you
8867
- # must request at least 25 instances (*16 * m5.xlarge = 64 vCPUs*).
8887
+ # must request at least 8 instances (*8 * m5.xlarge = 32 vCPUs*).
8868
8888
  #
8869
8889
  # </note>
8870
8890
  #
@@ -10769,6 +10789,78 @@ module Aws::EC2
10769
10789
  include Aws::Structure
10770
10790
  end
10771
10791
 
10792
+ # @!attribute [rw] capacity_reservation_id
10793
+ # The ID of the source Capacity Reservation from which to create the
10794
+ # interruptible Capacity Reservation. Your Capacity Reservation must
10795
+ # be in active state with no end date set and have available capacity
10796
+ # for allocation.
10797
+ # @return [String]
10798
+ #
10799
+ # @!attribute [rw] instance_count
10800
+ # The number of instances to allocate from your source reservation.
10801
+ # You can only allocate available instances (also called unused
10802
+ # capacity).
10803
+ # @return [Integer]
10804
+ #
10805
+ # @!attribute [rw] client_token
10806
+ # Unique, case-sensitive identifier that you provide to ensure the
10807
+ # idempotency of the request.
10808
+ #
10809
+ # **A suitable default value is auto-generated.** You should normally
10810
+ # not need to pass this option.
10811
+ # @return [String]
10812
+ #
10813
+ # @!attribute [rw] dry_run
10814
+ # Checks whether you have the required permissions for the action,
10815
+ # without actually making the request, and provides an error response.
10816
+ # @return [Boolean]
10817
+ #
10818
+ # @!attribute [rw] tag_specifications
10819
+ # The tags to apply to the interruptible Capacity Reservation during
10820
+ # creation.
10821
+ # @return [Array<Types::TagSpecification>]
10822
+ #
10823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInterruptibleCapacityReservationAllocationRequest AWS API Documentation
10824
+ #
10825
+ class CreateInterruptibleCapacityReservationAllocationRequest < Struct.new(
10826
+ :capacity_reservation_id,
10827
+ :instance_count,
10828
+ :client_token,
10829
+ :dry_run,
10830
+ :tag_specifications)
10831
+ SENSITIVE = []
10832
+ include Aws::Structure
10833
+ end
10834
+
10835
+ # @!attribute [rw] source_capacity_reservation_id
10836
+ # The ID of the source Capacity Reservation from which the
10837
+ # interruptible Capacity Reservation was created.
10838
+ # @return [String]
10839
+ #
10840
+ # @!attribute [rw] target_instance_count
10841
+ # The number of instances allocated to the interruptible reservation.
10842
+ # @return [Integer]
10843
+ #
10844
+ # @!attribute [rw] status
10845
+ # The current status of the allocation request (creating, active,
10846
+ # updating).
10847
+ # @return [String]
10848
+ #
10849
+ # @!attribute [rw] interruption_type
10850
+ # The type of interruption applied to the interruptible reservation.
10851
+ # @return [String]
10852
+ #
10853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInterruptibleCapacityReservationAllocationResult AWS API Documentation
10854
+ #
10855
+ class CreateInterruptibleCapacityReservationAllocationResult < Struct.new(
10856
+ :source_capacity_reservation_id,
10857
+ :target_instance_count,
10858
+ :status,
10859
+ :interruption_type)
10860
+ SENSITIVE = []
10861
+ include Aws::Structure
10862
+ end
10863
+
10772
10864
  # @!attribute [rw] dry_run
10773
10865
  # A check for whether you have the required permissions for the action
10774
10866
  # without actually making the request and provides an error response.
@@ -42700,6 +42792,22 @@ module Aws::EC2
42700
42792
  # Information about the Capacity Reservation usage.
42701
42793
  # @return [Array<Types::InstanceUsage>]
42702
42794
  #
42795
+ # @!attribute [rw] interruptible
42796
+ # Indicates whether the Capacity Reservation is interruptible, meaning
42797
+ # instances may be terminated when the owner reclaims capacity.
42798
+ # @return [Boolean]
42799
+ #
42800
+ # @!attribute [rw] interruptible_capacity_allocation
42801
+ # Information about the capacity allocated to the interruptible
42802
+ # Capacity Reservation, including instance counts and allocation
42803
+ # status.
42804
+ # @return [Types::InterruptibleCapacityAllocation]
42805
+ #
42806
+ # @!attribute [rw] interruption_info
42807
+ # Details about the interruption configuration and source reservation
42808
+ # for interruptible Capacity Reservations.
42809
+ # @return [Types::InterruptionInfo]
42810
+ #
42703
42811
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsageResult AWS API Documentation
42704
42812
  #
42705
42813
  class GetCapacityReservationUsageResult < Struct.new(
@@ -42709,7 +42817,10 @@ module Aws::EC2
42709
42817
  :total_instance_count,
42710
42818
  :available_instance_count,
42711
42819
  :state,
42712
- :instance_usages)
42820
+ :instance_usages,
42821
+ :interruptible,
42822
+ :interruptible_capacity_allocation,
42823
+ :interruption_info)
42713
42824
  SENSITIVE = []
42714
42825
  include Aws::Structure
42715
42826
  end
@@ -52409,6 +52520,69 @@ module Aws::EC2
52409
52520
  include Aws::Structure
52410
52521
  end
52411
52522
 
52523
+ # Represents the allocation of capacity from a source reservation to an
52524
+ # interruptible reservation, tracking current and target instance counts
52525
+ # for allocation management.
52526
+ #
52527
+ # @!attribute [rw] instance_count
52528
+ # The current number of instances allocated to the interruptible
52529
+ # reservation.
52530
+ # @return [Integer]
52531
+ #
52532
+ # @!attribute [rw] target_instance_count
52533
+ # After your modify request, the requested number of instances
52534
+ # allocated to interruptible reservation.
52535
+ # @return [Integer]
52536
+ #
52537
+ # @!attribute [rw] status
52538
+ # The current status of the allocation (updating during reclamation,
52539
+ # active when complete).
52540
+ # @return [String]
52541
+ #
52542
+ # @!attribute [rw] interruptible_capacity_reservation_id
52543
+ # The ID of the interruptible Capacity Reservation created from the
52544
+ # allocation.
52545
+ # @return [String]
52546
+ #
52547
+ # @!attribute [rw] interruption_type
52548
+ # The type of interruption policy applied to the interruptible
52549
+ # reservation.
52550
+ # @return [String]
52551
+ #
52552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InterruptibleCapacityAllocation AWS API Documentation
52553
+ #
52554
+ class InterruptibleCapacityAllocation < Struct.new(
52555
+ :instance_count,
52556
+ :target_instance_count,
52557
+ :status,
52558
+ :interruptible_capacity_reservation_id,
52559
+ :interruption_type)
52560
+ SENSITIVE = []
52561
+ include Aws::Structure
52562
+ end
52563
+
52564
+ # Contains information about how and when instances in an interruptible
52565
+ # reservation can be terminated when capacity is reclaimed.
52566
+ #
52567
+ # @!attribute [rw] source_capacity_reservation_id
52568
+ # The ID of the source Capacity Reservation from which the
52569
+ # interruptible reservation was created.
52570
+ # @return [String]
52571
+ #
52572
+ # @!attribute [rw] interruption_type
52573
+ # The interruption type that determines how instances are terminated
52574
+ # when capacity is reclaimed.
52575
+ # @return [String]
52576
+ #
52577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InterruptionInfo AWS API Documentation
52578
+ #
52579
+ class InterruptionInfo < Struct.new(
52580
+ :source_capacity_reservation_id,
52581
+ :interruption_type)
52582
+ SENSITIVE = []
52583
+ include Aws::Structure
52584
+ end
52585
+
52412
52586
  # Describes the permissions for a security group rule.
52413
52587
  #
52414
52588
  # @!attribute [rw] ip_protocol
@@ -64678,6 +64852,11 @@ module Aws::EC2
64678
64852
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html
64679
64853
  # @return [String]
64680
64854
  #
64855
+ # @!attribute [rw] attached_appliances
64856
+ # The proxy appliances attached to the NAT Gateway for filtering and
64857
+ # inspecting traffic to prevent data exfiltration.
64858
+ # @return [Array<Types::NatGatewayAttachedAppliance>]
64859
+ #
64681
64860
  # @!attribute [rw] route_table_id
64682
64861
  # For regional NAT gateways only, this is the ID of the NAT gateway.
64683
64862
  # @return [String]
@@ -64700,6 +64879,7 @@ module Aws::EC2
64700
64879
  :availability_mode,
64701
64880
  :auto_scaling_ips,
64702
64881
  :auto_provision_zones,
64882
+ :attached_appliances,
64703
64883
  :route_table_id)
64704
64884
  SENSITIVE = []
64705
64885
  include Aws::Structure
@@ -64772,6 +64952,57 @@ module Aws::EC2
64772
64952
  include Aws::Structure
64773
64953
  end
64774
64954
 
64955
+ # Information about an appliance attached to a NAT Gateway, providing
64956
+ # managed security solutions for traffic filtering and inspection.
64957
+ #
64958
+ # @!attribute [rw] type
64959
+ # The type of appliance attached to the NAT Gateway. For network
64960
+ # firewall proxy functionality, this will be
64961
+ # "network-firewall-proxy".
64962
+ # @return [String]
64963
+ #
64964
+ # @!attribute [rw] appliance_arn
64965
+ # The Amazon Resource Name (ARN) of the attached appliance,
64966
+ # identifying the specific proxy or security appliance resource.
64967
+ # @return [String]
64968
+ #
64969
+ # @!attribute [rw] vpc_endpoint_id
64970
+ # The VPC endpoint ID used to route traffic from application VPCs to
64971
+ # the proxy for inspection and filtering.
64972
+ # @return [String]
64973
+ #
64974
+ # @!attribute [rw] attachment_state
64975
+ # The current attachment state of the appliance.
64976
+ # @return [String]
64977
+ #
64978
+ # @!attribute [rw] modification_state
64979
+ # The current modification state of the appliance.
64980
+ # @return [String]
64981
+ #
64982
+ # @!attribute [rw] failure_code
64983
+ # The failure code if the appliance attachment or modification
64984
+ # operation failed.
64985
+ # @return [String]
64986
+ #
64987
+ # @!attribute [rw] failure_message
64988
+ # A descriptive message explaining the failure if the appliance
64989
+ # attachment or modification operation failed.
64990
+ # @return [String]
64991
+ #
64992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAttachedAppliance AWS API Documentation
64993
+ #
64994
+ class NatGatewayAttachedAppliance < Struct.new(
64995
+ :type,
64996
+ :appliance_arn,
64997
+ :vpc_endpoint_id,
64998
+ :attachment_state,
64999
+ :modification_state,
65000
+ :failure_code,
65001
+ :failure_message)
65002
+ SENSITIVE = []
65003
+ include Aws::Structure
65004
+ end
65005
+
64775
65006
  # Describes the OpenID Connect (OIDC) options.
64776
65007
  #
64777
65008
  # @!attribute [rw] public_signing_key_endpoint
@@ -81591,6 +81822,73 @@ module Aws::EC2
81591
81822
  include Aws::Structure
81592
81823
  end
81593
81824
 
81825
+ # @!attribute [rw] capacity_reservation_id
81826
+ # The ID of the source Capacity Reservation containing the
81827
+ # interruptible allocation to modify.
81828
+ # @return [String]
81829
+ #
81830
+ # @!attribute [rw] target_instance_count
81831
+ # The new number of instances to allocate. Enter a higher number to
81832
+ # add more capacity to share, or a lower number to reclaim capacity to
81833
+ # your source Capacity Reservation.
81834
+ # @return [Integer]
81835
+ #
81836
+ # @!attribute [rw] dry_run
81837
+ # Checks whether you have the required permissions for the action,
81838
+ # without actually making the request, and provides an error response.
81839
+ # @return [Boolean]
81840
+ #
81841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationRequest AWS API Documentation
81842
+ #
81843
+ class UpdateInterruptibleCapacityReservationAllocationRequest < Struct.new(
81844
+ :capacity_reservation_id,
81845
+ :target_instance_count,
81846
+ :dry_run)
81847
+ SENSITIVE = []
81848
+ include Aws::Structure
81849
+ end
81850
+
81851
+ # @!attribute [rw] interruptible_capacity_reservation_id
81852
+ # The ID of the interruptible Capacity Reservation that was modified.
81853
+ # @return [String]
81854
+ #
81855
+ # @!attribute [rw] source_capacity_reservation_id
81856
+ # The ID of the source Capacity Reservation to which capacity was
81857
+ # reclaimed or from which capacity was allocated.
81858
+ # @return [String]
81859
+ #
81860
+ # @!attribute [rw] instance_count
81861
+ # The current number of instances allocated to the interruptible
81862
+ # reservation.
81863
+ # @return [Integer]
81864
+ #
81865
+ # @!attribute [rw] target_instance_count
81866
+ # The requested number of instances for the interruptible Capacity
81867
+ # Reservation.
81868
+ # @return [Integer]
81869
+ #
81870
+ # @!attribute [rw] status
81871
+ # The current status of the allocation (updating during reclamation,
81872
+ # active when complete).
81873
+ # @return [String]
81874
+ #
81875
+ # @!attribute [rw] interruption_type
81876
+ # The interruption type for the interruptible reservation.
81877
+ # @return [String]
81878
+ #
81879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationResult AWS API Documentation
81880
+ #
81881
+ class UpdateInterruptibleCapacityReservationAllocationResult < Struct.new(
81882
+ :interruptible_capacity_reservation_id,
81883
+ :source_capacity_reservation_id,
81884
+ :instance_count,
81885
+ :target_instance_count,
81886
+ :status,
81887
+ :interruption_type)
81888
+ SENSITIVE = []
81889
+ include Aws::Structure
81890
+ end
81891
+
81594
81892
  # @!attribute [rw] dry_run
81595
81893
  # Checks whether you have the required permissions for the action,
81596
81894
  # without actually making the request, and provides an error response.
data/lib/aws-sdk-ec2.rb CHANGED
@@ -78,7 +78,7 @@ module Aws::EC2
78
78
  autoload :VpcPeeringConnection, 'aws-sdk-ec2/vpc_peering_connection'
79
79
  autoload :VpcAddress, 'aws-sdk-ec2/vpc_address'
80
80
 
81
- GEM_VERSION = '1.581.0'
81
+ GEM_VERSION = '1.583.0'
82
82
 
83
83
  end
84
84