aws-sdk-ec2 1.402.0 → 1.547.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +735 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +32 -20
  5. data/lib/aws-sdk-ec2/client.rb +14212 -4429
  6. data/lib/aws-sdk-ec2/client_api.rb +4004 -515
  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 +16 -20
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8314
  15. data/lib/aws-sdk-ec2/image.rb +207 -98
  16. data/lib/aws-sdk-ec2/instance.rb +514 -348
  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 +150 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +123 -42
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +23 -1202
  26. data/lib/aws-sdk-ec2/resource.rb +1118 -864
  27. data/lib/aws-sdk-ec2/route.rb +50 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +47 -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 +534 -406
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +18252 -4766
  35. data/lib/aws-sdk-ec2/volume.rb +160 -116
  36. data/lib/aws-sdk-ec2/vpc.rb +387 -262
  37. data/lib/aws-sdk-ec2/vpc_address.rb +37 -25
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2/waiters.rb +146 -38
  40. data/lib/aws-sdk-ec2.rb +40 -36
  41. data/sig/classic_address.rbs +108 -0
  42. data/sig/client.rbs +14833 -0
  43. data/sig/dhcp_options.rbs +84 -0
  44. data/sig/errors.rbs +16 -0
  45. data/sig/image.rbs +232 -0
  46. data/sig/instance.rbs +576 -0
  47. data/sig/internet_gateway.rbs +91 -0
  48. data/sig/key_pair.rbs +54 -0
  49. data/sig/key_pair_info.rbs +63 -0
  50. data/sig/nat_gateway.rbs +107 -0
  51. data/sig/network_acl.rbs +144 -0
  52. data/sig/network_interface.rbs +249 -0
  53. data/sig/network_interface_association.rbs +62 -0
  54. data/sig/placement_group.rbs +78 -0
  55. data/sig/resource.rbs +1049 -0
  56. data/sig/route.rbs +120 -0
  57. data/sig/route_table.rbs +118 -0
  58. data/sig/route_table_association.rbs +69 -0
  59. data/sig/security_group.rbs +311 -0
  60. data/sig/snapshot.rbs +204 -0
  61. data/sig/subnet.rbs +442 -0
  62. data/sig/tag.rbs +63 -0
  63. data/sig/types.rbs +17078 -0
  64. data/sig/volume.rbs +213 -0
  65. data/sig/vpc.rbs +404 -0
  66. data/sig/vpc_address.rbs +104 -0
  67. data/sig/vpc_peering_connection.rbs +84 -0
  68. data/sig/waiters.rbs +700 -0
  69. metadata +45 -19
@@ -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]
@@ -143,6 +143,19 @@ module Aws::EC2
143
143
  data[:core_network_arn]
144
144
  end
145
145
 
146
+ # The Amazon Resource Name (ARN) of the ODB network.
147
+ # @return [String]
148
+ def odb_network_arn
149
+ data[:odb_network_arn]
150
+ end
151
+
152
+ # The next hop IP address for routes propagated by VPC Route Server into
153
+ # VPC route tables.
154
+ # @return [String]
155
+ def ip_address
156
+ data[:ip_address]
157
+ end
158
+
146
159
  # @!endgroup
147
160
 
148
161
  # @return [Client]
@@ -267,7 +280,7 @@ module Aws::EC2
267
280
  :retry
268
281
  end
269
282
  end
270
- Aws::Plugins::UserAgent.feature('resource') do
283
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
271
284
  Aws::Waiters::Waiter.new(options).wait({})
272
285
  end
273
286
  end
@@ -277,14 +290,11 @@ module Aws::EC2
277
290
  # @example Request syntax with placeholder values
278
291
  #
279
292
  # route.delete({
280
- # destination_ipv_6_cidr_block: "String",
281
293
  # destination_prefix_list_id: "PrefixListResourceId",
282
294
  # dry_run: false,
295
+ # destination_ipv_6_cidr_block: "String",
283
296
  # })
284
297
  # @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
298
  # @option options [String] :destination_prefix_list_id
289
299
  # The ID of the prefix list for the route.
290
300
  # @option options [Boolean] :dry_run
@@ -292,13 +302,16 @@ module Aws::EC2
292
302
  # without actually making the request, and provides an error response.
293
303
  # If you have the required permissions, the error response is
294
304
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
305
+ # @option options [String] :destination_ipv_6_cidr_block
306
+ # The IPv6 CIDR range for the route. The value you specify must match
307
+ # the CIDR for the route exactly.
295
308
  # @return [EmptyStructure]
296
309
  def delete(options = {})
297
310
  options = options.merge(
298
311
  route_table_id: @route_table_id,
299
312
  destination_cidr_block: @destination_cidr_block
300
313
  )
301
- resp = Aws::Plugins::UserAgent.feature('resource') do
314
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
302
315
  @client.delete_route(options)
303
316
  end
304
317
  resp.data
@@ -307,67 +320,70 @@ module Aws::EC2
307
320
  # @example Request syntax with placeholder values
308
321
  #
309
322
  # route.replace({
310
- # destination_ipv_6_cidr_block: "String",
311
323
  # destination_prefix_list_id: "PrefixListResourceId",
312
- # dry_run: false,
313
324
  # vpc_endpoint_id: "VpcEndpointId",
314
- # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
315
- # gateway_id: "RouteGatewayId",
316
- # instance_id: "InstanceId",
317
325
  # local_target: false,
318
- # nat_gateway_id: "NatGatewayId",
319
326
  # transit_gateway_id: "TransitGatewayId",
320
327
  # local_gateway_id: "LocalGatewayId",
321
328
  # carrier_gateway_id: "CarrierGatewayId",
329
+ # core_network_arn: "CoreNetworkArn",
330
+ # odb_network_arn: "OdbNetworkArn",
331
+ # dry_run: false,
332
+ # gateway_id: "RouteGatewayId",
333
+ # destination_ipv_6_cidr_block: "String",
334
+ # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
335
+ # instance_id: "InstanceId",
322
336
  # network_interface_id: "NetworkInterfaceId",
323
337
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
324
- # core_network_arn: "CoreNetworkArn",
338
+ # nat_gateway_id: "NatGatewayId",
325
339
  # })
326
340
  # @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
341
  # @option options [String] :destination_prefix_list_id
332
342
  # 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
343
  # @option options [String] :vpc_endpoint_id
339
344
  # The ID of a VPC endpoint. Supported for Gateway Load Balancer
340
345
  # 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
346
  # @option options [Boolean] :local_target
348
347
  # Specifies whether to reset the local route to its default target
349
348
  # (`local`).
350
- # @option options [String] :nat_gateway_id
351
- # \[IPv4 traffic only\] The ID of a NAT gateway.
352
349
  # @option options [String] :transit_gateway_id
353
350
  # The ID of a transit gateway.
354
351
  # @option options [String] :local_gateway_id
355
352
  # The ID of the local gateway.
356
353
  # @option options [String] :carrier_gateway_id
357
354
  # \[IPv4 traffic only\] The ID of a carrier gateway.
355
+ # @option options [String] :core_network_arn
356
+ # The Amazon Resource Name (ARN) of the core network.
357
+ # @option options [String] :odb_network_arn
358
+ # The Amazon Resource Name (ARN) of the ODB network.
359
+ # @option options [Boolean] :dry_run
360
+ # Checks whether you have the required permissions for the action,
361
+ # without actually making the request, and provides an error response.
362
+ # If you have the required permissions, the error response is
363
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
364
+ # @option options [String] :gateway_id
365
+ # The ID of an internet gateway or virtual private gateway.
366
+ # @option options [String] :destination_ipv_6_cidr_block
367
+ # The IPv6 CIDR address block used for the destination match. The value
368
+ # that you provide must match the CIDR of an existing route in the
369
+ # table.
370
+ # @option options [String] :egress_only_internet_gateway_id
371
+ # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
372
+ # @option options [String] :instance_id
373
+ # The ID of a NAT instance in your VPC.
358
374
  # @option options [String] :network_interface_id
359
375
  # The ID of a network interface.
360
376
  # @option options [String] :vpc_peering_connection_id
361
377
  # The ID of a VPC peering connection.
362
- # @option options [String] :core_network_arn
363
- # The Amazon Resource Name (ARN) of the core network.
378
+ # @option options [String] :nat_gateway_id
379
+ # \[IPv4 traffic only\] The ID of a NAT gateway.
364
380
  # @return [EmptyStructure]
365
381
  def replace(options = {})
366
382
  options = options.merge(
367
383
  route_table_id: @route_table_id,
368
384
  destination_cidr_block: @destination_cidr_block
369
385
  )
370
- resp = Aws::Plugins::UserAgent.feature('resource') do
386
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
371
387
  @client.replace_route(options)
372
388
  end
373
389
  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,29 @@ 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
+ # odb_network_arn: "OdbNetworkArn",
239
+ # dry_run: false,
240
+ # destination_cidr_block: "String",
241
+ # gateway_id: "RouteGatewayId",
242
+ # destination_ipv_6_cidr_block: "String",
243
+ # egress_only_internet_gateway_id: "EgressOnlyInternetGatewayId",
244
+ # instance_id: "InstanceId",
244
245
  # network_interface_id: "NetworkInterfaceId",
245
246
  # vpc_peering_connection_id: "VpcPeeringConnectionId",
246
- # core_network_arn: "CoreNetworkArn",
247
+ # nat_gateway_id: "NatGatewayId",
247
248
  # })
248
249
  # @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
250
  # @option options [String] :destination_prefix_list_id
258
251
  # 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
252
  # @option options [String] :vpc_endpoint_id
265
253
  # The ID of a VPC endpoint. Supported for Gateway Load Balancer
266
254
  # 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
255
  # @option options [String] :transit_gateway_id
279
256
  # The ID of a transit gateway.
280
257
  # @option options [String] :local_gateway_id
@@ -284,16 +261,42 @@ module Aws::EC2
284
261
  #
285
262
  # You can only use this option when the VPC contains a subnet which is
286
263
  # associated with a Wavelength Zone.
264
+ # @option options [String] :core_network_arn
265
+ # The Amazon Resource Name (ARN) of the core network.
266
+ # @option options [String] :odb_network_arn
267
+ # The Amazon Resource Name (ARN) of the ODB network.
268
+ # @option options [Boolean] :dry_run
269
+ # Checks whether you have the required permissions for the action,
270
+ # without actually making the request, and provides an error response.
271
+ # If you have the required permissions, the error response is
272
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
273
+ # @option options [String] :destination_cidr_block
274
+ # The IPv4 CIDR address block used for the destination match. Routing
275
+ # decisions are based on the most specific match. We modify the
276
+ # specified CIDR block to its canonical form; for example, if you
277
+ # specify `100.68.0.18/18`, we modify it to `100.68.0.0/18`.
278
+ # @option options [String] :gateway_id
279
+ # The ID of an internet gateway or virtual private gateway attached to
280
+ # your VPC.
281
+ # @option options [String] :destination_ipv_6_cidr_block
282
+ # The IPv6 CIDR block used for the destination match. Routing decisions
283
+ # are based on the most specific match.
284
+ # @option options [String] :egress_only_internet_gateway_id
285
+ # \[IPv6 traffic only\] The ID of an egress-only internet gateway.
286
+ # @option options [String] :instance_id
287
+ # The ID of a NAT instance in your VPC. The operation fails if you
288
+ # specify an instance ID unless exactly one network interface is
289
+ # attached.
287
290
  # @option options [String] :network_interface_id
288
291
  # The ID of a network interface.
289
292
  # @option options [String] :vpc_peering_connection_id
290
293
  # The ID of a VPC peering connection.
291
- # @option options [String] :core_network_arn
292
- # The Amazon Resource Name (ARN) of the core network.
294
+ # @option options [String] :nat_gateway_id
295
+ # \[IPv4 traffic only\] The ID of a NAT gateway.
293
296
  # @return [Route]
294
297
  def create_route(options = {})
295
298
  options = options.merge(route_table_id: @id)
296
- Aws::Plugins::UserAgent.feature('resource') do
299
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
297
300
  @client.create_route(options)
298
301
  end
299
302
  Route.new(
@@ -328,7 +331,7 @@ module Aws::EC2
328
331
  def create_tags(options = {})
329
332
  batch = []
330
333
  options = Aws::Util.deep_merge(options, resources: [@id])
331
- resp = Aws::Plugins::UserAgent.feature('resource') do
334
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
332
335
  @client.create_tags(options)
333
336
  end
334
337
  options[:tags].each do |t|
@@ -375,7 +378,7 @@ module Aws::EC2
375
378
  def delete_tags(options = {})
376
379
  batch = []
377
380
  options = Aws::Util.deep_merge(options, resources: [@id])
378
- resp = Aws::Plugins::UserAgent.feature('resource') do
381
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
379
382
  @client.delete_tags(options)
380
383
  end
381
384
  options[:tags].each do |t|
@@ -403,7 +406,7 @@ module Aws::EC2
403
406
  # @return [EmptyStructure]
404
407
  def delete(options = {})
405
408
  options = options.merge(route_table_id: @id)
406
- resp = Aws::Plugins::UserAgent.feature('resource') do
409
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
407
410
  @client.delete_route_table(options)
408
411
  end
409
412
  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(