aws-sdk-ec2 1.416.0 → 1.417.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: be9cd549908340f8b6d774a7c901825fc651feb1cd3df0dbcdd865e067d58390
4
- data.tar.gz: 69c5daac300e84329abbaba6aa5cc878fc65eca8628e0e6a915cd10c5dbb0e12
3
+ metadata.gz: 7ac4887a539a63a494296958bdf908d279a6407db370596be8a3a3ace6fd1197
4
+ data.tar.gz: d4cc951fc9825b038d5f0ce1841fa6ff741eb1d2722a8d947ff4bc7b17b05cea
5
5
  SHA512:
6
- metadata.gz: a39112c01ebb25500d3f8aa72dd3f809c5de94928cfbf969806b27338ec4eae44b9308495c205e910bceb6e12decd7c668b3b9d888834a44cc17b504fe229382
7
- data.tar.gz: 19c8d323bd3e6ee1570f206a36169e356662506d3b687330e0840ed5afa8bb2f241ce78de82eb47ba850e99f72d82f61709fa1c8b077424e2ef89c25f5b2ca95
6
+ metadata.gz: 4fbf66a95a483a41ed3103c63a2e5d80ecaa32630f064bc5ced87991e52afbe014c6e8b4adb5cd52ddaedd9037f49fe956eef125b619b8493e94975820d88a3d
7
+ data.tar.gz: 2bd114210651203a603951c89036882d1f30110e497552856bf8caf3eae33f39b78d31583d672bc76f4022112d97fb808ea477c705d37eecf47d8a23b17b17f4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.417.0 (2023-10-31)
5
+ ------------------
6
+
7
+ * Feature - Capacity Blocks for ML are a new EC2 purchasing option for reserving GPU instances on a future date to support short duration machine learning (ML) workloads. Capacity Blocks automatically place instances close together inside Amazon EC2 UltraClusters for low-latency, high-throughput networking.
8
+
4
9
  1.416.0 (2023-10-26)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.416.0
1
+ 1.417.0
@@ -4949,7 +4949,7 @@ module Aws::EC2
4949
4949
  # resp.capacity_reservation.available_instance_count #=> Integer
4950
4950
  # resp.capacity_reservation.ebs_optimized #=> Boolean
4951
4951
  # resp.capacity_reservation.ephemeral_storage #=> Boolean
4952
- # resp.capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed"
4952
+ # resp.capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed"
4953
4953
  # resp.capacity_reservation.start_date #=> Time
4954
4954
  # resp.capacity_reservation.end_date #=> Time
4955
4955
  # resp.capacity_reservation.end_date_type #=> String, one of "unlimited", "limited"
@@ -4964,6 +4964,7 @@ module Aws::EC2
4964
4964
  # resp.capacity_reservation.capacity_allocations #=> Array
4965
4965
  # resp.capacity_reservation.capacity_allocations[0].allocation_type #=> String, one of "used"
4966
4966
  # resp.capacity_reservation.capacity_allocations[0].count #=> Integer
4967
+ # resp.capacity_reservation.reservation_type #=> String, one of "default", "capacity-block"
4967
4968
  #
4968
4969
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation AWS API Documentation
4969
4970
  #
@@ -6332,7 +6333,7 @@ module Aws::EC2
6332
6333
  # total_target_capacity: 1, # required
6333
6334
  # on_demand_target_capacity: 1,
6334
6335
  # spot_target_capacity: 1,
6335
- # default_target_capacity_type: "spot", # accepts spot, on-demand
6336
+ # default_target_capacity_type: "spot", # accepts spot, on-demand, capacity-block
6336
6337
  # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
6337
6338
  # },
6338
6339
  # terminate_instances_with_expiration: false,
@@ -8163,7 +8164,7 @@ module Aws::EC2
8163
8164
  # security_group_ids: ["SecurityGroupId"],
8164
8165
  # security_groups: ["SecurityGroupName"],
8165
8166
  # instance_market_options: {
8166
- # market_type: "spot", # accepts spot
8167
+ # market_type: "spot", # accepts spot, capacity-block
8167
8168
  # spot_options: {
8168
8169
  # max_price: "String",
8169
8170
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -8548,7 +8549,7 @@ module Aws::EC2
8548
8549
  # security_group_ids: ["SecurityGroupId"],
8549
8550
  # security_groups: ["SecurityGroupName"],
8550
8551
  # instance_market_options: {
8551
- # market_type: "spot", # accepts spot
8552
+ # market_type: "spot", # accepts spot, capacity-block
8552
8553
  # spot_options: {
8553
8554
  # max_price: "String",
8554
8555
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -8739,7 +8740,7 @@ module Aws::EC2
8739
8740
  # resp.launch_template_version.launch_template_data.security_group_ids[0] #=> String
8740
8741
  # resp.launch_template_version.launch_template_data.security_groups #=> Array
8741
8742
  # resp.launch_template_version.launch_template_data.security_groups[0] #=> String
8742
- # resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot"
8743
+ # resp.launch_template_version.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
8743
8744
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.max_price #=> String
8744
8745
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
8745
8746
  # resp.launch_template_version.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -19845,6 +19846,86 @@ module Aws::EC2
19845
19846
  req.send_request(options)
19846
19847
  end
19847
19848
 
19849
+ # Describes Capacity Block offerings available for purchase. With
19850
+ # Capacity Blocks, you purchase a specific instance type for a period of
19851
+ # time.
19852
+ #
19853
+ # @option params [Boolean] :dry_run
19854
+ # Checks whether you have the required permissions for the action,
19855
+ # without actually making the request, and provides an error response.
19856
+ # If you have the required permissions, the error response is
19857
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
19858
+ #
19859
+ # @option params [required, String] :instance_type
19860
+ # The type of instance for which the Capacity Block offering reserves
19861
+ # capacity.
19862
+ #
19863
+ # @option params [required, Integer] :instance_count
19864
+ # The number of instances for which to reserve capacity.
19865
+ #
19866
+ # @option params [Time,DateTime,Date,Integer,String] :start_date_range
19867
+ # The earliest start date for the Capacity Block offering.
19868
+ #
19869
+ # @option params [Time,DateTime,Date,Integer,String] :end_date_range
19870
+ # The latest end date for the Capacity Block offering.
19871
+ #
19872
+ # @option params [required, Integer] :capacity_duration_hours
19873
+ # The number of hours for which to reserve Capacity Block.
19874
+ #
19875
+ # @option params [String] :next_token
19876
+ # The token to use to retrieve the next page of results.
19877
+ #
19878
+ # @option params [Integer] :max_results
19879
+ # The maximum number of results to return for the request in a single
19880
+ # page. The remaining results can be seen by sending another request
19881
+ # with the returned `nextToken` value. This value can be between 5 and
19882
+ # 500. If `maxResults` is given a larger value than 500, you receive an
19883
+ # error.
19884
+ #
19885
+ # @return [Types::DescribeCapacityBlockOfferingsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
19886
+ #
19887
+ # * {Types::DescribeCapacityBlockOfferingsResult#capacity_block_offerings #capacity_block_offerings} => Array<Types::CapacityBlockOffering>
19888
+ # * {Types::DescribeCapacityBlockOfferingsResult#next_token #next_token} => String
19889
+ #
19890
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
19891
+ #
19892
+ # @example Request syntax with placeholder values
19893
+ #
19894
+ # resp = client.describe_capacity_block_offerings({
19895
+ # dry_run: false,
19896
+ # instance_type: "String", # required
19897
+ # instance_count: 1, # required
19898
+ # start_date_range: Time.now,
19899
+ # end_date_range: Time.now,
19900
+ # capacity_duration_hours: 1, # required
19901
+ # next_token: "String",
19902
+ # max_results: 1,
19903
+ # })
19904
+ #
19905
+ # @example Response structure
19906
+ #
19907
+ # resp.capacity_block_offerings #=> Array
19908
+ # resp.capacity_block_offerings[0].capacity_block_offering_id #=> String
19909
+ # resp.capacity_block_offerings[0].instance_type #=> String
19910
+ # resp.capacity_block_offerings[0].availability_zone #=> String
19911
+ # resp.capacity_block_offerings[0].instance_count #=> Integer
19912
+ # resp.capacity_block_offerings[0].start_date #=> Time
19913
+ # resp.capacity_block_offerings[0].end_date #=> Time
19914
+ # resp.capacity_block_offerings[0].capacity_block_duration_hours #=> Integer
19915
+ # resp.capacity_block_offerings[0].upfront_fee #=> String
19916
+ # resp.capacity_block_offerings[0].currency_code #=> String
19917
+ # resp.capacity_block_offerings[0].tenancy #=> String, one of "default", "dedicated"
19918
+ # resp.next_token #=> String
19919
+ #
19920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockOfferings AWS API Documentation
19921
+ #
19922
+ # @overload describe_capacity_block_offerings(params = {})
19923
+ # @param [Hash] params ({})
19924
+ def describe_capacity_block_offerings(params = {}, options = {})
19925
+ req = build_request(:describe_capacity_block_offerings, params)
19926
+ req.send_request(options)
19927
+ end
19928
+
19848
19929
  # Describes one or more Capacity Reservation Fleets.
19849
19930
  #
19850
19931
  # @option params [Array<String>] :capacity_reservation_fleet_ids
@@ -20089,7 +20170,7 @@ module Aws::EC2
20089
20170
  # resp.capacity_reservations[0].available_instance_count #=> Integer
20090
20171
  # resp.capacity_reservations[0].ebs_optimized #=> Boolean
20091
20172
  # resp.capacity_reservations[0].ephemeral_storage #=> Boolean
20092
- # resp.capacity_reservations[0].state #=> String, one of "active", "expired", "cancelled", "pending", "failed"
20173
+ # resp.capacity_reservations[0].state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed"
20093
20174
  # resp.capacity_reservations[0].start_date #=> Time
20094
20175
  # resp.capacity_reservations[0].end_date #=> Time
20095
20176
  # resp.capacity_reservations[0].end_date_type #=> String, one of "unlimited", "limited"
@@ -20104,6 +20185,7 @@ module Aws::EC2
20104
20185
  # resp.capacity_reservations[0].capacity_allocations #=> Array
20105
20186
  # resp.capacity_reservations[0].capacity_allocations[0].allocation_type #=> String, one of "used"
20106
20187
  # resp.capacity_reservations[0].capacity_allocations[0].count #=> Integer
20188
+ # resp.capacity_reservations[0].reservation_type #=> String, one of "default", "capacity-block"
20107
20189
  #
20108
20190
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations AWS API Documentation
20109
20191
  #
@@ -21877,7 +21959,7 @@ module Aws::EC2
21877
21959
  # resp.fleets[0].target_capacity_specification.total_target_capacity #=> Integer
21878
21960
  # resp.fleets[0].target_capacity_specification.on_demand_target_capacity #=> Integer
21879
21961
  # resp.fleets[0].target_capacity_specification.spot_target_capacity #=> Integer
21880
- # resp.fleets[0].target_capacity_specification.default_target_capacity_type #=> String, one of "spot", "on-demand"
21962
+ # resp.fleets[0].target_capacity_specification.default_target_capacity_type #=> String, one of "spot", "on-demand", "capacity-block"
21881
21963
  # resp.fleets[0].target_capacity_specification.target_capacity_unit_type #=> String, one of "vcpu", "memory-mib", "units"
21882
21964
  # resp.fleets[0].terminate_instances_with_expiration #=> Boolean
21883
21965
  # resp.fleets[0].type #=> String, one of "request", "maintain", "instant"
@@ -24478,7 +24560,7 @@ module Aws::EC2
24478
24560
  # resp.instance_types[0].current_generation #=> Boolean
24479
24561
  # resp.instance_types[0].free_tier_eligible #=> Boolean
24480
24562
  # resp.instance_types[0].supported_usage_classes #=> Array
24481
- # resp.instance_types[0].supported_usage_classes[0] #=> String, one of "spot", "on-demand"
24563
+ # resp.instance_types[0].supported_usage_classes[0] #=> String, one of "spot", "on-demand", "capacity-block"
24482
24564
  # resp.instance_types[0].supported_root_device_types #=> Array
24483
24565
  # resp.instance_types[0].supported_root_device_types[0] #=> String, one of "ebs", "instance-store"
24484
24566
  # resp.instance_types[0].supported_virtualization_types #=> Array
@@ -25185,7 +25267,7 @@ module Aws::EC2
25185
25267
  # resp.reservations[0].instances[0].hypervisor #=> String, one of "ovm", "xen"
25186
25268
  # resp.reservations[0].instances[0].iam_instance_profile.arn #=> String
25187
25269
  # resp.reservations[0].instances[0].iam_instance_profile.id #=> String
25188
- # resp.reservations[0].instances[0].instance_lifecycle #=> String, one of "spot", "scheduled"
25270
+ # resp.reservations[0].instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block"
25189
25271
  # resp.reservations[0].instances[0].elastic_gpu_associations #=> Array
25190
25272
  # resp.reservations[0].instances[0].elastic_gpu_associations[0].elastic_gpu_id #=> String
25191
25273
  # resp.reservations[0].instances[0].elastic_gpu_associations[0].elastic_gpu_association_id #=> String
@@ -26302,7 +26384,7 @@ module Aws::EC2
26302
26384
  # resp.launch_template_versions[0].launch_template_data.security_group_ids[0] #=> String
26303
26385
  # resp.launch_template_versions[0].launch_template_data.security_groups #=> Array
26304
26386
  # resp.launch_template_versions[0].launch_template_data.security_groups[0] #=> String
26305
- # resp.launch_template_versions[0].launch_template_data.instance_market_options.market_type #=> String, one of "spot"
26387
+ # resp.launch_template_versions[0].launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
26306
26388
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.max_price #=> String
26307
26389
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
26308
26390
  # resp.launch_template_versions[0].launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -39882,7 +39964,7 @@ module Aws::EC2
39882
39964
  # resp.instance_type #=> String
39883
39965
  # resp.total_instance_count #=> Integer
39884
39966
  # resp.available_instance_count #=> Integer
39885
- # resp.state #=> String, one of "active", "expired", "cancelled", "pending", "failed"
39967
+ # resp.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed"
39886
39968
  # resp.instance_usages #=> Array
39887
39969
  # resp.instance_usages[0].account_id #=> String
39888
39970
  # resp.instance_usages[0].used_instance_count #=> Integer
@@ -41301,7 +41383,7 @@ module Aws::EC2
41301
41383
  # resp.launch_template_data.security_group_ids[0] #=> String
41302
41384
  # resp.launch_template_data.security_groups #=> Array
41303
41385
  # resp.launch_template_data.security_groups[0] #=> String
41304
- # resp.launch_template_data.instance_market_options.market_type #=> String, one of "spot"
41386
+ # resp.launch_template_data.instance_market_options.market_type #=> String, one of "spot", "capacity-block"
41305
41387
  # resp.launch_template_data.instance_market_options.spot_options.max_price #=> String
41306
41388
  # resp.launch_template_data.instance_market_options.spot_options.spot_instance_type #=> String, one of "one-time", "persistent"
41307
41389
  # resp.launch_template_data.instance_market_options.spot_options.block_duration_minutes #=> Integer
@@ -44855,7 +44937,7 @@ module Aws::EC2
44855
44937
  # total_target_capacity: 1, # required
44856
44938
  # on_demand_target_capacity: 1,
44857
44939
  # spot_target_capacity: 1,
44858
- # default_target_capacity_type: "spot", # accepts spot, on-demand
44940
+ # default_target_capacity_type: "spot", # accepts spot, on-demand, capacity-block
44859
44941
  # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
44860
44942
  # },
44861
44943
  # context: "String",
@@ -50379,6 +50461,89 @@ module Aws::EC2
50379
50461
  req.send_request(options)
50380
50462
  end
50381
50463
 
50464
+ # Purchase the Capacity Block for use with your account. With Capacity
50465
+ # Blocks you ensure GPU capacity is available for machine learning (ML)
50466
+ # workloads. You must specify the ID of the Capacity Block offering you
50467
+ # are purchasing.
50468
+ #
50469
+ # @option params [Boolean] :dry_run
50470
+ # Checks whether you have the required permissions for the action,
50471
+ # without actually making the request, and provides an error response.
50472
+ # If you have the required permissions, the error response is
50473
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
50474
+ #
50475
+ # @option params [Array<Types::TagSpecification>] :tag_specifications
50476
+ # The tags to apply to the Capacity Block during launch.
50477
+ #
50478
+ # @option params [required, String] :capacity_block_offering_id
50479
+ # The ID of the Capacity Block offering.
50480
+ #
50481
+ # @option params [required, String] :instance_platform
50482
+ # The type of operating system for which to reserve capacity.
50483
+ #
50484
+ # @return [Types::PurchaseCapacityBlockResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
50485
+ #
50486
+ # * {Types::PurchaseCapacityBlockResult#capacity_reservation #capacity_reservation} => Types::CapacityReservation
50487
+ #
50488
+ # @example Request syntax with placeholder values
50489
+ #
50490
+ # resp = client.purchase_capacity_block({
50491
+ # dry_run: false,
50492
+ # tag_specifications: [
50493
+ # {
50494
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, 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, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, 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-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, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
50495
+ # tags: [
50496
+ # {
50497
+ # key: "String",
50498
+ # value: "String",
50499
+ # },
50500
+ # ],
50501
+ # },
50502
+ # ],
50503
+ # capacity_block_offering_id: "OfferingId", # required
50504
+ # instance_platform: "Linux/UNIX", # required, accepts Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard, Windows with SQL Server Web, Linux with SQL Server Standard, Linux with SQL Server Web, Linux with SQL Server Enterprise, RHEL with SQL Server Standard, RHEL with SQL Server Enterprise, RHEL with SQL Server Web, RHEL with HA, RHEL with HA and SQL Server Standard, RHEL with HA and SQL Server Enterprise, Ubuntu Pro
50505
+ # })
50506
+ #
50507
+ # @example Response structure
50508
+ #
50509
+ # resp.capacity_reservation.capacity_reservation_id #=> String
50510
+ # resp.capacity_reservation.owner_id #=> String
50511
+ # resp.capacity_reservation.capacity_reservation_arn #=> String
50512
+ # resp.capacity_reservation.availability_zone_id #=> String
50513
+ # resp.capacity_reservation.instance_type #=> String
50514
+ # resp.capacity_reservation.instance_platform #=> String, one of "Linux/UNIX", "Red Hat Enterprise Linux", "SUSE Linux", "Windows", "Windows with SQL Server", "Windows with SQL Server Enterprise", "Windows with SQL Server Standard", "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", "Linux with SQL Server Enterprise", "RHEL with SQL Server Standard", "RHEL with SQL Server Enterprise", "RHEL with SQL Server Web", "RHEL with HA", "RHEL with HA and SQL Server Standard", "RHEL with HA and SQL Server Enterprise", "Ubuntu Pro"
50515
+ # resp.capacity_reservation.availability_zone #=> String
50516
+ # resp.capacity_reservation.tenancy #=> String, one of "default", "dedicated"
50517
+ # resp.capacity_reservation.total_instance_count #=> Integer
50518
+ # resp.capacity_reservation.available_instance_count #=> Integer
50519
+ # resp.capacity_reservation.ebs_optimized #=> Boolean
50520
+ # resp.capacity_reservation.ephemeral_storage #=> Boolean
50521
+ # resp.capacity_reservation.state #=> String, one of "active", "expired", "cancelled", "pending", "failed", "scheduled", "payment-pending", "payment-failed"
50522
+ # resp.capacity_reservation.start_date #=> Time
50523
+ # resp.capacity_reservation.end_date #=> Time
50524
+ # resp.capacity_reservation.end_date_type #=> String, one of "unlimited", "limited"
50525
+ # resp.capacity_reservation.instance_match_criteria #=> String, one of "open", "targeted"
50526
+ # resp.capacity_reservation.create_date #=> Time
50527
+ # resp.capacity_reservation.tags #=> Array
50528
+ # resp.capacity_reservation.tags[0].key #=> String
50529
+ # resp.capacity_reservation.tags[0].value #=> String
50530
+ # resp.capacity_reservation.outpost_arn #=> String
50531
+ # resp.capacity_reservation.capacity_reservation_fleet_id #=> String
50532
+ # resp.capacity_reservation.placement_group_arn #=> String
50533
+ # resp.capacity_reservation.capacity_allocations #=> Array
50534
+ # resp.capacity_reservation.capacity_allocations[0].allocation_type #=> String, one of "used"
50535
+ # resp.capacity_reservation.capacity_allocations[0].count #=> Integer
50536
+ # resp.capacity_reservation.reservation_type #=> String, one of "default", "capacity-block"
50537
+ #
50538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlock AWS API Documentation
50539
+ #
50540
+ # @overload purchase_capacity_block(params = {})
50541
+ # @param [Hash] params ({})
50542
+ def purchase_capacity_block(params = {}, options = {})
50543
+ req = build_request(:purchase_capacity_block, params)
50544
+ req.send_request(options)
50545
+ end
50546
+
50382
50547
  # Purchase a reservation with configurations that match those of your
50383
50548
  # Dedicated Host. You must have active Dedicated Hosts in your account
50384
50549
  # before you purchase a reservation. This action results in the
@@ -54619,7 +54784,7 @@ module Aws::EC2
54619
54784
  # version: "String",
54620
54785
  # },
54621
54786
  # instance_market_options: {
54622
- # market_type: "spot", # accepts spot
54787
+ # market_type: "spot", # accepts spot, capacity-block
54623
54788
  # spot_options: {
54624
54789
  # max_price: "String",
54625
54790
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -54723,7 +54888,7 @@ module Aws::EC2
54723
54888
  # resp.instances[0].hypervisor #=> String, one of "ovm", "xen"
54724
54889
  # resp.instances[0].iam_instance_profile.arn #=> String
54725
54890
  # resp.instances[0].iam_instance_profile.id #=> String
54726
- # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled"
54891
+ # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block"
54727
54892
  # resp.instances[0].elastic_gpu_associations #=> Array
54728
54893
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_id #=> String
54729
54894
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_association_id #=> String
@@ -57269,7 +57434,7 @@ module Aws::EC2
57269
57434
  params: params,
57270
57435
  config: config)
57271
57436
  context[:gem_name] = 'aws-sdk-ec2'
57272
- context[:gem_version] = '1.416.0'
57437
+ context[:gem_version] = '1.417.0'
57273
57438
  Seahorse::Client::Request.new(handlers, context)
57274
57439
  end
57275
57440
 
@@ -263,6 +263,8 @@ module Aws::EC2
263
263
  CancelledSpotInstanceRequestList = Shapes::ListShape.new(name: 'CancelledSpotInstanceRequestList')
264
264
  CapacityAllocation = Shapes::StructureShape.new(name: 'CapacityAllocation')
265
265
  CapacityAllocations = Shapes::ListShape.new(name: 'CapacityAllocations')
266
+ CapacityBlockOffering = Shapes::StructureShape.new(name: 'CapacityBlockOffering')
267
+ CapacityBlockOfferingSet = Shapes::ListShape.new(name: 'CapacityBlockOfferingSet')
266
268
  CapacityReservation = Shapes::StructureShape.new(name: 'CapacityReservation')
267
269
  CapacityReservationFleet = Shapes::StructureShape.new(name: 'CapacityReservationFleet')
268
270
  CapacityReservationFleetCancellationState = Shapes::StructureShape.new(name: 'CapacityReservationFleetCancellationState')
@@ -286,6 +288,7 @@ module Aws::EC2
286
288
  CapacityReservationTarget = Shapes::StructureShape.new(name: 'CapacityReservationTarget')
287
289
  CapacityReservationTargetResponse = Shapes::StructureShape.new(name: 'CapacityReservationTargetResponse')
288
290
  CapacityReservationTenancy = Shapes::StringShape.new(name: 'CapacityReservationTenancy')
291
+ CapacityReservationType = Shapes::StringShape.new(name: 'CapacityReservationType')
289
292
  CarrierGateway = Shapes::StructureShape.new(name: 'CarrierGateway')
290
293
  CarrierGatewayId = Shapes::StringShape.new(name: 'CarrierGatewayId')
291
294
  CarrierGatewayIdSet = Shapes::ListShape.new(name: 'CarrierGatewayIdSet')
@@ -757,6 +760,9 @@ module Aws::EC2
757
760
  DescribeByoipCidrsMaxResults = Shapes::IntegerShape.new(name: 'DescribeByoipCidrsMaxResults')
758
761
  DescribeByoipCidrsRequest = Shapes::StructureShape.new(name: 'DescribeByoipCidrsRequest')
759
762
  DescribeByoipCidrsResult = Shapes::StructureShape.new(name: 'DescribeByoipCidrsResult')
763
+ DescribeCapacityBlockOfferingsMaxResults = Shapes::IntegerShape.new(name: 'DescribeCapacityBlockOfferingsMaxResults')
764
+ DescribeCapacityBlockOfferingsRequest = Shapes::StructureShape.new(name: 'DescribeCapacityBlockOfferingsRequest')
765
+ DescribeCapacityBlockOfferingsResult = Shapes::StructureShape.new(name: 'DescribeCapacityBlockOfferingsResult')
760
766
  DescribeCapacityReservationFleetsMaxResults = Shapes::IntegerShape.new(name: 'DescribeCapacityReservationFleetsMaxResults')
761
767
  DescribeCapacityReservationFleetsRequest = Shapes::StructureShape.new(name: 'DescribeCapacityReservationFleetsRequest')
762
768
  DescribeCapacityReservationFleetsResult = Shapes::StructureShape.new(name: 'DescribeCapacityReservationFleetsResult')
@@ -2336,6 +2342,8 @@ module Aws::EC2
2336
2342
  PublicIpv4PoolRangeSet = Shapes::ListShape.new(name: 'PublicIpv4PoolRangeSet')
2337
2343
  PublicIpv4PoolSet = Shapes::ListShape.new(name: 'PublicIpv4PoolSet')
2338
2344
  Purchase = Shapes::StructureShape.new(name: 'Purchase')
2345
+ PurchaseCapacityBlockRequest = Shapes::StructureShape.new(name: 'PurchaseCapacityBlockRequest')
2346
+ PurchaseCapacityBlockResult = Shapes::StructureShape.new(name: 'PurchaseCapacityBlockResult')
2339
2347
  PurchaseHostReservationRequest = Shapes::StructureShape.new(name: 'PurchaseHostReservationRequest')
2340
2348
  PurchaseHostReservationResult = Shapes::StructureShape.new(name: 'PurchaseHostReservationResult')
2341
2349
  PurchaseRequest = Shapes::StructureShape.new(name: 'PurchaseRequest')
@@ -3918,6 +3926,20 @@ module Aws::EC2
3918
3926
 
3919
3927
  CapacityAllocations.member = Shapes::ShapeRef.new(shape: CapacityAllocation, location_name: "item")
3920
3928
 
3929
+ CapacityBlockOffering.add_member(:capacity_block_offering_id, Shapes::ShapeRef.new(shape: OfferingId, location_name: "capacityBlockOfferingId"))
3930
+ CapacityBlockOffering.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
3931
+ CapacityBlockOffering.add_member(:availability_zone, Shapes::ShapeRef.new(shape: String, location_name: "availabilityZone"))
3932
+ CapacityBlockOffering.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, location_name: "instanceCount"))
3933
+ CapacityBlockOffering.add_member(:start_date, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "startDate"))
3934
+ CapacityBlockOffering.add_member(:end_date, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "endDate"))
3935
+ CapacityBlockOffering.add_member(:capacity_block_duration_hours, Shapes::ShapeRef.new(shape: Integer, location_name: "capacityBlockDurationHours"))
3936
+ CapacityBlockOffering.add_member(:upfront_fee, Shapes::ShapeRef.new(shape: String, location_name: "upfrontFee"))
3937
+ CapacityBlockOffering.add_member(:currency_code, Shapes::ShapeRef.new(shape: String, location_name: "currencyCode"))
3938
+ CapacityBlockOffering.add_member(:tenancy, Shapes::ShapeRef.new(shape: CapacityReservationTenancy, location_name: "tenancy"))
3939
+ CapacityBlockOffering.struct_class = Types::CapacityBlockOffering
3940
+
3941
+ CapacityBlockOfferingSet.member = Shapes::ShapeRef.new(shape: CapacityBlockOffering, location_name: "item")
3942
+
3921
3943
  CapacityReservation.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
3922
3944
  CapacityReservation.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
3923
3945
  CapacityReservation.add_member(:capacity_reservation_arn, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationArn"))
@@ -3941,6 +3963,7 @@ module Aws::EC2
3941
3963
  CapacityReservation.add_member(:capacity_reservation_fleet_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationFleetId"))
3942
3964
  CapacityReservation.add_member(:placement_group_arn, Shapes::ShapeRef.new(shape: PlacementGroupArn, location_name: "placementGroupArn"))
3943
3965
  CapacityReservation.add_member(:capacity_allocations, Shapes::ShapeRef.new(shape: CapacityAllocations, location_name: "capacityAllocationSet"))
3966
+ CapacityReservation.add_member(:reservation_type, Shapes::ShapeRef.new(shape: CapacityReservationType, location_name: "reservationType"))
3944
3967
  CapacityReservation.struct_class = Types::CapacityReservation
3945
3968
 
3946
3969
  CapacityReservationFleet.add_member(:capacity_reservation_fleet_id, Shapes::ShapeRef.new(shape: CapacityReservationFleetId, location_name: "capacityReservationFleetId"))
@@ -6059,6 +6082,20 @@ module Aws::EC2
6059
6082
  DescribeByoipCidrsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
6060
6083
  DescribeByoipCidrsResult.struct_class = Types::DescribeByoipCidrsResult
6061
6084
 
6085
+ DescribeCapacityBlockOfferingsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
6086
+ DescribeCapacityBlockOfferingsRequest.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "InstanceType"))
6087
+ DescribeCapacityBlockOfferingsRequest.add_member(:instance_count, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "InstanceCount"))
6088
+ DescribeCapacityBlockOfferingsRequest.add_member(:start_date_range, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "StartDateRange"))
6089
+ DescribeCapacityBlockOfferingsRequest.add_member(:end_date_range, Shapes::ShapeRef.new(shape: MillisecondDateTime, location_name: "EndDateRange"))
6090
+ DescribeCapacityBlockOfferingsRequest.add_member(:capacity_duration_hours, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "CapacityDurationHours"))
6091
+ DescribeCapacityBlockOfferingsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
6092
+ DescribeCapacityBlockOfferingsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DescribeCapacityBlockOfferingsMaxResults, location_name: "MaxResults"))
6093
+ DescribeCapacityBlockOfferingsRequest.struct_class = Types::DescribeCapacityBlockOfferingsRequest
6094
+
6095
+ DescribeCapacityBlockOfferingsResult.add_member(:capacity_block_offerings, Shapes::ShapeRef.new(shape: CapacityBlockOfferingSet, location_name: "capacityBlockOfferingSet"))
6096
+ DescribeCapacityBlockOfferingsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
6097
+ DescribeCapacityBlockOfferingsResult.struct_class = Types::DescribeCapacityBlockOfferingsResult
6098
+
6062
6099
  DescribeCapacityReservationFleetsRequest.add_member(:capacity_reservation_fleet_ids, Shapes::ShapeRef.new(shape: CapacityReservationFleetIdSet, location_name: "CapacityReservationFleetId"))
6063
6100
  DescribeCapacityReservationFleetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
6064
6101
  DescribeCapacityReservationFleetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DescribeCapacityReservationFleetsMaxResults, location_name: "MaxResults"))
@@ -12296,6 +12333,15 @@ module Aws::EC2
12296
12333
  Purchase.add_member(:upfront_price, Shapes::ShapeRef.new(shape: String, location_name: "upfrontPrice"))
12297
12334
  Purchase.struct_class = Types::Purchase
12298
12335
 
12336
+ PurchaseCapacityBlockRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
12337
+ PurchaseCapacityBlockRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
12338
+ PurchaseCapacityBlockRequest.add_member(:capacity_block_offering_id, Shapes::ShapeRef.new(shape: OfferingId, required: true, location_name: "CapacityBlockOfferingId"))
12339
+ PurchaseCapacityBlockRequest.add_member(:instance_platform, Shapes::ShapeRef.new(shape: CapacityReservationInstancePlatform, required: true, location_name: "InstancePlatform"))
12340
+ PurchaseCapacityBlockRequest.struct_class = Types::PurchaseCapacityBlockRequest
12341
+
12342
+ PurchaseCapacityBlockResult.add_member(:capacity_reservation, Shapes::ShapeRef.new(shape: CapacityReservation, location_name: "capacityReservation"))
12343
+ PurchaseCapacityBlockResult.struct_class = Types::PurchaseCapacityBlockResult
12344
+
12299
12345
  PurchaseHostReservationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
12300
12346
  PurchaseHostReservationRequest.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCodeValues, location_name: "CurrencyCode"))
12301
12347
  PurchaseHostReservationRequest.add_member(:host_id_set, Shapes::ShapeRef.new(shape: RequestHostIdSet, required: true, location_name: "HostIdSet"))
@@ -16955,6 +17001,20 @@ module Aws::EC2
16955
17001
  )
16956
17002
  end)
16957
17003
 
17004
+ api.add_operation(:describe_capacity_block_offerings, Seahorse::Model::Operation.new.tap do |o|
17005
+ o.name = "DescribeCapacityBlockOfferings"
17006
+ o.http_method = "POST"
17007
+ o.http_request_uri = "/"
17008
+ o.input = Shapes::ShapeRef.new(shape: DescribeCapacityBlockOfferingsRequest)
17009
+ o.output = Shapes::ShapeRef.new(shape: DescribeCapacityBlockOfferingsResult)
17010
+ o[:pager] = Aws::Pager.new(
17011
+ limit_key: "max_results",
17012
+ tokens: {
17013
+ "next_token" => "next_token"
17014
+ }
17015
+ )
17016
+ end)
17017
+
16958
17018
  api.add_operation(:describe_capacity_reservation_fleets, Seahorse::Model::Operation.new.tap do |o|
16959
17019
  o.name = "DescribeCapacityReservationFleets"
16960
17020
  o.http_method = "POST"
@@ -20244,6 +20304,14 @@ module Aws::EC2
20244
20304
  o.output = Shapes::ShapeRef.new(shape: ProvisionPublicIpv4PoolCidrResult)
20245
20305
  end)
20246
20306
 
20307
+ api.add_operation(:purchase_capacity_block, Seahorse::Model::Operation.new.tap do |o|
20308
+ o.name = "PurchaseCapacityBlock"
20309
+ o.http_method = "POST"
20310
+ o.http_request_uri = "/"
20311
+ o.input = Shapes::ShapeRef.new(shape: PurchaseCapacityBlockRequest)
20312
+ o.output = Shapes::ShapeRef.new(shape: PurchaseCapacityBlockResult)
20313
+ end)
20314
+
20247
20315
  api.add_operation(:purchase_host_reservation, Seahorse::Model::Operation.new.tap do |o|
20248
20316
  o.name = "PurchaseHostReservation"
20249
20317
  o.http_method = "POST"
@@ -3176,6 +3176,20 @@ module Aws::EC2
3176
3176
  end
3177
3177
  end
3178
3178
 
3179
+ class DescribeCapacityBlockOfferings
3180
+ def self.build(context)
3181
+ unless context.config.regional_endpoint
3182
+ endpoint = context.config.endpoint.to_s
3183
+ end
3184
+ Aws::EC2::EndpointParameters.new(
3185
+ region: context.config.region,
3186
+ use_dual_stack: context.config.use_dualstack_endpoint,
3187
+ use_fips: context.config.use_fips_endpoint,
3188
+ endpoint: endpoint,
3189
+ )
3190
+ end
3191
+ end
3192
+
3179
3193
  class DescribeCapacityReservationFleets
3180
3194
  def self.build(context)
3181
3195
  unless context.config.regional_endpoint
@@ -7558,6 +7572,20 @@ module Aws::EC2
7558
7572
  end
7559
7573
  end
7560
7574
 
7575
+ class PurchaseCapacityBlock
7576
+ def self.build(context)
7577
+ unless context.config.regional_endpoint
7578
+ endpoint = context.config.endpoint.to_s
7579
+ end
7580
+ Aws::EC2::EndpointParameters.new(
7581
+ region: context.config.region,
7582
+ use_dual_stack: context.config.use_dualstack_endpoint,
7583
+ use_fips: context.config.use_fips_endpoint,
7584
+ endpoint: endpoint,
7585
+ )
7586
+ end
7587
+ end
7588
+
7561
7589
  class PurchaseHostReservation
7562
7590
  def self.build(context)
7563
7591
  unless context.config.regional_endpoint
@@ -508,6 +508,8 @@ module Aws::EC2
508
508
  Aws::EC2::Endpoints::DescribeBundleTasks.build(context)
509
509
  when :describe_byoip_cidrs
510
510
  Aws::EC2::Endpoints::DescribeByoipCidrs.build(context)
511
+ when :describe_capacity_block_offerings
512
+ Aws::EC2::Endpoints::DescribeCapacityBlockOfferings.build(context)
511
513
  when :describe_capacity_reservation_fleets
512
514
  Aws::EC2::Endpoints::DescribeCapacityReservationFleets.build(context)
513
515
  when :describe_capacity_reservations
@@ -1134,6 +1136,8 @@ module Aws::EC2
1134
1136
  Aws::EC2::Endpoints::ProvisionIpamPoolCidr.build(context)
1135
1137
  when :provision_public_ipv_4_pool_cidr
1136
1138
  Aws::EC2::Endpoints::ProvisionPublicIpv4PoolCidr.build(context)
1139
+ when :purchase_capacity_block
1140
+ Aws::EC2::Endpoints::PurchaseCapacityBlock.build(context)
1137
1141
  when :purchase_host_reservation
1138
1142
  Aws::EC2::Endpoints::PurchaseHostReservation.build(context)
1139
1143
  when :purchase_reserved_instances_offering
@@ -213,7 +213,7 @@ module Aws::EC2
213
213
  # version: "String",
214
214
  # },
215
215
  # instance_market_options: {
216
- # market_type: "spot", # accepts spot
216
+ # market_type: "spot", # accepts spot, capacity-block
217
217
  # spot_options: {
218
218
  # max_price: "String",
219
219
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -439,7 +439,7 @@ module Aws::EC2
439
439
  # version: "String",
440
440
  # },
441
441
  # instance_market_options: {
442
- # market_type: "spot", # accepts spot
442
+ # market_type: "spot", # accepts spot, capacity-block
443
443
  # spot_options: {
444
444
  # max_price: "String",
445
445
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -4129,6 +4129,65 @@ module Aws::EC2
4129
4129
  include Aws::Structure
4130
4130
  end
4131
4131
 
4132
+ # The recommended Capacity Block that fits your search requirements.
4133
+ #
4134
+ # @!attribute [rw] capacity_block_offering_id
4135
+ # The ID of the Capacity Block offering.
4136
+ # @return [String]
4137
+ #
4138
+ # @!attribute [rw] instance_type
4139
+ # The instance type of the Capacity Block offering.
4140
+ # @return [String]
4141
+ #
4142
+ # @!attribute [rw] availability_zone
4143
+ # The Availability Zone of the Capacity Block offering.
4144
+ # @return [String]
4145
+ #
4146
+ # @!attribute [rw] instance_count
4147
+ # The number of instances in the Capacity Block offering.
4148
+ # @return [Integer]
4149
+ #
4150
+ # @!attribute [rw] start_date
4151
+ # The start date of the Capacity Block offering.
4152
+ # @return [Time]
4153
+ #
4154
+ # @!attribute [rw] end_date
4155
+ # The end date of the Capacity Block offering.
4156
+ # @return [Time]
4157
+ #
4158
+ # @!attribute [rw] capacity_block_duration_hours
4159
+ # The amount of time of the Capacity Block reservation in hours.
4160
+ # @return [Integer]
4161
+ #
4162
+ # @!attribute [rw] upfront_fee
4163
+ # The total price to be paid up front.
4164
+ # @return [String]
4165
+ #
4166
+ # @!attribute [rw] currency_code
4167
+ # The currency of the payment for the Capacity Block.
4168
+ # @return [String]
4169
+ #
4170
+ # @!attribute [rw] tenancy
4171
+ # The tenancy of the Capacity Block.
4172
+ # @return [String]
4173
+ #
4174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityBlockOffering AWS API Documentation
4175
+ #
4176
+ class CapacityBlockOffering < Struct.new(
4177
+ :capacity_block_offering_id,
4178
+ :instance_type,
4179
+ :availability_zone,
4180
+ :instance_count,
4181
+ :start_date,
4182
+ :end_date,
4183
+ :capacity_block_duration_hours,
4184
+ :upfront_fee,
4185
+ :currency_code,
4186
+ :tenancy)
4187
+ SENSITIVE = []
4188
+ include Aws::Structure
4189
+ end
4190
+
4132
4191
  # Describes a Capacity Reservation.
4133
4192
  #
4134
4193
  # @!attribute [rw] capacity_reservation_id
@@ -4294,6 +4353,10 @@ module Aws::EC2
4294
4353
  # Information about instance capacity usage.
4295
4354
  # @return [Array<Types::CapacityAllocation>]
4296
4355
  #
4356
+ # @!attribute [rw] reservation_type
4357
+ # The type of Capacity Reservation.
4358
+ # @return [String]
4359
+ #
4297
4360
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CapacityReservation AWS API Documentation
4298
4361
  #
4299
4362
  class CapacityReservation < Struct.new(
@@ -4319,7 +4382,8 @@ module Aws::EC2
4319
4382
  :outpost_arn,
4320
4383
  :capacity_reservation_fleet_id,
4321
4384
  :placement_group_arn,
4322
- :capacity_allocations)
4385
+ :capacity_allocations,
4386
+ :reservation_type)
4323
4387
  SENSITIVE = []
4324
4388
  include Aws::Structure
4325
4389
  end
@@ -16147,6 +16211,79 @@ module Aws::EC2
16147
16211
  include Aws::Structure
16148
16212
  end
16149
16213
 
16214
+ # @!attribute [rw] dry_run
16215
+ # Checks whether you have the required permissions for the action,
16216
+ # without actually making the request, and provides an error response.
16217
+ # If you have the required permissions, the error response is
16218
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
16219
+ # @return [Boolean]
16220
+ #
16221
+ # @!attribute [rw] instance_type
16222
+ # The type of instance for which the Capacity Block offering reserves
16223
+ # capacity.
16224
+ # @return [String]
16225
+ #
16226
+ # @!attribute [rw] instance_count
16227
+ # The number of instances for which to reserve capacity.
16228
+ # @return [Integer]
16229
+ #
16230
+ # @!attribute [rw] start_date_range
16231
+ # The earliest start date for the Capacity Block offering.
16232
+ # @return [Time]
16233
+ #
16234
+ # @!attribute [rw] end_date_range
16235
+ # The latest end date for the Capacity Block offering.
16236
+ # @return [Time]
16237
+ #
16238
+ # @!attribute [rw] capacity_duration_hours
16239
+ # The number of hours for which to reserve Capacity Block.
16240
+ # @return [Integer]
16241
+ #
16242
+ # @!attribute [rw] next_token
16243
+ # The token to use to retrieve the next page of results.
16244
+ # @return [String]
16245
+ #
16246
+ # @!attribute [rw] max_results
16247
+ # The maximum number of results to return for the request in a single
16248
+ # page. The remaining results can be seen by sending another request
16249
+ # with the returned `nextToken` value. This value can be between 5 and
16250
+ # 500. If `maxResults` is given a larger value than 500, you receive
16251
+ # an error.
16252
+ # @return [Integer]
16253
+ #
16254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockOfferingsRequest AWS API Documentation
16255
+ #
16256
+ class DescribeCapacityBlockOfferingsRequest < Struct.new(
16257
+ :dry_run,
16258
+ :instance_type,
16259
+ :instance_count,
16260
+ :start_date_range,
16261
+ :end_date_range,
16262
+ :capacity_duration_hours,
16263
+ :next_token,
16264
+ :max_results)
16265
+ SENSITIVE = []
16266
+ include Aws::Structure
16267
+ end
16268
+
16269
+ # @!attribute [rw] capacity_block_offerings
16270
+ # The recommended Capacity Block offering for the dates specified.
16271
+ # @return [Array<Types::CapacityBlockOffering>]
16272
+ #
16273
+ # @!attribute [rw] next_token
16274
+ # The token to use to retrieve the next page of results. This value is
16275
+ # `null` when there are no more results to return.
16276
+ # @return [String]
16277
+ #
16278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityBlockOfferingsResult AWS API Documentation
16279
+ #
16280
+ class DescribeCapacityBlockOfferingsResult < Struct.new(
16281
+ :capacity_block_offerings,
16282
+ :next_token)
16283
+ SENSITIVE = []
16284
+ include Aws::Structure
16285
+ end
16286
+
16150
16287
  # @!attribute [rw] capacity_reservation_fleet_ids
16151
16288
  # The IDs of the Capacity Reservation Fleets to describe.
16152
16289
  # @return [Array<String>]
@@ -38786,18 +38923,21 @@ module Aws::EC2
38786
38923
  #
38787
38924
  # </note>
38788
38925
  #
38789
- # For more information, see [Attribute-based instance type selection for
38790
- # EC2 Fleet][3], [Attribute-based instance type selection for Spot
38791
- # Fleet][4], and [Spot placement score][5] in the *Amazon EC2 User
38926
+ # For more information, see [Create a mixed instances group using
38927
+ # attribute-based instance type selection][3] in the *Amazon EC2 Auto
38928
+ # Scaling User Guide*, and also [Attribute-based instance type selection
38929
+ # for EC2 Fleet][4], [Attribute-based instance type selection for Spot
38930
+ # Fleet][5], and [Spot placement score][6] in the *Amazon EC2 User
38792
38931
  # Guide*.
38793
38932
  #
38794
38933
  #
38795
38934
  #
38796
38935
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html
38797
38936
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html
38798
- # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html
38799
- # [4]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html
38800
- # [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html
38937
+ # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html
38938
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html
38939
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html
38940
+ # [6]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html
38801
38941
  #
38802
38942
  # @!attribute [rw] v_cpu_count
38803
38943
  # The minimum and maximum number of vCPUs.
@@ -51870,6 +52010,48 @@ module Aws::EC2
51870
52010
  include Aws::Structure
51871
52011
  end
51872
52012
 
52013
+ # @!attribute [rw] dry_run
52014
+ # Checks whether you have the required permissions for the action,
52015
+ # without actually making the request, and provides an error response.
52016
+ # If you have the required permissions, the error response is
52017
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
52018
+ # @return [Boolean]
52019
+ #
52020
+ # @!attribute [rw] tag_specifications
52021
+ # The tags to apply to the Capacity Block during launch.
52022
+ # @return [Array<Types::TagSpecification>]
52023
+ #
52024
+ # @!attribute [rw] capacity_block_offering_id
52025
+ # The ID of the Capacity Block offering.
52026
+ # @return [String]
52027
+ #
52028
+ # @!attribute [rw] instance_platform
52029
+ # The type of operating system for which to reserve capacity.
52030
+ # @return [String]
52031
+ #
52032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlockRequest AWS API Documentation
52033
+ #
52034
+ class PurchaseCapacityBlockRequest < Struct.new(
52035
+ :dry_run,
52036
+ :tag_specifications,
52037
+ :capacity_block_offering_id,
52038
+ :instance_platform)
52039
+ SENSITIVE = []
52040
+ include Aws::Structure
52041
+ end
52042
+
52043
+ # @!attribute [rw] capacity_reservation
52044
+ # The Capacity Reservation.
52045
+ # @return [Types::CapacityReservation]
52046
+ #
52047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseCapacityBlockResult AWS API Documentation
52048
+ #
52049
+ class PurchaseCapacityBlockResult < Struct.new(
52050
+ :capacity_reservation)
52051
+ SENSITIVE = []
52052
+ include Aws::Structure
52053
+ end
52054
+
51873
52055
  # @!attribute [rw] client_token
51874
52056
  # Unique, case-sensitive identifier that you provide to ensure the
51875
52057
  # idempotency of the request. For more information, see [Ensuring
data/lib/aws-sdk-ec2.rb CHANGED
@@ -76,6 +76,6 @@ require_relative 'aws-sdk-ec2/customizations'
76
76
  # @!group service
77
77
  module Aws::EC2
78
78
 
79
- GEM_VERSION = '1.416.0'
79
+ GEM_VERSION = '1.417.0'
80
80
 
81
81
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.416.0
4
+ version: 1.417.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-26 00:00:00.000000000 Z
11
+ date: 2023-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sigv4