aws-sdk-ec2 1.415.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: 4579119ace8927db16d1523c9fc1b17878d975fe8ccbae16bdd6642d326af31c
4
- data.tar.gz: 7e5b310e58b2bf1b2e70e3502ff9365389451b06dd94bebb2f929846a5527ac2
3
+ metadata.gz: 7ac4887a539a63a494296958bdf908d279a6407db370596be8a3a3ace6fd1197
4
+ data.tar.gz: d4cc951fc9825b038d5f0ce1841fa6ff741eb1d2722a8d947ff4bc7b17b05cea
5
5
  SHA512:
6
- metadata.gz: 68654626b76465c5458bfffa0cb1c0e8b9ab19e3ec1ce7b819e68c87a814750b4cf3a00b11b5a6daee6d83017943150acf1eb4c4460cb584e68f8d68559ebe32
7
- data.tar.gz: 0d56ea563876462ee6e654ecea86109fc45223fe78d45d37eb1ba93afad96ceb3a3386d96b9b019c3ee98e85d7a49aae32076aa93143388c2395e78cd79f309b
6
+ metadata.gz: 4fbf66a95a483a41ed3103c63a2e5d80ecaa32630f064bc5ced87991e52afbe014c6e8b4adb5cd52ddaedd9037f49fe956eef125b619b8493e94975820d88a3d
7
+ data.tar.gz: 2bd114210651203a603951c89036882d1f30110e497552856bf8caf3eae33f39b78d31583d672bc76f4022112d97fb808ea477c705d37eecf47d8a23b17b17f4
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
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
+
9
+ 1.416.0 (2023-10-26)
10
+ ------------------
11
+
12
+ * Feature - Launching GetSecurityGroupsForVpc API. This API gets security groups that can be associated by the AWS account making the request with network interfaces in the specified VPC.
13
+
4
14
  1.415.0 (2023-10-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.415.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
@@ -42131,6 +42213,91 @@ module Aws::EC2
42131
42213
  req.send_request(options)
42132
42214
  end
42133
42215
 
42216
+ # Gets security groups that can be associated by the Amazon Web Services
42217
+ # account making the request with network interfaces in the specified
42218
+ # VPC.
42219
+ #
42220
+ # @option params [required, String] :vpc_id
42221
+ # The VPC ID where the security group can be used.
42222
+ #
42223
+ # @option params [String] :next_token
42224
+ # The token returned from a previous paginated request. Pagination
42225
+ # continues from the end of the items returned by the previous request.
42226
+ #
42227
+ # @option params [Integer] :max_results
42228
+ # The maximum number of items to return for this request. To get the
42229
+ # next page of items, make another request with the token returned in
42230
+ # the output. For more information, see [Pagination][1].
42231
+ #
42232
+ #
42233
+ #
42234
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
42235
+ #
42236
+ # @option params [Array<Types::Filter>] :filters
42237
+ # The filters. If using multiple filters, the results include security
42238
+ # groups which match all filters.
42239
+ #
42240
+ # * `group-id`: The security group ID.
42241
+ #
42242
+ # * `description`: The security group's description.
42243
+ #
42244
+ # * `group-name`: The security group name.
42245
+ #
42246
+ # * `owner-id`: The security group owner ID.
42247
+ #
42248
+ # * `primary-vpc-id`: The VPC ID in which the security group was
42249
+ # created.
42250
+ #
42251
+ # @option params [Boolean] :dry_run
42252
+ # Checks whether you have the required permissions for the action,
42253
+ # without actually making the request, and provides an error response.
42254
+ # If you have the required permissions, the error response is
42255
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
42256
+ #
42257
+ # @return [Types::GetSecurityGroupsForVpcResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
42258
+ #
42259
+ # * {Types::GetSecurityGroupsForVpcResult#next_token #next_token} => String
42260
+ # * {Types::GetSecurityGroupsForVpcResult#security_group_for_vpcs #security_group_for_vpcs} => Array&lt;Types::SecurityGroupForVpc&gt;
42261
+ #
42262
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
42263
+ #
42264
+ # @example Request syntax with placeholder values
42265
+ #
42266
+ # resp = client.get_security_groups_for_vpc({
42267
+ # vpc_id: "VpcId", # required
42268
+ # next_token: "String",
42269
+ # max_results: 1,
42270
+ # filters: [
42271
+ # {
42272
+ # name: "String",
42273
+ # values: ["String"],
42274
+ # },
42275
+ # ],
42276
+ # dry_run: false,
42277
+ # })
42278
+ #
42279
+ # @example Response structure
42280
+ #
42281
+ # resp.next_token #=> String
42282
+ # resp.security_group_for_vpcs #=> Array
42283
+ # resp.security_group_for_vpcs[0].description #=> String
42284
+ # resp.security_group_for_vpcs[0].group_name #=> String
42285
+ # resp.security_group_for_vpcs[0].owner_id #=> String
42286
+ # resp.security_group_for_vpcs[0].group_id #=> String
42287
+ # resp.security_group_for_vpcs[0].tags #=> Array
42288
+ # resp.security_group_for_vpcs[0].tags[0].key #=> String
42289
+ # resp.security_group_for_vpcs[0].tags[0].value #=> String
42290
+ # resp.security_group_for_vpcs[0].primary_vpc_id #=> String
42291
+ #
42292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSecurityGroupsForVpc AWS API Documentation
42293
+ #
42294
+ # @overload get_security_groups_for_vpc(params = {})
42295
+ # @param [Hash] params ({})
42296
+ def get_security_groups_for_vpc(params = {}, options = {})
42297
+ req = build_request(:get_security_groups_for_vpc, params)
42298
+ req.send_request(options)
42299
+ end
42300
+
42134
42301
  # Retrieves the access status of your account to the EC2 serial console
42135
42302
  # of all instances. By default, access to the EC2 serial console is
42136
42303
  # disabled for your account. For more information, see [Manage account
@@ -44770,7 +44937,7 @@ module Aws::EC2
44770
44937
  # total_target_capacity: 1, # required
44771
44938
  # on_demand_target_capacity: 1,
44772
44939
  # spot_target_capacity: 1,
44773
- # default_target_capacity_type: "spot", # accepts spot, on-demand
44940
+ # default_target_capacity_type: "spot", # accepts spot, on-demand, capacity-block
44774
44941
  # target_capacity_unit_type: "vcpu", # accepts vcpu, memory-mib, units
44775
44942
  # },
44776
44943
  # context: "String",
@@ -50294,6 +50461,89 @@ module Aws::EC2
50294
50461
  req.send_request(options)
50295
50462
  end
50296
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
+
50297
50547
  # Purchase a reservation with configurations that match those of your
50298
50548
  # Dedicated Host. You must have active Dedicated Hosts in your account
50299
50549
  # before you purchase a reservation. This action results in the
@@ -54534,7 +54784,7 @@ module Aws::EC2
54534
54784
  # version: "String",
54535
54785
  # },
54536
54786
  # instance_market_options: {
54537
- # market_type: "spot", # accepts spot
54787
+ # market_type: "spot", # accepts spot, capacity-block
54538
54788
  # spot_options: {
54539
54789
  # max_price: "String",
54540
54790
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -54638,7 +54888,7 @@ module Aws::EC2
54638
54888
  # resp.instances[0].hypervisor #=> String, one of "ovm", "xen"
54639
54889
  # resp.instances[0].iam_instance_profile.arn #=> String
54640
54890
  # resp.instances[0].iam_instance_profile.id #=> String
54641
- # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled"
54891
+ # resp.instances[0].instance_lifecycle #=> String, one of "spot", "scheduled", "capacity-block"
54642
54892
  # resp.instances[0].elastic_gpu_associations #=> Array
54643
54893
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_id #=> String
54644
54894
  # resp.instances[0].elastic_gpu_associations[0].elastic_gpu_association_id #=> String
@@ -57184,7 +57434,7 @@ module Aws::EC2
57184
57434
  params: params,
57185
57435
  config: config)
57186
57436
  context[:gem_name] = 'aws-sdk-ec2'
57187
- context[:gem_version] = '1.415.0'
57437
+ context[:gem_version] = '1.417.0'
57188
57438
  Seahorse::Client::Request.new(handlers, context)
57189
57439
  end
57190
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')
@@ -1448,6 +1454,9 @@ module Aws::EC2
1448
1454
  GetPasswordDataResult = Shapes::StructureShape.new(name: 'GetPasswordDataResult')
1449
1455
  GetReservedInstancesExchangeQuoteRequest = Shapes::StructureShape.new(name: 'GetReservedInstancesExchangeQuoteRequest')
1450
1456
  GetReservedInstancesExchangeQuoteResult = Shapes::StructureShape.new(name: 'GetReservedInstancesExchangeQuoteResult')
1457
+ GetSecurityGroupsForVpcRequest = Shapes::StructureShape.new(name: 'GetSecurityGroupsForVpcRequest')
1458
+ GetSecurityGroupsForVpcRequestMaxResults = Shapes::IntegerShape.new(name: 'GetSecurityGroupsForVpcRequestMaxResults')
1459
+ GetSecurityGroupsForVpcResult = Shapes::StructureShape.new(name: 'GetSecurityGroupsForVpcResult')
1451
1460
  GetSerialConsoleAccessStatusRequest = Shapes::StructureShape.new(name: 'GetSerialConsoleAccessStatusRequest')
1452
1461
  GetSerialConsoleAccessStatusResult = Shapes::StructureShape.new(name: 'GetSerialConsoleAccessStatusResult')
1453
1462
  GetSpotPlacementScoresRequest = Shapes::StructureShape.new(name: 'GetSpotPlacementScoresRequest')
@@ -2333,6 +2342,8 @@ module Aws::EC2
2333
2342
  PublicIpv4PoolRangeSet = Shapes::ListShape.new(name: 'PublicIpv4PoolRangeSet')
2334
2343
  PublicIpv4PoolSet = Shapes::ListShape.new(name: 'PublicIpv4PoolSet')
2335
2344
  Purchase = Shapes::StructureShape.new(name: 'Purchase')
2345
+ PurchaseCapacityBlockRequest = Shapes::StructureShape.new(name: 'PurchaseCapacityBlockRequest')
2346
+ PurchaseCapacityBlockResult = Shapes::StructureShape.new(name: 'PurchaseCapacityBlockResult')
2336
2347
  PurchaseHostReservationRequest = Shapes::StructureShape.new(name: 'PurchaseHostReservationRequest')
2337
2348
  PurchaseHostReservationResult = Shapes::StructureShape.new(name: 'PurchaseHostReservationResult')
2338
2349
  PurchaseRequest = Shapes::StructureShape.new(name: 'PurchaseRequest')
@@ -2554,6 +2565,8 @@ module Aws::EC2
2554
2565
  SearchTransitGatewayRoutesRequest = Shapes::StructureShape.new(name: 'SearchTransitGatewayRoutesRequest')
2555
2566
  SearchTransitGatewayRoutesResult = Shapes::StructureShape.new(name: 'SearchTransitGatewayRoutesResult')
2556
2567
  SecurityGroup = Shapes::StructureShape.new(name: 'SecurityGroup')
2568
+ SecurityGroupForVpc = Shapes::StructureShape.new(name: 'SecurityGroupForVpc')
2569
+ SecurityGroupForVpcList = Shapes::ListShape.new(name: 'SecurityGroupForVpcList')
2557
2570
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
2558
2571
  SecurityGroupIdList = Shapes::ListShape.new(name: 'SecurityGroupIdList')
2559
2572
  SecurityGroupIdSet = Shapes::ListShape.new(name: 'SecurityGroupIdSet')
@@ -3913,6 +3926,20 @@ module Aws::EC2
3913
3926
 
3914
3927
  CapacityAllocations.member = Shapes::ShapeRef.new(shape: CapacityAllocation, location_name: "item")
3915
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
+
3916
3943
  CapacityReservation.add_member(:capacity_reservation_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationId"))
3917
3944
  CapacityReservation.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
3918
3945
  CapacityReservation.add_member(:capacity_reservation_arn, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationArn"))
@@ -3936,6 +3963,7 @@ module Aws::EC2
3936
3963
  CapacityReservation.add_member(:capacity_reservation_fleet_id, Shapes::ShapeRef.new(shape: String, location_name: "capacityReservationFleetId"))
3937
3964
  CapacityReservation.add_member(:placement_group_arn, Shapes::ShapeRef.new(shape: PlacementGroupArn, location_name: "placementGroupArn"))
3938
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"))
3939
3967
  CapacityReservation.struct_class = Types::CapacityReservation
3940
3968
 
3941
3969
  CapacityReservationFleet.add_member(:capacity_reservation_fleet_id, Shapes::ShapeRef.new(shape: CapacityReservationFleetId, location_name: "capacityReservationFleetId"))
@@ -6054,6 +6082,20 @@ module Aws::EC2
6054
6082
  DescribeByoipCidrsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
6055
6083
  DescribeByoipCidrsResult.struct_class = Types::DescribeByoipCidrsResult
6056
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
+
6057
6099
  DescribeCapacityReservationFleetsRequest.add_member(:capacity_reservation_fleet_ids, Shapes::ShapeRef.new(shape: CapacityReservationFleetIdSet, location_name: "CapacityReservationFleetId"))
6058
6100
  DescribeCapacityReservationFleetsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
6059
6101
  DescribeCapacityReservationFleetsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: DescribeCapacityReservationFleetsMaxResults, location_name: "MaxResults"))
@@ -8927,6 +8969,17 @@ module Aws::EC2
8927
8969
  GetReservedInstancesExchangeQuoteResult.add_member(:validation_failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "validationFailureReason"))
8928
8970
  GetReservedInstancesExchangeQuoteResult.struct_class = Types::GetReservedInstancesExchangeQuoteResult
8929
8971
 
8972
+ GetSecurityGroupsForVpcRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "VpcId"))
8973
+ GetSecurityGroupsForVpcRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
8974
+ GetSecurityGroupsForVpcRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: GetSecurityGroupsForVpcRequestMaxResults, location_name: "MaxResults"))
8975
+ GetSecurityGroupsForVpcRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
8976
+ GetSecurityGroupsForVpcRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8977
+ GetSecurityGroupsForVpcRequest.struct_class = Types::GetSecurityGroupsForVpcRequest
8978
+
8979
+ GetSecurityGroupsForVpcResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
8980
+ GetSecurityGroupsForVpcResult.add_member(:security_group_for_vpcs, Shapes::ShapeRef.new(shape: SecurityGroupForVpcList, location_name: "securityGroupForVpcSet"))
8981
+ GetSecurityGroupsForVpcResult.struct_class = Types::GetSecurityGroupsForVpcResult
8982
+
8930
8983
  GetSerialConsoleAccessStatusRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
8931
8984
  GetSerialConsoleAccessStatusRequest.struct_class = Types::GetSerialConsoleAccessStatusRequest
8932
8985
 
@@ -12280,6 +12333,15 @@ module Aws::EC2
12280
12333
  Purchase.add_member(:upfront_price, Shapes::ShapeRef.new(shape: String, location_name: "upfrontPrice"))
12281
12334
  Purchase.struct_class = Types::Purchase
12282
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
+
12283
12345
  PurchaseHostReservationRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
12284
12346
  PurchaseHostReservationRequest.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCodeValues, location_name: "CurrencyCode"))
12285
12347
  PurchaseHostReservationRequest.add_member(:host_id_set, Shapes::ShapeRef.new(shape: RequestHostIdSet, required: true, location_name: "HostIdSet"))
@@ -13292,6 +13354,16 @@ module Aws::EC2
13292
13354
  SecurityGroup.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
13293
13355
  SecurityGroup.struct_class = Types::SecurityGroup
13294
13356
 
13357
+ SecurityGroupForVpc.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
13358
+ SecurityGroupForVpc.add_member(:group_name, Shapes::ShapeRef.new(shape: String, location_name: "groupName"))
13359
+ SecurityGroupForVpc.add_member(:owner_id, Shapes::ShapeRef.new(shape: String, location_name: "ownerId"))
13360
+ SecurityGroupForVpc.add_member(:group_id, Shapes::ShapeRef.new(shape: String, location_name: "groupId"))
13361
+ SecurityGroupForVpc.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tagSet"))
13362
+ SecurityGroupForVpc.add_member(:primary_vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "primaryVpcId"))
13363
+ SecurityGroupForVpc.struct_class = Types::SecurityGroupForVpc
13364
+
13365
+ SecurityGroupForVpcList.member = Shapes::ShapeRef.new(shape: SecurityGroupForVpc, location_name: "item")
13366
+
13295
13367
  SecurityGroupIdList.member = Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "item")
13296
13368
 
13297
13369
  SecurityGroupIdSet.member = Shapes::ShapeRef.new(shape: SecurityGroupId, location_name: "item")
@@ -16929,6 +17001,20 @@ module Aws::EC2
16929
17001
  )
16930
17002
  end)
16931
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
+
16932
17018
  api.add_operation(:describe_capacity_reservation_fleets, Seahorse::Model::Operation.new.tap do |o|
16933
17019
  o.name = "DescribeCapacityReservationFleets"
16934
17020
  o.http_method = "POST"
@@ -19400,6 +19486,20 @@ module Aws::EC2
19400
19486
  o.output = Shapes::ShapeRef.new(shape: GetReservedInstancesExchangeQuoteResult)
19401
19487
  end)
19402
19488
 
19489
+ api.add_operation(:get_security_groups_for_vpc, Seahorse::Model::Operation.new.tap do |o|
19490
+ o.name = "GetSecurityGroupsForVpc"
19491
+ o.http_method = "POST"
19492
+ o.http_request_uri = "/"
19493
+ o.input = Shapes::ShapeRef.new(shape: GetSecurityGroupsForVpcRequest)
19494
+ o.output = Shapes::ShapeRef.new(shape: GetSecurityGroupsForVpcResult)
19495
+ o[:pager] = Aws::Pager.new(
19496
+ limit_key: "max_results",
19497
+ tokens: {
19498
+ "next_token" => "next_token"
19499
+ }
19500
+ )
19501
+ end)
19502
+
19403
19503
  api.add_operation(:get_serial_console_access_status, Seahorse::Model::Operation.new.tap do |o|
19404
19504
  o.name = "GetSerialConsoleAccessStatus"
19405
19505
  o.http_method = "POST"
@@ -20204,6 +20304,14 @@ module Aws::EC2
20204
20304
  o.output = Shapes::ShapeRef.new(shape: ProvisionPublicIpv4PoolCidrResult)
20205
20305
  end)
20206
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
+
20207
20315
  api.add_operation(:purchase_host_reservation, Seahorse::Model::Operation.new.tap do |o|
20208
20316
  o.name = "PurchaseHostReservation"
20209
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
@@ -6242,6 +6256,20 @@ module Aws::EC2
6242
6256
  end
6243
6257
  end
6244
6258
 
6259
+ class GetSecurityGroupsForVpc
6260
+ def self.build(context)
6261
+ unless context.config.regional_endpoint
6262
+ endpoint = context.config.endpoint.to_s
6263
+ end
6264
+ Aws::EC2::EndpointParameters.new(
6265
+ region: context.config.region,
6266
+ use_dual_stack: context.config.use_dualstack_endpoint,
6267
+ use_fips: context.config.use_fips_endpoint,
6268
+ endpoint: endpoint,
6269
+ )
6270
+ end
6271
+ end
6272
+
6245
6273
  class GetSerialConsoleAccessStatus
6246
6274
  def self.build(context)
6247
6275
  unless context.config.regional_endpoint
@@ -7544,6 +7572,20 @@ module Aws::EC2
7544
7572
  end
7545
7573
  end
7546
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
+
7547
7589
  class PurchaseHostReservation
7548
7590
  def self.build(context)
7549
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
@@ -946,6 +948,8 @@ module Aws::EC2
946
948
  Aws::EC2::Endpoints::GetPasswordData.build(context)
947
949
  when :get_reserved_instances_exchange_quote
948
950
  Aws::EC2::Endpoints::GetReservedInstancesExchangeQuote.build(context)
951
+ when :get_security_groups_for_vpc
952
+ Aws::EC2::Endpoints::GetSecurityGroupsForVpc.build(context)
949
953
  when :get_serial_console_access_status
950
954
  Aws::EC2::Endpoints::GetSerialConsoleAccessStatus.build(context)
951
955
  when :get_spot_placement_scores
@@ -1132,6 +1136,8 @@ module Aws::EC2
1132
1136
  Aws::EC2::Endpoints::ProvisionIpamPoolCidr.build(context)
1133
1137
  when :provision_public_ipv_4_pool_cidr
1134
1138
  Aws::EC2::Endpoints::ProvisionPublicIpv4PoolCidr.build(context)
1139
+ when :purchase_capacity_block
1140
+ Aws::EC2::Endpoints::PurchaseCapacityBlock.build(context)
1135
1141
  when :purchase_host_reservation
1136
1142
  Aws::EC2::Endpoints::PurchaseHostReservation.build(context)
1137
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>]
@@ -34153,6 +34290,79 @@ module Aws::EC2
34153
34290
  include Aws::Structure
34154
34291
  end
34155
34292
 
34293
+ # @!attribute [rw] vpc_id
34294
+ # The VPC ID where the security group can be used.
34295
+ # @return [String]
34296
+ #
34297
+ # @!attribute [rw] next_token
34298
+ # The token returned from a previous paginated request. Pagination
34299
+ # continues from the end of the items returned by the previous
34300
+ # request.
34301
+ # @return [String]
34302
+ #
34303
+ # @!attribute [rw] max_results
34304
+ # The maximum number of items to return for this request. To get the
34305
+ # next page of items, make another request with the token returned in
34306
+ # the output. For more information, see [Pagination][1].
34307
+ #
34308
+ #
34309
+ #
34310
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination
34311
+ # @return [Integer]
34312
+ #
34313
+ # @!attribute [rw] filters
34314
+ # The filters. If using multiple filters, the results include security
34315
+ # groups which match all filters.
34316
+ #
34317
+ # * `group-id`: The security group ID.
34318
+ #
34319
+ # * `description`: The security group's description.
34320
+ #
34321
+ # * `group-name`: The security group name.
34322
+ #
34323
+ # * `owner-id`: The security group owner ID.
34324
+ #
34325
+ # * `primary-vpc-id`: The VPC ID in which the security group was
34326
+ # created.
34327
+ # @return [Array<Types::Filter>]
34328
+ #
34329
+ # @!attribute [rw] dry_run
34330
+ # Checks whether you have the required permissions for the action,
34331
+ # without actually making the request, and provides an error response.
34332
+ # If you have the required permissions, the error response is
34333
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
34334
+ # @return [Boolean]
34335
+ #
34336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSecurityGroupsForVpcRequest AWS API Documentation
34337
+ #
34338
+ class GetSecurityGroupsForVpcRequest < Struct.new(
34339
+ :vpc_id,
34340
+ :next_token,
34341
+ :max_results,
34342
+ :filters,
34343
+ :dry_run)
34344
+ SENSITIVE = []
34345
+ include Aws::Structure
34346
+ end
34347
+
34348
+ # @!attribute [rw] next_token
34349
+ # The token to include in another request to get the next page of
34350
+ # items. This value is `null` when there are no more items to return.
34351
+ # @return [String]
34352
+ #
34353
+ # @!attribute [rw] security_group_for_vpcs
34354
+ # The security group that can be used by interfaces in the VPC.
34355
+ # @return [Array<Types::SecurityGroupForVpc>]
34356
+ #
34357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetSecurityGroupsForVpcResult AWS API Documentation
34358
+ #
34359
+ class GetSecurityGroupsForVpcResult < Struct.new(
34360
+ :next_token,
34361
+ :security_group_for_vpcs)
34362
+ SENSITIVE = []
34363
+ include Aws::Structure
34364
+ end
34365
+
34156
34366
  # @!attribute [rw] dry_run
34157
34367
  # Checks whether you have the required permissions for the action,
34158
34368
  # without actually making the request, and provides an error response.
@@ -38713,18 +38923,21 @@ module Aws::EC2
38713
38923
  #
38714
38924
  # </note>
38715
38925
  #
38716
- # For more information, see [Attribute-based instance type selection for
38717
- # EC2 Fleet][3], [Attribute-based instance type selection for Spot
38718
- # 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
38719
38931
  # Guide*.
38720
38932
  #
38721
38933
  #
38722
38934
  #
38723
38935
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html
38724
38936
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html
38725
- # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html
38726
- # [4]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html
38727
- # [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
38728
38941
  #
38729
38942
  # @!attribute [rw] v_cpu_count
38730
38943
  # The minimum and maximum number of vCPUs.
@@ -51797,6 +52010,48 @@ module Aws::EC2
51797
52010
  include Aws::Structure
51798
52011
  end
51799
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
+
51800
52055
  # @!attribute [rw] client_token
51801
52056
  # Unique, case-sensitive identifier that you provide to ensure the
51802
52057
  # idempotency of the request. For more information, see [Ensuring
@@ -57440,6 +57695,45 @@ module Aws::EC2
57440
57695
  include Aws::Structure
57441
57696
  end
57442
57697
 
57698
+ # A security group that can be used by interfaces in the VPC.
57699
+ #
57700
+ # @!attribute [rw] description
57701
+ # The security group's description.
57702
+ # @return [String]
57703
+ #
57704
+ # @!attribute [rw] group_name
57705
+ # The security group name.
57706
+ # @return [String]
57707
+ #
57708
+ # @!attribute [rw] owner_id
57709
+ # The security group owner ID.
57710
+ # @return [String]
57711
+ #
57712
+ # @!attribute [rw] group_id
57713
+ # The security group ID.
57714
+ # @return [String]
57715
+ #
57716
+ # @!attribute [rw] tags
57717
+ # The security group tags.
57718
+ # @return [Array<Types::Tag>]
57719
+ #
57720
+ # @!attribute [rw] primary_vpc_id
57721
+ # The VPC ID in which the security group was created.
57722
+ # @return [String]
57723
+ #
57724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupForVpc AWS API Documentation
57725
+ #
57726
+ class SecurityGroupForVpc < Struct.new(
57727
+ :description,
57728
+ :group_name,
57729
+ :owner_id,
57730
+ :group_id,
57731
+ :tags,
57732
+ :primary_vpc_id)
57733
+ SENSITIVE = []
57734
+ include Aws::Structure
57735
+ end
57736
+
57443
57737
  # Describes a security group.
57444
57738
  #
57445
57739
  # @!attribute [rw] group_id
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.415.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.415.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-24 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