aws-sdk-ec2 1.285.0 → 1.417.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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +663 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +33 -36
  5. data/lib/aws-sdk-ec2/client.rb +13859 -2170
  6. data/lib/aws-sdk-ec2/client_api.rb +4203 -86
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +3 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +3 -1
  9. data/lib/aws-sdk-ec2/dhcp_options.rb +19 -7
  10. data/lib/aws-sdk-ec2/endpoint_parameters.rb +66 -0
  11. data/lib/aws-sdk-ec2/endpoint_provider.rb +57 -0
  12. data/lib/aws-sdk-ec2/endpoints.rb +8444 -0
  13. data/lib/aws-sdk-ec2/image.rb +96 -22
  14. data/lib/aws-sdk-ec2/instance.rb +232 -95
  15. data/lib/aws-sdk-ec2/internet_gateway.rb +21 -7
  16. data/lib/aws-sdk-ec2/key_pair.rb +13 -4
  17. data/lib/aws-sdk-ec2/key_pair_info.rb +32 -4
  18. data/lib/aws-sdk-ec2/nat_gateway.rb +22 -12
  19. data/lib/aws-sdk-ec2/network_acl.rb +28 -10
  20. data/lib/aws-sdk-ec2/network_interface.rb +76 -17
  21. data/lib/aws-sdk-ec2/network_interface_association.rb +11 -5
  22. data/lib/aws-sdk-ec2/placement_group.rb +198 -33
  23. data/lib/aws-sdk-ec2/plugins/copy_encrypted_snapshot.rb +17 -12
  24. data/lib/aws-sdk-ec2/plugins/endpoints.rb +1272 -0
  25. data/lib/aws-sdk-ec2/plugins/region_validation.rb +1 -1
  26. data/lib/aws-sdk-ec2/resource.rb +793 -282
  27. data/lib/aws-sdk-ec2/route.rb +9 -3
  28. data/lib/aws-sdk-ec2/route_table.rb +21 -7
  29. data/lib/aws-sdk-ec2/route_table_association.rb +9 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +74 -57
  31. data/lib/aws-sdk-ec2/snapshot.rb +38 -12
  32. data/lib/aws-sdk-ec2/subnet.rb +394 -137
  33. data/lib/aws-sdk-ec2/tag.rb +12 -4
  34. data/lib/aws-sdk-ec2/types.rb +15645 -13412
  35. data/lib/aws-sdk-ec2/volume.rb +65 -34
  36. data/lib/aws-sdk-ec2/vpc.rb +368 -123
  37. data/lib/aws-sdk-ec2/vpc_address.rb +29 -34
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +18 -6
  39. data/lib/aws-sdk-ec2/waiters.rb +184 -0
  40. data/lib/aws-sdk-ec2.rb +6 -2
  41. metadata +8 -4
@@ -40,22 +40,19 @@ module Aws::EC2
40
40
  data[:instance_id]
41
41
  end
42
42
 
43
- # The ID representing the allocation of the address for use with
44
- # EC2-VPC.
43
+ # The ID representing the allocation of the address.
45
44
  # @return [String]
46
45
  def allocation_id
47
46
  data[:allocation_id]
48
47
  end
49
48
 
50
- # The ID representing the association of the address with an instance in
51
- # a VPC.
49
+ # The ID representing the association of the address with an instance.
52
50
  # @return [String]
53
51
  def association_id
54
52
  data[:association_id]
55
53
  end
56
54
 
57
- # Indicates whether this Elastic IP address is for use with instances in
58
- # EC2-Classic (`standard`) or instances in a VPC (`vpc`).
55
+ # The network (`vpc`).
59
56
  # @return [String]
60
57
  def domain
61
58
  data[:domain]
@@ -134,7 +131,9 @@ module Aws::EC2
134
131
  #
135
132
  # @return [self]
136
133
  def load
137
- resp = @client.describe_addresses(public_ips: [@public_ip])
134
+ resp = Aws::Plugins::UserAgent.feature('resource') do
135
+ @client.describe_addresses(public_ips: [@public_ip])
136
+ end
138
137
  @data = resp.addresses[0]
139
138
  self
140
139
  end
@@ -249,7 +248,9 @@ module Aws::EC2
249
248
  :retry
250
249
  end
251
250
  end
252
- Aws::Waiters::Waiter.new(options).wait({})
251
+ Aws::Plugins::UserAgent.feature('resource') do
252
+ Aws::Waiters::Waiter.new(options).wait({})
253
+ end
253
254
  end
254
255
 
255
256
  # @!group Actions
@@ -266,40 +267,36 @@ module Aws::EC2
266
267
  # })
267
268
  # @param [Hash] options ({})
268
269
  # @option options [String] :allocation_id
269
- # \[EC2-VPC\] The allocation ID. This is required for EC2-VPC.
270
+ # The allocation ID. This is required.
270
271
  # @option options [String] :instance_id
271
272
  # The ID of the instance. The instance must have exactly one attached
272
- # network interface. For EC2-VPC, you can specify either the instance ID
273
- # or the network interface ID, but not both. For EC2-Classic, you must
274
- # specify an instance ID and the instance must be in the running state.
273
+ # network interface. You can specify either the instance ID or the
274
+ # network interface ID, but not both.
275
275
  # @option options [Boolean] :allow_reassociation
276
- # \[EC2-VPC\] For a VPC in an EC2-Classic account, specify true to allow
277
- # an Elastic IP address that is already associated with an instance or
278
- # network interface to be reassociated with the specified instance or
279
- # network interface. Otherwise, the operation fails. In a VPC in an
280
- # EC2-VPC-only account, reassociation is automatic, therefore you can
281
- # specify false to ensure the operation fails if the Elastic IP address
282
- # is already associated with another resource.
276
+ # Reassociation is automatic, but you can specify false to ensure the
277
+ # operation fails if the Elastic IP address is already associated with
278
+ # another resource.
283
279
  # @option options [Boolean] :dry_run
284
280
  # Checks whether you have the required permissions for the action,
285
281
  # without actually making the request, and provides an error response.
286
282
  # If you have the required permissions, the error response is
287
283
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
288
284
  # @option options [String] :network_interface_id
289
- # \[EC2-VPC\] The ID of the network interface. If the instance has more
290
- # than one network interface, you must specify a network interface ID.
285
+ # The ID of the network interface. If the instance has more than one
286
+ # network interface, you must specify a network interface ID.
291
287
  #
292
- # For EC2-VPC, you can specify either the instance ID or the network
293
- # interface ID, but not both.
288
+ # You can specify either the instance ID or the network interface ID,
289
+ # but not both.
294
290
  # @option options [String] :private_ip_address
295
- # \[EC2-VPC\] The primary or secondary private IP address to associate
296
- # with the Elastic IP address. If no private IP address is specified,
297
- # the Elastic IP address is associated with the primary private IP
298
- # address.
291
+ # The primary or secondary private IP address to associate with the
292
+ # Elastic IP address. If no private IP address is specified, the Elastic
293
+ # IP address is associated with the primary private IP address.
299
294
  # @return [Types::AssociateAddressResult]
300
295
  def associate(options = {})
301
296
  options = options.merge(public_ip: @public_ip)
302
- resp = @client.associate_address(options)
297
+ resp = Aws::Plugins::UserAgent.feature('resource') do
298
+ @client.associate_address(options)
299
+ end
303
300
  resp.data
304
301
  end
305
302
 
@@ -311,7 +308,7 @@ module Aws::EC2
311
308
  # })
312
309
  # @param [Hash] options ({})
313
310
  # @option options [String] :association_id
314
- # \[EC2-VPC\] The association ID. Required for EC2-VPC.
311
+ # The association ID. This parameter is required.
315
312
  # @option options [Boolean] :dry_run
316
313
  # Checks whether you have the required permissions for the action,
317
314
  # without actually making the request, and provides an error response.
@@ -320,7 +317,9 @@ module Aws::EC2
320
317
  # @return [EmptyStructure]
321
318
  def disassociate(options = {})
322
319
  options = options.merge(public_ip: data[:public_ip])
323
- resp = @client.disassociate_address(options)
320
+ resp = Aws::Plugins::UserAgent.feature('resource') do
321
+ @client.disassociate_address(options)
322
+ end
324
323
  resp.data
325
324
  end
326
325
 
@@ -333,17 +332,13 @@ module Aws::EC2
333
332
  # })
334
333
  # @param [Hash] options ({})
335
334
  # @option options [String] :allocation_id
336
- # \[EC2-VPC\] The allocation ID. Required for EC2-VPC.
335
+ # The allocation ID. This parameter is required.
337
336
  # @option options [String] :network_border_group
338
337
  # The set of Availability Zones, Local Zones, or Wavelength Zones from
339
338
  # which Amazon Web Services advertises IP addresses.
340
339
  #
341
340
  # If you provide an incorrect network border group, you receive an
342
341
  # `InvalidAddress.NotFound` error.
343
- #
344
- # You cannot use a network border group with EC2 Classic. If you attempt
345
- # this operation on EC2 classic, you receive an
346
- # `InvalidParameterCombination` error.
347
342
  # @option options [Boolean] :dry_run
348
343
  # Checks whether you have the required permissions for the action,
349
344
  # without actually making the request, and provides an error response.
@@ -352,7 +347,9 @@ module Aws::EC2
352
347
  # @return [EmptyStructure]
353
348
  def release(options = {})
354
349
  options = options.merge(public_ip: data[:public_ip])
355
- resp = @client.release_address(options)
350
+ resp = Aws::Plugins::UserAgent.feature('resource') do
351
+ @client.release_address(options)
352
+ end
356
353
  resp.data
357
354
  end
358
355