aws-sdk-ec2 1.581.0 → 1.582.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91da3ba67e47a65b94454e7a821b377c9dff6525cd1a08f96323de89ca62fa4a
4
- data.tar.gz: d3ee28d31c7bea76743fd001676dfe6ba8e1e63df5ea570b7c0a359a41f32264
3
+ metadata.gz: 006b03aaf065d64e9e30770bf0cefade1e88cb5e878f7b79b446b6ef83ced9b7
4
+ data.tar.gz: cea4d00c211c7adc4050d4b792ec4df33157092e0c8a9abb2082e878e525fec9
5
5
  SHA512:
6
- metadata.gz: 878a0dcf3b7d43be9d14bffa8e4d851b3dbcbc58c2d9f886a1e9c7a8e992ba1e2c6e0ad7b810cb819a2ec92fda5c7b8e24c95e67cc432770a6467fecc68f695e
7
- data.tar.gz: 02c1bf62736f91f71dce3f57e6d118865a81a298c287721785150442016be0142930e8d9f2862186524dbdc57d7b9054ad55e6d55ff91e957f3862cd20b990ca
6
+ metadata.gz: 62ab35be8b6bd5693ee6faf60eeb7f5d1f8f21cca50ecc9b756f6b5018982782d4773046007b78199581e160b08a95c2ab10cbae61ac28ab050612b1ed6fc2a4
7
+ data.tar.gz: eb178d2d63aeb85500611bf4ea555bfaa61f769a79ee33db9243615e71fcb84e4888e76e9caeaf61305a39616fccb7556c72c08ecd9f906213f21ba3cc7a256b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.582.0 (2025-11-21)
5
+ ------------------
6
+
7
+ * Feature - This release adds a new capability to create and manage interruptible EC2 Capacity Reservations.
8
+
4
9
  1.581.0 (2025-11-20)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.581.0
1
+ 1.582.0
@@ -5773,9 +5773,9 @@ module Aws::EC2
5773
5773
  # The number of instances for which to reserve capacity.
5774
5774
  #
5775
5775
  # <note markdown="1"> You can request future-dated Capacity Reservations for an instance
5776
- # count with a minimum of 64 vCPUs. For example, if you request a
5776
+ # count with a minimum of 32 vCPUs. For example, if you request a
5777
5777
  # future-dated Capacity Reservation for `m5.xlarge` instances, you must
5778
- # request at least 25 instances (*16 * m5.xlarge = 64 vCPUs*).
5778
+ # request at least 8 instances (*8 * m5.xlarge = 32 vCPUs*).
5779
5779
  #
5780
5780
  # </note>
5781
5781
  #
@@ -5992,6 +5992,14 @@ module Aws::EC2
5992
5992
  # resp.capacity_reservation.commitment_info.commitment_end_date #=> Time
5993
5993
  # resp.capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
5994
5994
  # resp.capacity_reservation.capacity_block_id #=> String
5995
+ # resp.capacity_reservation.interruptible #=> Boolean
5996
+ # resp.capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
5997
+ # resp.capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
5998
+ # resp.capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
5999
+ # resp.capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
6000
+ # resp.capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
6001
+ # resp.capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
6002
+ # resp.capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
5995
6003
  #
5996
6004
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation AWS API Documentation
5997
6005
  #
@@ -6097,6 +6105,14 @@ module Aws::EC2
6097
6105
  # resp.source_capacity_reservation.commitment_info.commitment_end_date #=> Time
6098
6106
  # resp.source_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
6099
6107
  # resp.source_capacity_reservation.capacity_block_id #=> String
6108
+ # resp.source_capacity_reservation.interruptible #=> Boolean
6109
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
6110
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
6111
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
6112
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
6113
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
6114
+ # resp.source_capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
6115
+ # resp.source_capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
6100
6116
  # resp.destination_capacity_reservation.capacity_reservation_id #=> String
6101
6117
  # resp.destination_capacity_reservation.owner_id #=> String
6102
6118
  # resp.destination_capacity_reservation.capacity_reservation_arn #=> String
@@ -6130,6 +6146,14 @@ module Aws::EC2
6130
6146
  # resp.destination_capacity_reservation.commitment_info.commitment_end_date #=> Time
6131
6147
  # resp.destination_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
6132
6148
  # resp.destination_capacity_reservation.capacity_block_id #=> String
6149
+ # resp.destination_capacity_reservation.interruptible #=> Boolean
6150
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
6151
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
6152
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
6153
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
6154
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
6155
+ # resp.destination_capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
6156
+ # resp.destination_capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
6133
6157
  # resp.instance_count #=> Integer
6134
6158
  #
6135
6159
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservationBySplitting AWS API Documentation
@@ -8944,6 +8968,79 @@ module Aws::EC2
8944
8968
  req.send_request(options)
8945
8969
  end
8946
8970
 
8971
+ # Creates an interruptible Capacity Reservation by specifying the number
8972
+ # of unused instances you want to allocate from your source reservation.
8973
+ # This helps you make unused capacity available for other workloads
8974
+ # within your account while maintaining control to reclaim it.
8975
+ #
8976
+ # @option params [required, String] :capacity_reservation_id
8977
+ # The ID of the source Capacity Reservation from which to create the
8978
+ # interruptible Capacity Reservation. Your Capacity Reservation must be
8979
+ # in active state with no end date set and have available capacity for
8980
+ # allocation.
8981
+ #
8982
+ # @option params [required, Integer] :instance_count
8983
+ # The number of instances to allocate from your source reservation. You
8984
+ # can only allocate available instances (also called unused capacity).
8985
+ #
8986
+ # @option params [String] :client_token
8987
+ # Unique, case-sensitive identifier that you provide to ensure the
8988
+ # idempotency of the request.
8989
+ #
8990
+ # **A suitable default value is auto-generated.** You should normally
8991
+ # not need to pass this option.**
8992
+ #
8993
+ # @option params [Boolean] :dry_run
8994
+ # Checks whether you have the required permissions for the action,
8995
+ # without actually making the request, and provides an error response.
8996
+ #
8997
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
8998
+ # The tags to apply to the interruptible Capacity Reservation during
8999
+ # creation.
9000
+ #
9001
+ # @return [Types::CreateInterruptibleCapacityReservationAllocationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9002
+ #
9003
+ # * {Types::CreateInterruptibleCapacityReservationAllocationResult#source_capacity_reservation_id #source_capacity_reservation_id} => String
9004
+ # * {Types::CreateInterruptibleCapacityReservationAllocationResult#target_instance_count #target_instance_count} => Integer
9005
+ # * {Types::CreateInterruptibleCapacityReservationAllocationResult#status #status} => String
9006
+ # * {Types::CreateInterruptibleCapacityReservationAllocationResult#interruption_type #interruption_type} => String
9007
+ #
9008
+ # @example Request syntax with placeholder values
9009
+ #
9010
+ # resp = client.create_interruptible_capacity_reservation_allocation({
9011
+ # capacity_reservation_id: "CapacityReservationId", # required
9012
+ # instance_count: 1, # required
9013
+ # client_token: "String",
9014
+ # dry_run: false,
9015
+ # tag_specifications: [
9016
+ # {
9017
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, image-usage-report, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-metering-policy, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, vpc-encryption-control, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task, ipam-prefix-list-resolver, ipam-policy, ipam-prefix-list-resolver-target, capacity-manager-data-export, vpn-concentrator
9018
+ # tags: [
9019
+ # {
9020
+ # key: "String",
9021
+ # value: "String",
9022
+ # },
9023
+ # ],
9024
+ # },
9025
+ # ],
9026
+ # })
9027
+ #
9028
+ # @example Response structure
9029
+ #
9030
+ # resp.source_capacity_reservation_id #=> String
9031
+ # resp.target_instance_count #=> Integer
9032
+ # resp.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
9033
+ # resp.interruption_type #=> String, one of "adhoc"
9034
+ #
9035
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInterruptibleCapacityReservationAllocation AWS API Documentation
9036
+ #
9037
+ # @overload create_interruptible_capacity_reservation_allocation(params = {})
9038
+ # @param [Hash] params ({})
9039
+ def create_interruptible_capacity_reservation_allocation(params = {}, options = {})
9040
+ req = build_request(:create_interruptible_capacity_reservation_allocation, params)
9041
+ req.send_request(options)
9042
+ end
9043
+
8947
9044
  # Create an IPAM. Amazon VPC IP Address Manager (IPAM) is a VPC feature
8948
9045
  # that you can use to automate your IP address management workflows
8949
9046
  # including assigning, tracking, troubleshooting, and auditing IP
@@ -10287,7 +10384,7 @@ module Aws::EC2
10287
10384
  # security_group_ids: ["SecurityGroupId"],
10288
10385
  # security_groups: ["SecurityGroupName"],
10289
10386
  # instance_market_options: {
10290
- # market_type: "spot", # accepts spot, capacity-block
10387
+ # market_type: "spot", # accepts spot, capacity-block, interruptible-capacity-reservation
10291
10388
  # spot_options: {
10292
10389
  # max_price: "String",
10293
10390
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -10718,7 +10815,7 @@ module Aws::EC2
10718
10815
  # security_group_ids: ["SecurityGroupId"],
10719
10816
  # security_groups: ["SecurityGroupName"],
10720
10817
  # instance_market_options: {
10721
- # market_type: "spot", # accepts spot, capacity-block
10818
+ # market_type: "spot", # accepts spot, capacity-block, interruptible-capacity-reservation
10722
10819
  # spot_options: {
10723
10820
  # max_price: "String",
10724
10821
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -10934,7 +11031,7 @@ module Aws::EC2
10934
11031
  # resp.launch_template_version.launch_template_data.security_group_ids[0] #=> String
10935
11032
  # resp.launch_template_version.launch_template_data.security_groups #=> Array
10936
11033
  # resp.launch_template_version.launch_template_data.security_groups[0] #=> String
10937
- # resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
11034
+ # resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block", "interruptible-capacity-reservation"
10938
11035
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.max_price #=> String
10939
11036
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
10940
11037
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -25668,6 +25765,14 @@ module Aws::EC2
25668
25765
  # resp.capacity_reservations[0].commitment_info.commitment_end_date #=> Time
25669
25766
  # resp.capacity_reservations[0].delivery_preference #=> String, one of "fixed", "incremental"
25670
25767
  # resp.capacity_reservations[0].capacity_block_id #=> String
25768
+ # resp.capacity_reservations[0].interruptible #=> Boolean
25769
+ # resp.capacity_reservations[0].interruptible_capacity_allocation.instance_count #=> Integer
25770
+ # resp.capacity_reservations[0].interruptible_capacity_allocation.target_instance_count #=> Integer
25771
+ # resp.capacity_reservations[0].interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
25772
+ # resp.capacity_reservations[0].interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
25773
+ # resp.capacity_reservations[0].interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
25774
+ # resp.capacity_reservations[0].interruption_info.source_capacity_reservation_id #=> String
25775
+ # resp.capacity_reservations[0].interruption_info.interruption_type #=> String, one of "adhoc"
25671
25776
  #
25672
25777
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations AWS API Documentation
25673
25778
  #
@@ -29516,7 +29621,9 @@ module Aws::EC2
29516
29621
  end
29517
29622
 
29518
29623
  # Describes the specified attribute of the specified instance. You can
29519
- # specify only one attribute at a time.
29624
+ # specify only one attribute at a time. Available attributes include SQL
29625
+ # license exemption configuration for instances registered with the SQL
29626
+ # LE service.
29520
29627
  #
29521
29628
  # @option params [Boolean] :dry_run
29522
29629
  # Checks whether you have the required permissions for the operation,
@@ -30422,6 +30529,11 @@ module Aws::EC2
30422
30529
  # you launch them through their termination. For more information, see
30423
30530
  # [Instance lifecycle][4] in the *Amazon EC2 User Guide*.
30424
30531
  #
30532
+ # * **SQL license exemption monitoring** - For instances registered with
30533
+ # the SQL LE service, status includes SQL license exemption monitoring
30534
+ # health and processing status to provide operational visibility into
30535
+ # license exemption functionality.
30536
+ #
30425
30537
  # The Amazon EC2 API follows an eventual consistency model. This means
30426
30538
  # that the result of an API command you run that creates or modifies
30427
30539
  # resources might not be immediately available to all subsequent
@@ -31241,6 +31353,10 @@ module Aws::EC2
31241
31353
  # recommend that you use pagination to ensure that the operation returns
31242
31354
  # quickly and successfully.
31243
31355
  #
31356
+ # The response includes SQL license exemption status information for
31357
+ # instances registered with the SQL LE service, providing visibility
31358
+ # into license exemption configuration and status.
31359
+ #
31244
31360
  # If you specify an instance ID that is not valid, an error is returned.
31245
31361
  # If you specify an instance that you do not own, it is not included in
31246
31362
  # the output.
@@ -31862,7 +31978,7 @@ module Aws::EC2
31862
31978
  # resp.reservations[0].instances[0].hypervisor #=> String, one of "ovm", "xen"
31863
31979
  # resp.reservations[0].instances[0].iam_instance_profile.arn #=> String
31864
31980
  # resp.reservations[0].instances[0].iam_instance_profile.id #=> String
31865
- # resp.reservations[0].instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block"
31981
+ # resp.reservations[0].instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block", "interruptible-capacity-reservation"
31866
31982
  # resp.reservations[0].instances[0].elastic_gpu_associations #=> Array
31867
31983
  # resp.reservations[0].instances[0].elastic_gpu_associations[0].elastic_gpu_id #=> String
31868
31984
  # resp.reservations[0].instances[0].elastic_gpu_associations[0].elastic_gpu_association_id #=> String
@@ -33428,7 +33544,7 @@ module Aws::EC2
33428
33544
  # resp.launch_template_versions[0].launch_template_data.security_group_ids[0] #=> String
33429
33545
  # resp.launch_template_versions[0].launch_template_data.security_groups #=> Array
33430
33546
  # resp.launch_template_versions[0].launch_template_data.security_groups[0] #=> String
33431
- # resp.launch_template_versions[0].launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
33547
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block", "interruptible-capacity-reservation"
33432
33548
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.max_price #=> String
33433
33549
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
33434
33550
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -50162,6 +50278,9 @@ module Aws::EC2
50162
50278
  # * {Types::GetCapacityReservationUsageResult#available_instance_count #available_instance_count} => Integer
50163
50279
  # * {Types::GetCapacityReservationUsageResult#state #state} => String
50164
50280
  # * {Types::GetCapacityReservationUsageResult#instance_usages #instance_usages} => Array&lt;Types::InstanceUsage&gt;
50281
+ # * {Types::GetCapacityReservationUsageResult#interruptible #interruptible} => Boolean
50282
+ # * {Types::GetCapacityReservationUsageResult#interruptible_capacity_allocation #interruptible_capacity_allocation} => Types::InterruptibleCapacityAllocation
50283
+ # * {Types::GetCapacityReservationUsageResult#interruption_info #interruption_info} => Types::InterruptionInfo
50165
50284
  #
50166
50285
  # @example Request syntax with placeholder values
50167
50286
  #
@@ -50183,6 +50302,14 @@ module Aws::EC2
50183
50302
  # resp.instance_usages #=> Array
50184
50303
  # resp.instance_usages[0].account_id #=> String
50185
50304
  # resp.instance_usages[0].used_instance_count #=> Integer
50305
+ # resp.interruptible #=> Boolean
50306
+ # resp.interruptible_capacity_allocation.instance_count #=> Integer
50307
+ # resp.interruptible_capacity_allocation.target_instance_count #=> Integer
50308
+ # resp.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
50309
+ # resp.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
50310
+ # resp.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
50311
+ # resp.interruption_info.source_capacity_reservation_id #=> String
50312
+ # resp.interruption_info.interruption_type #=> String, one of "adhoc"
50186
50313
  #
50187
50314
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage AWS API Documentation
50188
50315
  #
@@ -52373,7 +52500,7 @@ module Aws::EC2
52373
52500
  # resp.launch_template_data.security_group_ids[0] #=> String
52374
52501
  # resp.launch_template_data.security_groups #=> Array
52375
52502
  # resp.launch_template_data.security_groups[0] #=> String
52376
- # resp.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
52503
+ # resp.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block", "interruptible-capacity-reservation"
52377
52504
  # resp.launch_template_data.instance_market_options.spot_options.max_price #=> String
52378
52505
  # resp.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
52379
52506
  # resp.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -63440,6 +63567,14 @@ module Aws::EC2
63440
63567
  # resp.source_capacity_reservation.commitment_info.commitment_end_date #=> Time
63441
63568
  # resp.source_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
63442
63569
  # resp.source_capacity_reservation.capacity_block_id #=> String
63570
+ # resp.source_capacity_reservation.interruptible #=> Boolean
63571
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
63572
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
63573
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
63574
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
63575
+ # resp.source_capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
63576
+ # resp.source_capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
63577
+ # resp.source_capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
63443
63578
  # resp.destination_capacity_reservation.capacity_reservation_id #=> String
63444
63579
  # resp.destination_capacity_reservation.owner_id #=> String
63445
63580
  # resp.destination_capacity_reservation.capacity_reservation_arn #=> String
@@ -63473,6 +63608,14 @@ module Aws::EC2
63473
63608
  # resp.destination_capacity_reservation.commitment_info.commitment_end_date #=> Time
63474
63609
  # resp.destination_capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
63475
63610
  # resp.destination_capacity_reservation.capacity_block_id #=> String
63611
+ # resp.destination_capacity_reservation.interruptible #=> Boolean
63612
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
63613
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
63614
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
63615
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
63616
+ # resp.destination_capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
63617
+ # resp.destination_capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
63618
+ # resp.destination_capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
63476
63619
  # resp.instance_count #=> Integer
63477
63620
  #
63478
63621
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveCapacityReservationInstances AWS API Documentation
@@ -63919,6 +64062,14 @@ module Aws::EC2
63919
64062
  # resp.capacity_reservation.commitment_info.commitment_end_date #=> Time
63920
64063
  # resp.capacity_reservation.delivery_preference #=> String, one of "fixed", "incremental"
63921
64064
  # resp.capacity_reservation.capacity_block_id #=> String
64065
+ # resp.capacity_reservation.interruptible #=> Boolean
64066
+ # resp.capacity_reservation.interruptible_capacity_allocation.instance_count #=> Integer
64067
+ # resp.capacity_reservation.interruptible_capacity_allocation.target_instance_count #=> Integer
64068
+ # resp.capacity_reservation.interruptible_capacity_allocation.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
64069
+ # resp.capacity_reservation.interruptible_capacity_allocation.interruptible_capacity_reservation_id #=> String
64070
+ # resp.capacity_reservation.interruptible_capacity_allocation.interruption_type #=> String, one of "adhoc"
64071
+ # resp.capacity_reservation.interruption_info.source_capacity_reservation_id #=> String
64072
+ # resp.capacity_reservation.interruption_info.interruption_type #=> String, one of "adhoc"
63922
64073
  # resp.capacity_blocks #=> Array
63923
64074
  # resp.capacity_blocks[0].capacity_block_id #=> String
63924
64075
  # resp.capacity_blocks[0].ultraserver_type #=> String
@@ -68431,7 +68582,7 @@ module Aws::EC2
68431
68582
  # version: "String",
68432
68583
  # },
68433
68584
  # instance_market_options: {
68434
- # market_type: "spot", # accepts spot, capacity-block
68585
+ # market_type: "spot", # accepts spot, capacity-block, interruptible-capacity-reservation
68435
68586
  # spot_options: {
68436
68587
  # max_price: "String",
68437
68588
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -68582,7 +68733,7 @@ module Aws::EC2
68582
68733
  # resp.instances[0].hypervisor #=> String, one of "ovm", "xen"
68583
68734
  # resp.instances[0].iam_instance_profile.arn #=> String
68584
68735
  # resp.instances[0].iam_instance_profile.id #=> String
68585
- # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block"
68736
+ # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block", "interruptible-capacity-reservation"
68586
68737
  # resp.instances[0].elastic_gpu_associations #=> Array
68587
68738
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_id #=> String
68588
68739
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_association_id #=> String
@@ -71142,6 +71293,58 @@ module Aws::EC2
71142
71293
  req.send_request(options)
71143
71294
  end
71144
71295
 
71296
+ # Modifies the number of instances allocated to an interruptible
71297
+ # reservation, allowing you to add more capacity or reclaim capacity to
71298
+ # your source Capacity Reservation.
71299
+ #
71300
+ # @option params [required, String] :capacity_reservation_id
71301
+ # The ID of the source Capacity Reservation containing the interruptible
71302
+ # allocation to modify.
71303
+ #
71304
+ # @option params [required, Integer] :target_instance_count
71305
+ # The new number of instances to allocate. Enter a higher number to add
71306
+ # more capacity to share, or a lower number to reclaim capacity to your
71307
+ # source Capacity Reservation.
71308
+ #
71309
+ # @option params [Boolean] :dry_run
71310
+ # Checks whether you have the required permissions for the action,
71311
+ # without actually making the request, and provides an error response.
71312
+ #
71313
+ # @return [Types::UpdateInterruptibleCapacityReservationAllocationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
71314
+ #
71315
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#interruptible_capacity_reservation_id #interruptible_capacity_reservation_id} => String
71316
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#source_capacity_reservation_id #source_capacity_reservation_id} => String
71317
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#instance_count #instance_count} => Integer
71318
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#target_instance_count #target_instance_count} => Integer
71319
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#status #status} => String
71320
+ # * {Types::UpdateInterruptibleCapacityReservationAllocationResult#interruption_type #interruption_type} => String
71321
+ #
71322
+ # @example Request syntax with placeholder values
71323
+ #
71324
+ # resp = client.update_interruptible_capacity_reservation_allocation({
71325
+ # capacity_reservation_id: "CapacityReservationId", # required
71326
+ # target_instance_count: 1, # required
71327
+ # dry_run: false,
71328
+ # })
71329
+ #
71330
+ # @example Response structure
71331
+ #
71332
+ # resp.interruptible_capacity_reservation_id #=> String
71333
+ # resp.source_capacity_reservation_id #=> String
71334
+ # resp.instance_count #=> Integer
71335
+ # resp.target_instance_count #=> Integer
71336
+ # resp.status #=> String, one of "pending", "active", "updating", "canceling", "canceled", "failed"
71337
+ # resp.interruption_type #=> String, one of "adhoc"
71338
+ #
71339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocation AWS API Documentation
71340
+ #
71341
+ # @overload update_interruptible_capacity_reservation_allocation(params = {})
71342
+ # @param [Hash] params ({})
71343
+ def update_interruptible_capacity_reservation_allocation(params = {}, options = {})
71344
+ req = build_request(:update_interruptible_capacity_reservation_allocation, params)
71345
+ req.send_request(options)
71346
+ end
71347
+
71145
71348
  # Updates the description of an egress (outbound) security group rule.
71146
71349
  # You can replace an existing description, or add a description to a
71147
71350
  # rule that did not have one previously. You can remove a description
@@ -71458,7 +71661,7 @@ module Aws::EC2
71458
71661
  tracer: tracer
71459
71662
  )
71460
71663
  context[:gem_name] = 'aws-sdk-ec2'
71461
- context[:gem_version] = '1.581.0'
71664
+ context[:gem_version] = '1.582.0'
71462
71665
  Seahorse::Client::Request.new(handlers, context)
71463
71666
  end
71464
71667
 
@@ -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')
@@ -3656,6 +3662,8 @@ module Aws::EC2
3656
3662
  UnsuccessfulItemSet = Shapes::ListShape.new(name: 'UnsuccessfulItemSet')
3657
3663
  UpdateCapacityManagerOrganizationsAccessRequest = Shapes::StructureShape.new(name: 'UpdateCapacityManagerOrganizationsAccessRequest')
3658
3664
  UpdateCapacityManagerOrganizationsAccessResult = Shapes::StructureShape.new(name: 'UpdateCapacityManagerOrganizationsAccessResult')
3665
+ UpdateInterruptibleCapacityReservationAllocationRequest = Shapes::StructureShape.new(name: 'UpdateInterruptibleCapacityReservationAllocationRequest')
3666
+ UpdateInterruptibleCapacityReservationAllocationResult = Shapes::StructureShape.new(name: 'UpdateInterruptibleCapacityReservationAllocationResult')
3659
3667
  UpdateSecurityGroupRuleDescriptionsEgressRequest = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsEgressRequest')
3660
3668
  UpdateSecurityGroupRuleDescriptionsEgressResult = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsEgressResult')
3661
3669
  UpdateSecurityGroupRuleDescriptionsIngressRequest = Shapes::StructureShape.new(name: 'UpdateSecurityGroupRuleDescriptionsIngressRequest')
@@ -5019,6 +5027,9 @@ module Aws::EC2
5019
5027
  CapacityReservation.add_member(:commitment_info, Shapes::ShapeRef.new(shape: CapacityReservationCommitmentInfo, location_name: "commitmentInfo"))
5020
5028
  CapacityReservation.add_member(:delivery_preference, Shapes::ShapeRef.new(shape: CapacityReservationDeliveryPreference, location_name: "deliveryPreference"))
5021
5029
  CapacityReservation.add_member(:capacity_block_id, Shapes::ShapeRef.new(shape: CapacityBlockId, location_name: "capacityBlockId"))
5030
+ CapacityReservation.add_member(:interruptible, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "interruptible"))
5031
+ CapacityReservation.add_member(:interruptible_capacity_allocation, Shapes::ShapeRef.new(shape: InterruptibleCapacityAllocation, location_name: "interruptibleCapacityAllocation"))
5032
+ CapacityReservation.add_member(:interruption_info, Shapes::ShapeRef.new(shape: InterruptionInfo, location_name: "interruptionInfo"))
5022
5033
  CapacityReservation.struct_class = Types::CapacityReservation
5023
5034
 
5024
5035
  CapacityReservationBillingRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
@@ -5817,6 +5828,19 @@ module Aws::EC2
5817
5828
  CreateInternetGatewayResult.add_member(:internet_gateway, Shapes::ShapeRef.new(shape: InternetGateway, location_name: "internetGateway"))
5818
5829
  CreateInternetGatewayResult.struct_class = Types::CreateInternetGatewayResult
5819
5830
 
5831
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, required: true, location_name: "CapacityReservationId"))
5832
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "InstanceCount"))
5833
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken", metadata: {"idempotencyToken" => true}))
5834
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5835
+ CreateInterruptibleCapacityReservationAllocationRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
5836
+ CreateInterruptibleCapacityReservationAllocationRequest.struct_class = Types::CreateInterruptibleCapacityReservationAllocationRequest
5837
+
5838
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "sourceCapacityReservationId"))
5839
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
5840
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
5841
+ CreateInterruptibleCapacityReservationAllocationResult.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
5842
+ CreateInterruptibleCapacityReservationAllocationResult.struct_class = Types::CreateInterruptibleCapacityReservationAllocationResult
5843
+
5820
5844
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
5821
5845
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:ipam_id, Shapes::ShapeRef.new(shape: IpamId, required: true, location_name: "IpamId"))
5822
5846
  CreateIpamExternalResourceVerificationTokenRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
@@ -11036,6 +11060,9 @@ module Aws::EC2
11036
11060
  GetCapacityReservationUsageResult.add_member(:available_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "availableInstanceCount"))
11037
11061
  GetCapacityReservationUsageResult.add_member(:state, Shapes::ShapeRef.new(shape: CapacityReservationState, location_name: "state"))
11038
11062
  GetCapacityReservationUsageResult.add_member(:instance_usages, Shapes::ShapeRef.new(shape: InstanceUsageSet, location_name: "instanceUsageSet"))
11063
+ GetCapacityReservationUsageResult.add_member(:interruptible, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "interruptible"))
11064
+ GetCapacityReservationUsageResult.add_member(:interruptible_capacity_allocation, Shapes::ShapeRef.new(shape: InterruptibleCapacityAllocation, location_name: "interruptibleCapacityAllocation"))
11065
+ GetCapacityReservationUsageResult.add_member(:interruption_info, Shapes::ShapeRef.new(shape: InterruptionInfo, location_name: "interruptionInfo"))
11039
11066
  GetCapacityReservationUsageResult.struct_class = Types::GetCapacityReservationUsageResult
11040
11067
 
11041
11068
  GetCoipPoolUsageRequest.add_member(:pool_id, Shapes::ShapeRef.new(shape: Ipv4PoolCoipId, required: true, location_name: "PoolId"))
@@ -12766,6 +12793,17 @@ module Aws::EC2
12766
12793
 
12767
12794
  InternetGatewayList.member = Shapes::ShapeRef.new(shape: InternetGateway, location_name: "item")
12768
12795
 
12796
+ InterruptibleCapacityAllocation.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
12797
+ InterruptibleCapacityAllocation.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
12798
+ InterruptibleCapacityAllocation.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
12799
+ InterruptibleCapacityAllocation.add_member(:interruptible_capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "interruptibleCapacityReservationId"))
12800
+ InterruptibleCapacityAllocation.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
12801
+ InterruptibleCapacityAllocation.struct_class = Types::InterruptibleCapacityAllocation
12802
+
12803
+ InterruptionInfo.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "sourceCapacityReservationId"))
12804
+ InterruptionInfo.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
12805
+ InterruptionInfo.struct_class = Types::InterruptionInfo
12806
+
12769
12807
  IpAddressList.member = Shapes::ShapeRef.new(shape: IpAddress, location_name: "item")
12770
12808
 
12771
12809
  IpList.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
@@ -18260,6 +18298,19 @@ module Aws::EC2
18260
18298
  UpdateCapacityManagerOrganizationsAccessResult.add_member(:organizations_access, Shapes::ShapeRef.new(shape: Boolean, location_name: "organizationsAccess"))
18261
18299
  UpdateCapacityManagerOrganizationsAccessResult.struct_class = Types::UpdateCapacityManagerOrganizationsAccessResult
18262
18300
 
18301
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, required: true, location_name: "CapacityReservationId"))
18302
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "TargetInstanceCount"))
18303
+ UpdateInterruptibleCapacityReservationAllocationRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
18304
+ UpdateInterruptibleCapacityReservationAllocationRequest.struct_class = Types::UpdateInterruptibleCapacityReservationAllocationRequest
18305
+
18306
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:interruptible_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "interruptibleCapacityReservationId"))
18307
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:source_capacity_reservation_id, Shapes::ShapeRef.new(shape: CapacityReservationId, location_name: "sourceCapacityReservationId"))
18308
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
18309
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:target_instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "targetInstanceCount"))
18310
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:status, Shapes::ShapeRef.new(shape: InterruptibleCapacityReservationAllocationStatus, location_name: "status"))
18311
+ UpdateInterruptibleCapacityReservationAllocationResult.add_member(:interruption_type, Shapes::ShapeRef.new(shape: InterruptionType, location_name: "interruptionType"))
18312
+ UpdateInterruptibleCapacityReservationAllocationResult.struct_class = Types::UpdateInterruptibleCapacityReservationAllocationResult
18313
+
18263
18314
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
18264
18315
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:group_id, Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "GroupId"))
18265
18316
  UpdateSecurityGroupRuleDescriptionsEgressRequest.add_member(:group_name, Shapes::ShapeRef.new(shape: SecurityGroupName, location_name: "GroupName"))
@@ -19761,6 +19812,14 @@ module Aws::EC2
19761
19812
  o.output = Shapes::ShapeRef.new(shape: CreateInternetGatewayResult)
19762
19813
  end)
19763
19814
 
19815
+ api.add_operation(:create_interruptible_capacity_reservation_allocation, Seahorse::Model::Operation.new.tap do |o|
19816
+ o.name = "CreateInterruptibleCapacityReservationAllocation"
19817
+ o.http_method = "POST"
19818
+ o.http_request_uri = "/"
19819
+ o.input = Shapes::ShapeRef.new(shape: CreateInterruptibleCapacityReservationAllocationRequest)
19820
+ o.output = Shapes::ShapeRef.new(shape: CreateInterruptibleCapacityReservationAllocationResult)
19821
+ end)
19822
+
19764
19823
  api.add_operation(:create_ipam, Seahorse::Model::Operation.new.tap do |o|
19765
19824
  o.name = "CreateIpam"
19766
19825
  o.http_method = "POST"
@@ -26010,6 +26069,14 @@ module Aws::EC2
26010
26069
  o.output = Shapes::ShapeRef.new(shape: UpdateCapacityManagerOrganizationsAccessResult)
26011
26070
  end)
26012
26071
 
26072
+ api.add_operation(:update_interruptible_capacity_reservation_allocation, Seahorse::Model::Operation.new.tap do |o|
26073
+ o.name = "UpdateInterruptibleCapacityReservationAllocation"
26074
+ o.http_method = "POST"
26075
+ o.http_request_uri = "/"
26076
+ o.input = Shapes::ShapeRef.new(shape: UpdateInterruptibleCapacityReservationAllocationRequest)
26077
+ o.output = Shapes::ShapeRef.new(shape: UpdateInterruptibleCapacityReservationAllocationResult)
26078
+ end)
26079
+
26013
26080
  api.add_operation(:update_security_group_rule_descriptions_egress, Seahorse::Model::Operation.new.tap do |o|
26014
26081
  o.name = "UpdateSecurityGroupRuleDescriptionsEgress"
26015
26082
  o.http_method = "POST"
@@ -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
@@ -81591,6 +81765,73 @@ module Aws::EC2
81591
81765
  include Aws::Structure
81592
81766
  end
81593
81767
 
81768
+ # @!attribute [rw] capacity_reservation_id
81769
+ # The ID of the source Capacity Reservation containing the
81770
+ # interruptible allocation to modify.
81771
+ # @return [String]
81772
+ #
81773
+ # @!attribute [rw] target_instance_count
81774
+ # The new number of instances to allocate. Enter a higher number to
81775
+ # add more capacity to share, or a lower number to reclaim capacity to
81776
+ # your source Capacity Reservation.
81777
+ # @return [Integer]
81778
+ #
81779
+ # @!attribute [rw] dry_run
81780
+ # Checks whether you have the required permissions for the action,
81781
+ # without actually making the request, and provides an error response.
81782
+ # @return [Boolean]
81783
+ #
81784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationRequest AWS API Documentation
81785
+ #
81786
+ class UpdateInterruptibleCapacityReservationAllocationRequest < Struct.new(
81787
+ :capacity_reservation_id,
81788
+ :target_instance_count,
81789
+ :dry_run)
81790
+ SENSITIVE = []
81791
+ include Aws::Structure
81792
+ end
81793
+
81794
+ # @!attribute [rw] interruptible_capacity_reservation_id
81795
+ # The ID of the interruptible Capacity Reservation that was modified.
81796
+ # @return [String]
81797
+ #
81798
+ # @!attribute [rw] source_capacity_reservation_id
81799
+ # The ID of the source Capacity Reservation to which capacity was
81800
+ # reclaimed or from which capacity was allocated.
81801
+ # @return [String]
81802
+ #
81803
+ # @!attribute [rw] instance_count
81804
+ # The current number of instances allocated to the interruptible
81805
+ # reservation.
81806
+ # @return [Integer]
81807
+ #
81808
+ # @!attribute [rw] target_instance_count
81809
+ # The requested number of instances for the interruptible Capacity
81810
+ # Reservation.
81811
+ # @return [Integer]
81812
+ #
81813
+ # @!attribute [rw] status
81814
+ # The current status of the allocation (updating during reclamation,
81815
+ # active when complete).
81816
+ # @return [String]
81817
+ #
81818
+ # @!attribute [rw] interruption_type
81819
+ # The interruption type for the interruptible reservation.
81820
+ # @return [String]
81821
+ #
81822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateInterruptibleCapacityReservationAllocationResult AWS API Documentation
81823
+ #
81824
+ class UpdateInterruptibleCapacityReservationAllocationResult < Struct.new(
81825
+ :interruptible_capacity_reservation_id,
81826
+ :source_capacity_reservation_id,
81827
+ :instance_count,
81828
+ :target_instance_count,
81829
+ :status,
81830
+ :interruption_type)
81831
+ SENSITIVE = []
81832
+ include Aws::Structure
81833
+ end
81834
+
81594
81835
  # @!attribute [rw] dry_run
81595
81836
  # Checks whether you have the required permissions for the action,
81596
81837
  # 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.582.0'
82
82
 
83
83
  end
84
84
 
data/sig/client.rbs CHANGED
@@ -1957,6 +1957,33 @@ module Aws
1957
1957
  ) -> _CreateInternetGatewayResponseSuccess
1958
1958
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateInternetGatewayResponseSuccess
1959
1959
 
1960
+ interface _CreateInterruptibleCapacityReservationAllocationResponseSuccess
1961
+ include ::Seahorse::Client::_ResponseSuccess[Types::CreateInterruptibleCapacityReservationAllocationResult]
1962
+ def source_capacity_reservation_id: () -> ::String
1963
+ def target_instance_count: () -> ::Integer
1964
+ def status: () -> ("pending" | "active" | "updating" | "canceling" | "canceled" | "failed")
1965
+ def interruption_type: () -> ("adhoc")
1966
+ end
1967
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#create_interruptible_capacity_reservation_allocation-instance_method
1968
+ def create_interruptible_capacity_reservation_allocation: (
1969
+ capacity_reservation_id: ::String,
1970
+ instance_count: ::Integer,
1971
+ ?client_token: ::String,
1972
+ ?dry_run: bool,
1973
+ ?tag_specifications: Array[
1974
+ {
1975
+ resource_type: ("capacity-reservation" | "client-vpn-endpoint" | "customer-gateway" | "carrier-gateway" | "coip-pool" | "declarative-policies-report" | "dedicated-host" | "dhcp-options" | "egress-only-internet-gateway" | "elastic-ip" | "elastic-gpu" | "export-image-task" | "export-instance-task" | "fleet" | "fpga-image" | "host-reservation" | "image" | "image-usage-report" | "import-image-task" | "import-snapshot-task" | "instance" | "instance-event-window" | "internet-gateway" | "ipam" | "ipam-pool" | "ipam-scope" | "ipv4pool-ec2" | "ipv6pool-ec2" | "key-pair" | "launch-template" | "local-gateway" | "local-gateway-route-table" | "local-gateway-virtual-interface" | "local-gateway-virtual-interface-group" | "local-gateway-route-table-vpc-association" | "local-gateway-route-table-virtual-interface-group-association" | "natgateway" | "network-acl" | "network-interface" | "network-insights-analysis" | "network-insights-path" | "network-insights-access-scope" | "network-insights-access-scope-analysis" | "outpost-lag" | "placement-group" | "prefix-list" | "replace-root-volume-task" | "reserved-instances" | "route-table" | "security-group" | "security-group-rule" | "service-link-virtual-interface" | "snapshot" | "spot-fleet-request" | "spot-instances-request" | "subnet" | "subnet-cidr-reservation" | "traffic-mirror-filter" | "traffic-mirror-session" | "traffic-mirror-target" | "transit-gateway" | "transit-gateway-attachment" | "transit-gateway-connect-peer" | "transit-gateway-multicast-domain" | "transit-gateway-policy-table" | "transit-gateway-metering-policy" | "transit-gateway-route-table" | "transit-gateway-route-table-announcement" | "volume" | "vpc" | "vpc-endpoint" | "vpc-endpoint-connection" | "vpc-endpoint-service" | "vpc-endpoint-service-permission" | "vpc-peering-connection" | "vpn-connection" | "vpn-gateway" | "vpc-flow-log" | "capacity-reservation-fleet" | "traffic-mirror-filter-rule" | "vpc-endpoint-connection-device-type" | "verified-access-instance" | "verified-access-group" | "verified-access-endpoint" | "verified-access-policy" | "verified-access-trust-provider" | "vpn-connection-device-type" | "vpc-block-public-access-exclusion" | "vpc-encryption-control" | "route-server" | "route-server-endpoint" | "route-server-peer" | "ipam-resource-discovery" | "ipam-resource-discovery-association" | "instance-connect-endpoint" | "verified-access-endpoint-target" | "ipam-external-resource-verification-token" | "capacity-block" | "mac-modification-task" | "ipam-prefix-list-resolver" | "ipam-policy" | "ipam-prefix-list-resolver-target" | "capacity-manager-data-export" | "vpn-concentrator")?,
1976
+ tags: Array[
1977
+ {
1978
+ key: ::String?,
1979
+ value: ::String?
1980
+ },
1981
+ ]?
1982
+ },
1983
+ ]
1984
+ ) -> _CreateInterruptibleCapacityReservationAllocationResponseSuccess
1985
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateInterruptibleCapacityReservationAllocationResponseSuccess
1986
+
1960
1987
  interface _CreateIpamResponseSuccess
1961
1988
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateIpamResult]
1962
1989
  def ipam: () -> Types::Ipam
@@ -2374,7 +2401,7 @@ module Aws
2374
2401
  security_group_ids: Array[::String]?,
2375
2402
  security_groups: Array[::String]?,
2376
2403
  instance_market_options: {
2377
- market_type: ("spot" | "capacity-block")?,
2404
+ market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")?,
2378
2405
  spot_options: {
2379
2406
  max_price: ::String?,
2380
2407
  spot_instance_type: ("one-time" | "persistent")?,
@@ -2650,7 +2677,7 @@ module Aws
2650
2677
  security_group_ids: Array[::String]?,
2651
2678
  security_groups: Array[::String]?,
2652
2679
  instance_market_options: {
2653
- market_type: ("spot" | "capacity-block")?,
2680
+ market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")?,
2654
2681
  spot_options: {
2655
2682
  max_price: ::String?,
2656
2683
  spot_instance_type: ("one-time" | "persistent")?,
@@ -10392,6 +10419,9 @@ module Aws
10392
10419
  def available_instance_count: () -> ::Integer
10393
10420
  def state: () -> ("active" | "expired" | "cancelled" | "pending" | "failed" | "scheduled" | "payment-pending" | "payment-failed" | "assessing" | "delayed" | "unsupported" | "unavailable")
10394
10421
  def instance_usages: () -> ::Array[Types::InstanceUsage]
10422
+ def interruptible: () -> bool
10423
+ def interruptible_capacity_allocation: () -> Types::InterruptibleCapacityAllocation
10424
+ def interruption_info: () -> Types::InterruptionInfo
10395
10425
  end
10396
10426
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#get_capacity_reservation_usage-instance_method
10397
10427
  def get_capacity_reservation_usage: (
@@ -14938,7 +14968,7 @@ module Aws
14938
14968
  version: ::String?
14939
14969
  },
14940
14970
  ?instance_market_options: {
14941
- market_type: ("spot" | "capacity-block")?,
14971
+ market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")?,
14942
14972
  spot_options: {
14943
14973
  max_price: ::String?,
14944
14974
  spot_instance_type: ("one-time" | "persistent")?,
@@ -15414,6 +15444,23 @@ module Aws
15414
15444
  ) -> _UpdateCapacityManagerOrganizationsAccessResponseSuccess
15415
15445
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateCapacityManagerOrganizationsAccessResponseSuccess
15416
15446
 
15447
+ interface _UpdateInterruptibleCapacityReservationAllocationResponseSuccess
15448
+ include ::Seahorse::Client::_ResponseSuccess[Types::UpdateInterruptibleCapacityReservationAllocationResult]
15449
+ def interruptible_capacity_reservation_id: () -> ::String
15450
+ def source_capacity_reservation_id: () -> ::String
15451
+ def instance_count: () -> ::Integer
15452
+ def target_instance_count: () -> ::Integer
15453
+ def status: () -> ("pending" | "active" | "updating" | "canceling" | "canceled" | "failed")
15454
+ def interruption_type: () -> ("adhoc")
15455
+ end
15456
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Client.html#update_interruptible_capacity_reservation_allocation-instance_method
15457
+ def update_interruptible_capacity_reservation_allocation: (
15458
+ capacity_reservation_id: ::String,
15459
+ target_instance_count: ::Integer,
15460
+ ?dry_run: bool
15461
+ ) -> _UpdateInterruptibleCapacityReservationAllocationResponseSuccess
15462
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateInterruptibleCapacityReservationAllocationResponseSuccess
15463
+
15417
15464
  interface _UpdateSecurityGroupRuleDescriptionsEgressResponseSuccess
15418
15465
  include ::Seahorse::Client::_ResponseSuccess[Types::UpdateSecurityGroupRuleDescriptionsEgressResult]
15419
15466
  def return: () -> bool
data/sig/instance.rbs CHANGED
@@ -40,7 +40,7 @@ module Aws
40
40
  def iam_instance_profile: () -> Types::IamInstanceProfile
41
41
 
42
42
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#instance_lifecycle-instance_method
43
- def instance_lifecycle: () -> ("spot" | "scheduled" | "capacity-block")
43
+ def instance_lifecycle: () -> ("spot" | "scheduled" | "capacity-block" | "interruptible-capacity-reservation")
44
44
 
45
45
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/EC2/Instance.html#elastic_gpu_associations-instance_method
46
46
  def elastic_gpu_associations: () -> ::Array[Types::ElasticGpuAssociation]
data/sig/resource.rbs CHANGED
@@ -187,7 +187,7 @@ module Aws
187
187
  version: ::String?
188
188
  },
189
189
  ?instance_market_options: {
190
- market_type: ("spot" | "capacity-block")?,
190
+ market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")?,
191
191
  spot_options: {
192
192
  max_price: ::String?,
193
193
  spot_instance_type: ("one-time" | "persistent")?,
data/sig/subnet.rbs CHANGED
@@ -180,7 +180,7 @@ module Aws
180
180
  version: ::String?
181
181
  },
182
182
  ?instance_market_options: {
183
- market_type: ("spot" | "capacity-block")?,
183
+ market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")?,
184
184
  spot_options: {
185
185
  max_price: ::String?,
186
186
  spot_instance_type: ("one-time" | "persistent")?,
data/sig/types.rbs CHANGED
@@ -1371,6 +1371,9 @@ module Aws::EC2
1371
1371
  attr_accessor commitment_info: Types::CapacityReservationCommitmentInfo
1372
1372
  attr_accessor delivery_preference: ("fixed" | "incremental")
1373
1373
  attr_accessor capacity_block_id: ::String
1374
+ attr_accessor interruptible: bool
1375
+ attr_accessor interruptible_capacity_allocation: Types::InterruptibleCapacityAllocation
1376
+ attr_accessor interruption_info: Types::InterruptionInfo
1374
1377
  SENSITIVE: []
1375
1378
  end
1376
1379
 
@@ -2342,6 +2345,23 @@ module Aws::EC2
2342
2345
  SENSITIVE: []
2343
2346
  end
2344
2347
 
2348
+ class CreateInterruptibleCapacityReservationAllocationRequest
2349
+ attr_accessor capacity_reservation_id: ::String
2350
+ attr_accessor instance_count: ::Integer
2351
+ attr_accessor client_token: ::String
2352
+ attr_accessor dry_run: bool
2353
+ attr_accessor tag_specifications: ::Array[Types::TagSpecification]
2354
+ SENSITIVE: []
2355
+ end
2356
+
2357
+ class CreateInterruptibleCapacityReservationAllocationResult
2358
+ attr_accessor source_capacity_reservation_id: ::String
2359
+ attr_accessor target_instance_count: ::Integer
2360
+ attr_accessor status: ("pending" | "active" | "updating" | "canceling" | "canceled" | "failed")
2361
+ attr_accessor interruption_type: ("adhoc")
2362
+ SENSITIVE: []
2363
+ end
2364
+
2345
2365
  class CreateIpamExternalResourceVerificationTokenRequest
2346
2366
  attr_accessor dry_run: bool
2347
2367
  attr_accessor ipam_id: ::String
@@ -9346,6 +9366,9 @@ module Aws::EC2
9346
9366
  attr_accessor available_instance_count: ::Integer
9347
9367
  attr_accessor state: ("active" | "expired" | "cancelled" | "pending" | "failed" | "scheduled" | "payment-pending" | "payment-failed" | "assessing" | "delayed" | "unsupported" | "unavailable")
9348
9368
  attr_accessor instance_usages: ::Array[Types::InstanceUsage]
9369
+ attr_accessor interruptible: bool
9370
+ attr_accessor interruptible_capacity_allocation: Types::InterruptibleCapacityAllocation
9371
+ attr_accessor interruption_info: Types::InterruptionInfo
9349
9372
  SENSITIVE: []
9350
9373
  end
9351
9374
 
@@ -10766,7 +10789,7 @@ module Aws::EC2
10766
10789
  attr_accessor ena_support: bool
10767
10790
  attr_accessor hypervisor: ("ovm" | "xen")
10768
10791
  attr_accessor iam_instance_profile: Types::IamInstanceProfile
10769
- attr_accessor instance_lifecycle: ("spot" | "scheduled" | "capacity-block")
10792
+ attr_accessor instance_lifecycle: ("spot" | "scheduled" | "capacity-block" | "interruptible-capacity-reservation")
10770
10793
  attr_accessor elastic_gpu_associations: ::Array[Types::ElasticGpuAssociation]
10771
10794
  attr_accessor elastic_inference_accelerator_associations: ::Array[Types::ElasticInferenceAcceleratorAssociation]
10772
10795
  attr_accessor network_interfaces: ::Array[Types::InstanceNetworkInterface]
@@ -11018,7 +11041,7 @@ module Aws::EC2
11018
11041
  end
11019
11042
 
11020
11043
  class InstanceMarketOptionsRequest
11021
- attr_accessor market_type: ("spot" | "capacity-block")
11044
+ attr_accessor market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")
11022
11045
  attr_accessor spot_options: Types::SpotMarketOptions
11023
11046
  SENSITIVE: []
11024
11047
  end
@@ -11369,6 +11392,21 @@ module Aws::EC2
11369
11392
  SENSITIVE: []
11370
11393
  end
11371
11394
 
11395
+ class InterruptibleCapacityAllocation
11396
+ attr_accessor instance_count: ::Integer
11397
+ attr_accessor target_instance_count: ::Integer
11398
+ attr_accessor status: ("pending" | "active" | "updating" | "canceling" | "canceled" | "failed")
11399
+ attr_accessor interruptible_capacity_reservation_id: ::String
11400
+ attr_accessor interruption_type: ("adhoc")
11401
+ SENSITIVE: []
11402
+ end
11403
+
11404
+ class InterruptionInfo
11405
+ attr_accessor source_capacity_reservation_id: ::String
11406
+ attr_accessor interruption_type: ("adhoc")
11407
+ SENSITIVE: []
11408
+ end
11409
+
11372
11410
  class IpPermission
11373
11411
  attr_accessor ip_protocol: ::String
11374
11412
  attr_accessor from_port: ::Integer
@@ -12063,13 +12101,13 @@ module Aws::EC2
12063
12101
  end
12064
12102
 
12065
12103
  class LaunchTemplateInstanceMarketOptions
12066
- attr_accessor market_type: ("spot" | "capacity-block")
12104
+ attr_accessor market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")
12067
12105
  attr_accessor spot_options: Types::LaunchTemplateSpotMarketOptions
12068
12106
  SENSITIVE: []
12069
12107
  end
12070
12108
 
12071
12109
  class LaunchTemplateInstanceMarketOptionsRequest
12072
- attr_accessor market_type: ("spot" | "capacity-block")
12110
+ attr_accessor market_type: ("spot" | "capacity-block" | "interruptible-capacity-reservation")
12073
12111
  attr_accessor spot_options: Types::LaunchTemplateSpotMarketOptionsRequest
12074
12112
  SENSITIVE: []
12075
12113
  end
@@ -17569,6 +17607,23 @@ module Aws::EC2
17569
17607
  SENSITIVE: []
17570
17608
  end
17571
17609
 
17610
+ class UpdateInterruptibleCapacityReservationAllocationRequest
17611
+ attr_accessor capacity_reservation_id: ::String
17612
+ attr_accessor target_instance_count: ::Integer
17613
+ attr_accessor dry_run: bool
17614
+ SENSITIVE: []
17615
+ end
17616
+
17617
+ class UpdateInterruptibleCapacityReservationAllocationResult
17618
+ attr_accessor interruptible_capacity_reservation_id: ::String
17619
+ attr_accessor source_capacity_reservation_id: ::String
17620
+ attr_accessor instance_count: ::Integer
17621
+ attr_accessor target_instance_count: ::Integer
17622
+ attr_accessor status: ("pending" | "active" | "updating" | "canceling" | "canceled" | "failed")
17623
+ attr_accessor interruption_type: ("adhoc")
17624
+ SENSITIVE: []
17625
+ end
17626
+
17572
17627
  class UpdateSecurityGroupRuleDescriptionsEgressRequest
17573
17628
  attr_accessor dry_run: bool
17574
17629
  attr_accessor group_id: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.581.0
4
+ version: 1.582.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.234.0
21
+ version: 3.239.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.234.0
31
+ version: 3.239.1
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement