aws-sdk-ec2 1.431.0 → 1.522.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +465 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +26 -16
  5. data/lib/aws-sdk-ec2/client.rb +10867 -4155
  6. data/lib/aws-sdk-ec2/client_api.rb +2924 -510
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +14 -18
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8608
  15. data/lib/aws-sdk-ec2/image.rb +166 -95
  16. data/lib/aws-sdk-ec2/instance.rb +425 -356
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +94 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +37 -19
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +20 -1242
  26. data/lib/aws-sdk-ec2/resource.rb +944 -811
  27. data/lib/aws-sdk-ec2/route.rb +34 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +44 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +391 -359
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +13807 -4774
  35. data/lib/aws-sdk-ec2/volume.rb +157 -119
  36. data/lib/aws-sdk-ec2/vpc.rb +278 -224
  37. data/lib/aws-sdk-ec2/vpc_address.rb +31 -21
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2.rb +40 -36
  40. data/sig/classic_address.rbs +105 -0
  41. data/sig/client.rbs +14622 -0
  42. data/sig/dhcp_options.rbs +84 -0
  43. data/sig/errors.rbs +16 -0
  44. data/sig/image.rbs +228 -0
  45. data/sig/instance.rbs +564 -0
  46. data/sig/internet_gateway.rbs +91 -0
  47. data/sig/key_pair.rbs +54 -0
  48. data/sig/key_pair_info.rbs +63 -0
  49. data/sig/nat_gateway.rbs +107 -0
  50. data/sig/network_acl.rbs +144 -0
  51. data/sig/network_interface.rbs +239 -0
  52. data/sig/network_interface_association.rbs +62 -0
  53. data/sig/placement_group.rbs +78 -0
  54. data/sig/resource.rbs +1042 -0
  55. data/sig/route.rbs +113 -0
  56. data/sig/route_table.rbs +117 -0
  57. data/sig/route_table_association.rbs +69 -0
  58. data/sig/security_group.rbs +311 -0
  59. data/sig/snapshot.rbs +204 -0
  60. data/sig/subnet.rbs +436 -0
  61. data/sig/tag.rbs +63 -0
  62. data/sig/types.rbs +16812 -0
  63. data/sig/volume.rbs +210 -0
  64. data/sig/vpc.rbs +404 -0
  65. data/sig/vpc_address.rbs +101 -0
  66. data/sig/vpc_peering_connection.rbs +84 -0
  67. data/sig/waiters.rbs +664 -0
  68. metadata +44 -18
@@ -48,7 +48,7 @@ module Aws::EC2
48
48
  data[:destination_ipv_6_cidr_block]
49
49
  end
50
50
 
51
- # The prefix of the Amazon Web Service.
51
+ # The prefix of the Amazon Web Services service.
52
52
  # @return [String]
53
53
  def destination_prefix_list_id
54
54
  data[:destination_prefix_list_id]
@@ -267,7 +267,7 @@ module Aws::EC2
267
267
  :retry
268
268
  end
269
269
  end
270
- Aws::Plugins::UserAgent.feature('resource') do
270
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
271
271
  Aws::Waiters::Waiter.new(options).wait({})
272
272
  end
273
273
  end
@@ -277,14 +277,11 @@ module Aws::EC2
277
277
  # @example Request syntax with placeholder values
278
278
  #
279
279
  # route.delete({
280
- # destination_ipv_6_cidr_block: "String",
281
280
  # destination_prefix_list_id: "PrefixListResourceId",
282
281
  # dry_run: false,
282
+ # destination_ipv_6_cidr_block: "String",
283
283
  # })
284
284
  # @param [Hash] options ({})
285
- # @option options [String] :destination_ipv_6_cidr_block
286
- # The IPv6 CIDR range for the route. The value you specify must match
287
- # the CIDR for the route exactly.
288
285
  # @option options [String] :destination_prefix_list_id
289
286
  # The ID of the prefix list for the route.
290
287
  # @option options [Boolean] :dry_run
@@ -292,13 +289,16 @@ module Aws::EC2
292
289
  # without actually making the request, and provides an error response.
293
290
  # If you have the required permissions, the error response is
294
291
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
292
+ # @option options [String] :destination_ipv_6_cidr_block
293
+ # The IPv6 CIDR range for the route. The value you specify must match
294
+ # the CIDR for the route exactly.
295
295
  # @return [EmptyStructure]
296
296
  def delete(options = {})
297
297
  options = options.merge(
298
298
  route_table_id: @route_table_id,
299
299
  destination_cidr_block: @destination_cidr_block
300
300
  )
301
- resp = Aws::Plugins::UserAgent.feature('resource') do
301
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
302
302
  @client.delete_route(options)
303
303
  end
304
304
  resp.data
@@ -307,67 +307,67 @@ module Aws::EC2
307
307
  # @example Request syntax with placeholder values
308
308
  #
309
309
  # route.replace({
310
- # destination_ipv_6_cidr_block: "String",
311
310
  # destination_prefix_list_id: "PrefixListResourceId",
312
- # dry_run: false,
313
311
  # vpc_endpoint_id: "VpcEndpointId",
314
- # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
315
- # gateway_id: "RouteGatewayId",
316
- # instance_id: "InstanceId",
317
312
  # local_target: false,
318
- # nat_gateway_id: "NatGatewayId",
319
313
  # transit_gateway_id: "TransitGatewayId",
320
314
  # local_gateway_id: "LocalGatewayId",
321
315
  # carrier_gateway_id: "CarrierGatewayId",
316
+ # core_network_arn: "CoreNetworkArn",
317
+ # dry_run: false,
318
+ # gateway_id: "RouteGatewayId",
319
+ # destination_ipv_6_cidr_block: "String",
320
+ # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
321
+ # instance_id: "InstanceId",
322
322
  # network_interface_id: "NetworkInterfaceId",
323
323
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
324
- # core_network_arn: "CoreNetworkArn",
324
+ # nat_gateway_id: "NatGatewayId",
325
325
  # })
326
326
  # @param [Hash] options ({})
327
- # @option options [String] :destination_ipv_6_cidr_block
328
- # The IPv6 CIDR address block used for the destination match. The value
329
- # that you provide must match the CIDR of an existing route in the
330
- # table.
331
327
  # @option options [String] :destination_prefix_list_id
332
328
  # The ID of the prefix list for the route.
333
- # @option options [Boolean] :dry_run
334
- # Checks whether you have the required permissions for the action,
335
- # without actually making the request, and provides an error response.
336
- # If you have the required permissions, the error response is
337
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
338
329
  # @option options [String] :vpc_endpoint_id
339
330
  # The ID of a VPC endpoint. Supported for Gateway Load Balancer
340
331
  # endpoints only.
341
- # @option options [String] :egress_only_internet_gateway_id
342
- # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
343
- # @option options [String] :gateway_id
344
- # The ID of an internet gateway or virtual private gateway.
345
- # @option options [String] :instance_id
346
- # The ID of a NAT instance in your VPC.
347
332
  # @option options [Boolean] :local_target
348
333
  # Specifies whether to reset the local route to its default target
349
334
  # (`local`).
350
- # @option options [String] :nat_gateway_id
351
- # \[IPv4 traffic only\] The ID of a NAT gateway.
352
335
  # @option options [String] :transit_gateway_id
353
336
  # The ID of a transit gateway.
354
337
  # @option options [String] :local_gateway_id
355
338
  # The ID of the local gateway.
356
339
  # @option options [String] :carrier_gateway_id
357
340
  # \[IPv4 traffic only\] The ID of a carrier gateway.
341
+ # @option options [String] :core_network_arn
342
+ # The Amazon Resource Name (ARN) of the core network.
343
+ # @option options [Boolean] :dry_run
344
+ # Checks whether you have the required permissions for the action,
345
+ # without actually making the request, and provides an error response.
346
+ # If you have the required permissions, the error response is
347
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
348
+ # @option options [String] :gateway_id
349
+ # The ID of an internet gateway or virtual private gateway.
350
+ # @option options [String] :destination_ipv_6_cidr_block
351
+ # The IPv6 CIDR address block used for the destination match. The value
352
+ # that you provide must match the CIDR of an existing route in the
353
+ # table.
354
+ # @option options [String] :egress_only_internet_gateway_id
355
+ # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
356
+ # @option options [String] :instance_id
357
+ # The ID of a NAT instance in your VPC.
358
358
  # @option options [String] :network_interface_id
359
359
  # The ID of a network interface.
360
360
  # @option options [String] :vpc_peering_connection_id
361
361
  # The ID of a VPC peering connection.
362
- # @option options [String] :core_network_arn
363
- # The Amazon Resource Name (ARN) of the core network.
362
+ # @option options [String] :nat_gateway_id
363
+ # \[IPv4 traffic only\] The ID of a NAT gateway.
364
364
  # @return [EmptyStructure]
365
365
  def replace(options = {})
366
366
  options = options.merge(
367
367
  route_table_id: @route_table_id,
368
368
  destination_cidr_block: @destination_cidr_block
369
369
  )
370
- resp = Aws::Plugins::UserAgent.feature('resource') do
370
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
371
371
  @client.replace_route(options)
372
372
  end
373
373
  resp.data
@@ -73,7 +73,7 @@ module Aws::EC2
73
73
  #
74
74
  # @return [self]
75
75
  def load
76
- resp = Aws::Plugins::UserAgent.feature('resource') do
76
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
77
77
  @client.describe_route_tables(route_table_ids: [@id])
78
78
  end
79
79
  @data = resp.route_tables[0]
@@ -190,7 +190,7 @@ module Aws::EC2
190
190
  :retry
191
191
  end
192
192
  end
193
- Aws::Plugins::UserAgent.feature('resource') do
193
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
194
194
  Aws::Waiters::Waiter.new(options).wait({})
195
195
  end
196
196
  end
@@ -200,11 +200,13 @@ module Aws::EC2
200
200
  # @example Request syntax with placeholder values
201
201
  #
202
202
  # routetableassociation = route_table.associate_with_subnet({
203
+ # gateway_id: "RouteGatewayId",
203
204
  # dry_run: false,
204
205
  # subnet_id: "SubnetId",
205
- # gateway_id: "RouteGatewayId",
206
206
  # })
207
207
  # @param [Hash] options ({})
208
+ # @option options [String] :gateway_id
209
+ # The ID of the internet gateway or virtual private gateway.
208
210
  # @option options [Boolean] :dry_run
209
211
  # Checks whether you have the required permissions for the action,
210
212
  # without actually making the request, and provides an error response.
@@ -212,12 +214,10 @@ module Aws::EC2
212
214
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
213
215
  # @option options [String] :subnet_id
214
216
  # The ID of the subnet.
215
- # @option options [String] :gateway_id
216
- # The ID of the internet gateway or virtual private gateway.
217
217
  # @return [RouteTableAssociation]
218
218
  def associate_with_subnet(options = {})
219
219
  options = options.merge(route_table_id: @id)
220
- resp = Aws::Plugins::UserAgent.feature('resource') do
220
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
221
221
  @client.associate_route_table(options)
222
222
  end
223
223
  RouteTableAssociation.new(
@@ -229,52 +229,28 @@ module Aws::EC2
229
229
  # @example Request syntax with placeholder values
230
230
  #
231
231
  # route = route_table.create_route({
232
- # destination_cidr_block: "String",
233
- # destination_ipv_6_cidr_block: "String",
234
232
  # destination_prefix_list_id: "PrefixListResourceId",
235
- # dry_run: false,
236
233
  # vpc_endpoint_id: "VpcEndpointId",
237
- # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
238
- # gateway_id: "RouteGatewayId",
239
- # instance_id: "InstanceId",
240
- # nat_gateway_id: "NatGatewayId",
241
234
  # transit_gateway_id: "TransitGatewayId",
242
235
  # local_gateway_id: "LocalGatewayId",
243
236
  # carrier_gateway_id: "CarrierGatewayId",
237
+ # core_network_arn: "CoreNetworkArn",
238
+ # dry_run: false,
239
+ # destination_cidr_block: "String",
240
+ # gateway_id: "RouteGatewayId",
241
+ # destination_ipv_6_cidr_block: "String",
242
+ # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
243
+ # instance_id: "InstanceId",
244
244
  # network_interface_id: "NetworkInterfaceId",
245
245
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
246
- # core_network_arn: "CoreNetworkArn",
246
+ # nat_gateway_id: "NatGatewayId",
247
247
  # })
248
248
  # @param [Hash] options ({})
249
- # @option options [String] :destination_cidr_block
250
- # The IPv4 CIDR address block used for the destination match. Routing
251
- # decisions are based on the most specific match. We modify the
252
- # specified CIDR block to its canonical form; for example, if you
253
- # specify `100.68.0.18/18`, we modify it to `100.68.0.0/18`.
254
- # @option options [String] :destination_ipv_6_cidr_block
255
- # The IPv6 CIDR block used for the destination match. Routing decisions
256
- # are based on the most specific match.
257
249
  # @option options [String] :destination_prefix_list_id
258
250
  # The ID of a prefix list used for the destination match.
259
- # @option options [Boolean] :dry_run
260
- # Checks whether you have the required permissions for the action,
261
- # without actually making the request, and provides an error response.
262
- # If you have the required permissions, the error response is
263
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
264
251
  # @option options [String] :vpc_endpoint_id
265
252
  # The ID of a VPC endpoint. Supported for Gateway Load Balancer
266
253
  # endpoints only.
267
- # @option options [String] :egress_only_internet_gateway_id
268
- # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
269
- # @option options [String] :gateway_id
270
- # The ID of an internet gateway or virtual private gateway attached to
271
- # your VPC.
272
- # @option options [String] :instance_id
273
- # The ID of a NAT instance in your VPC. The operation fails if you
274
- # specify an instance ID unless exactly one network interface is
275
- # attached.
276
- # @option options [String] :nat_gateway_id
277
- # \[IPv4 traffic only\] The ID of a NAT gateway.
278
254
  # @option options [String] :transit_gateway_id
279
255
  # The ID of a transit gateway.
280
256
  # @option options [String] :local_gateway_id
@@ -284,16 +260,40 @@ module Aws::EC2
284
260
  #
285
261
  # You can only use this option when the VPC contains a subnet which is
286
262
  # associated with a Wavelength Zone.
263
+ # @option options [String] :core_network_arn
264
+ # The Amazon Resource Name (ARN) of the core network.
265
+ # @option options [Boolean] :dry_run
266
+ # Checks whether you have the required permissions for the action,
267
+ # without actually making the request, and provides an error response.
268
+ # If you have the required permissions, the error response is
269
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
270
+ # @option options [String] :destination_cidr_block
271
+ # The IPv4 CIDR address block used for the destination match. Routing
272
+ # decisions are based on the most specific match. We modify the
273
+ # specified CIDR block to its canonical form; for example, if you
274
+ # specify `100.68.0.18/18`, we modify it to `100.68.0.0/18`.
275
+ # @option options [String] :gateway_id
276
+ # The ID of an internet gateway or virtual private gateway attached to
277
+ # your VPC.
278
+ # @option options [String] :destination_ipv_6_cidr_block
279
+ # The IPv6 CIDR block used for the destination match. Routing decisions
280
+ # are based on the most specific match.
281
+ # @option options [String] :egress_only_internet_gateway_id
282
+ # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
283
+ # @option options [String] :instance_id
284
+ # The ID of a NAT instance in your VPC. The operation fails if you
285
+ # specify an instance ID unless exactly one network interface is
286
+ # attached.
287
287
  # @option options [String] :network_interface_id
288
288
  # The ID of a network interface.
289
289
  # @option options [String] :vpc_peering_connection_id
290
290
  # The ID of a VPC peering connection.
291
- # @option options [String] :core_network_arn
292
- # The Amazon Resource Name (ARN) of the core network.
291
+ # @option options [String] :nat_gateway_id
292
+ # \[IPv4 traffic only\] The ID of a NAT gateway.
293
293
  # @return [Route]
294
294
  def create_route(options = {})
295
295
  options = options.merge(route_table_id: @id)
296
- Aws::Plugins::UserAgent.feature('resource') do
296
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
297
297
  @client.create_route(options)
298
298
  end
299
299
  Route.new(
@@ -328,7 +328,7 @@ module Aws::EC2
328
328
  def create_tags(options = {})
329
329
  batch = []
330
330
  options = Aws::Util.deep_merge(options, resources: [@id])
331
- resp = Aws::Plugins::UserAgent.feature('resource') do
331
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
332
332
  @client.create_tags(options)
333
333
  end
334
334
  options[:tags].each do |t|
@@ -375,7 +375,7 @@ module Aws::EC2
375
375
  def delete_tags(options = {})
376
376
  batch = []
377
377
  options = Aws::Util.deep_merge(options, resources: [@id])
378
- resp = Aws::Plugins::UserAgent.feature('resource') do
378
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
379
379
  @client.delete_tags(options)
380
380
  end
381
381
  options[:tags].each do |t|
@@ -403,7 +403,7 @@ module Aws::EC2
403
403
  # @return [EmptyStructure]
404
404
  def delete(options = {})
405
405
  options = options.merge(route_table_id: @id)
406
- resp = Aws::Plugins::UserAgent.feature('resource') do
406
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
407
407
  @client.delete_route_table(options)
408
408
  end
409
409
  resp.data
@@ -190,7 +190,7 @@ module Aws::EC2
190
190
  :retry
191
191
  end
192
192
  end
193
- Aws::Plugins::UserAgent.feature('resource') do
193
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
194
194
  Aws::Waiters::Waiter.new(options).wait({})
195
195
  end
196
196
  end
@@ -211,7 +211,7 @@ module Aws::EC2
211
211
  # @return [EmptyStructure]
212
212
  def delete(options = {})
213
213
  options = options.merge(association_id: @id)
214
- resp = Aws::Plugins::UserAgent.feature('resource') do
214
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
215
215
  @client.disassociate_route_table(options)
216
216
  end
217
217
  resp.data
@@ -234,7 +234,7 @@ module Aws::EC2
234
234
  # @return [RouteTableAssociation]
235
235
  def replace_subnet(options = {})
236
236
  options = options.merge(association_id: @id)
237
- resp = Aws::Plugins::UserAgent.feature('resource') do
237
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
238
238
  @client.replace_route_table_association(options)
239
239
  end
240
240
  RouteTableAssociation.new(