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
@@ -93,7 +93,7 @@ module Aws::EC2
93
93
  #
94
94
  # @return [self]
95
95
  def load
96
- resp = Aws::Plugins::UserAgent.feature('resource') do
96
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
97
97
  @client.describe_placement_groups(group_names: [@name])
98
98
  end
99
99
  @data = resp.placement_groups[0]
@@ -210,7 +210,7 @@ module Aws::EC2
210
210
  :retry
211
211
  end
212
212
  end
213
- Aws::Plugins::UserAgent.feature('resource') do
213
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
214
214
  Aws::Waiters::Waiter.new(options).wait({})
215
215
  end
216
216
  end
@@ -224,14 +224,14 @@ module Aws::EC2
224
224
  # })
225
225
  # @param [Hash] options ({})
226
226
  # @option options [Boolean] :dry_run
227
- # Checks whether you have the required permissions for the action,
227
+ # Checks whether you have the required permissions for the operation,
228
228
  # without actually making the request, and provides an error response.
229
229
  # If you have the required permissions, the error response is
230
230
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
231
231
  # @return [EmptyStructure]
232
232
  def delete(options = {})
233
233
  options = options.merge(group_name: @name)
234
- resp = Aws::Plugins::UserAgent.feature('resource') do
234
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
235
235
  @client.delete_placement_group(options)
236
236
  end
237
237
  resp.data
@@ -242,16 +242,25 @@ module Aws::EC2
242
242
  # @example Request syntax with placeholder values
243
243
  #
244
244
  # instances = placement_group.instances({
245
+ # instance_ids: ["InstanceId"],
246
+ # dry_run: false,
245
247
  # filters: [
246
248
  # {
247
249
  # name: "String",
248
250
  # values: ["String"],
249
251
  # },
250
252
  # ],
251
- # instance_ids: ["InstanceId"],
252
- # dry_run: false,
253
253
  # })
254
254
  # @param [Hash] options ({})
255
+ # @option options [Array<String>] :instance_ids
256
+ # The instance IDs.
257
+ #
258
+ # Default: Describes all your instances.
259
+ # @option options [Boolean] :dry_run
260
+ # Checks whether you have the required permissions for the operation,
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`.
255
264
  # @option options [Array<Types::Filter>] :filters
256
265
  # The filters.
257
266
  #
@@ -263,6 +272,9 @@ module Aws::EC2
263
272
  #
264
273
  # * `availability-zone` - The Availability Zone of the instance.
265
274
  #
275
+ # * `availability-zone-id` - The ID of the Availability Zone of the
276
+ # instance.
277
+ #
266
278
  # * `block-device-mapping.attach-time` - The attach time for an EBS
267
279
  # volume mapped to the instance, for example,
268
280
  # `2022-09-15T17:15:20.000Z`.
@@ -327,15 +339,13 @@ module Aws::EC2
327
339
  # * `iam-instance-profile.id` - The instance profile associated with the
328
340
  # instance. Specified as an ID.
329
341
  #
330
- # * `iam-instance-profile.name` - The instance profile associated with
331
- # the instance. Specified as an name.
332
- #
333
342
  # * `image-id` - The ID of the image used to launch the instance.
334
343
  #
335
344
  # * `instance-id` - The ID of the instance.
336
345
  #
337
- # * `instance-lifecycle` - Indicates whether this is a Spot Instance or
338
- # a Scheduled Instance (`spot` \| `scheduled`).
346
+ # * `instance-lifecycle` - Indicates whether this is a Spot Instance, a
347
+ # Scheduled Instance, or a Capacity Block (`spot` \| `scheduled` \|
348
+ # `capacity-block`).
339
349
  #
340
350
  # * `instance-state-code` - The state of the instance, as a 16-bit
341
351
  # unsigned integer. The high byte is used for internal purposes and
@@ -372,8 +382,6 @@ module Aws::EC2
372
382
  # example, `2021-09-29T11:04:43.305Z`. You can use a wildcard (`*`),
373
383
  # for example, `2021-09-29T*`, which matches an entire day.
374
384
  #
375
- # * `license-pool` -
376
- #
377
385
  # * `maintenance-options.auto-recovery` - The current automatic recovery
378
386
  # behavior of the instance (`disabled` \| `default`).
379
387
  #
@@ -402,25 +410,37 @@ module Aws::EC2
402
410
  # * `monitoring-state` - Indicates whether detailed monitoring is
403
411
  # enabled (`disabled` \| `enabled`).
404
412
  #
405
- # * `network-interface.addresses.primary` - Specifies whether the IPv4
406
- # address of the network interface is the primary private IPv4
407
- # address.
413
+ # * `network-interface.addresses.association.allocation-id` - The
414
+ # allocation ID.
408
415
  #
409
- # * `network-interface.addresses.private-ip-address` - The private IPv4
410
- # address associated with the network interface.
416
+ # * `network-interface.addresses.association.association-id` - The
417
+ # association ID.
418
+ #
419
+ # * `network-interface.addresses.association.carrier-ip` - The carrier
420
+ # IP address.
421
+ #
422
+ # * `network-interface.addresses.association.customer-owned-ip` - The
423
+ # customer-owned IP address.
424
+ #
425
+ # * `network-interface.addresses.association.ip-owner-id` - The owner ID
426
+ # of the private IPv4 address associated with the network interface.
427
+ #
428
+ # * `network-interface.addresses.association.public-dns-name` - The
429
+ # public DNS name.
411
430
  #
412
431
  # * `network-interface.addresses.association.public-ip` - The ID of the
413
432
  # association of an Elastic IP address (IPv4) with a network
414
433
  # interface.
415
434
  #
416
- # * `network-interface.addresses.association.ip-owner-id` - The owner ID
417
- # of the private IPv4 address associated with the network interface.
435
+ # * `network-interface.addresses.primary` - Specifies whether the IPv4
436
+ # address of the network interface is the primary private IPv4
437
+ # address.
418
438
  #
419
- # * `network-interface.association.public-ip` - The address of the
420
- # Elastic IP address (IPv4) bound to the network interface.
439
+ # * `network-interface.addresses.private-dns-name` - The private DNS
440
+ # name.
421
441
  #
422
- # * `network-interface.association.ip-owner-id` - The owner of the
423
- # Elastic IP address (IPv4) associated with the network interface.
442
+ # * `network-interface.addresses.private-ip-address` - The private IPv4
443
+ # address associated with the network interface.
424
444
  #
425
445
  # * `network-interface.association.allocation-id` - The allocation ID
426
446
  # returned when you allocated the Elastic IP address (IPv4) for your
@@ -430,30 +450,52 @@ module Aws::EC2
430
450
  # returned when the network interface was associated with an IPv4
431
451
  # address.
432
452
  #
453
+ # * `network-interface.association.carrier-ip` - The customer-owned IP
454
+ # address.
455
+ #
456
+ # * `network-interface.association.customer-owned-ip` - The
457
+ # customer-owned IP address.
458
+ #
459
+ # * `network-interface.association.ip-owner-id` - The owner of the
460
+ # Elastic IP address (IPv4) associated with the network interface.
461
+ #
462
+ # * `network-interface.association.public-dns-name` - The public DNS
463
+ # name.
464
+ #
465
+ # * `network-interface.association.public-ip` - The address of the
466
+ # Elastic IP address (IPv4) bound to the network interface.
467
+ #
468
+ # * `network-interface.attachment.attach-time` - The time that the
469
+ # network interface was attached to an instance.
470
+ #
433
471
  # * `network-interface.attachment.attachment-id` - The ID of the
434
472
  # interface attachment.
435
473
  #
474
+ # * `network-interface.attachment.delete-on-termination` - Specifies
475
+ # whether the attachment is deleted when an instance is terminated.
476
+ #
477
+ # * `network-interface.attachment.device-index` - The device index to
478
+ # which the network interface is attached.
479
+ #
436
480
  # * `network-interface.attachment.instance-id` - The ID of the instance
437
481
  # to which the network interface is attached.
438
482
  #
439
483
  # * `network-interface.attachment.instance-owner-id` - The owner ID of
440
484
  # the instance to which the network interface is attached.
441
485
  #
442
- # * `network-interface.attachment.device-index` - The device index to
443
- # which the network interface is attached.
486
+ # * `network-interface.attachment.network-card-index` - The index of the
487
+ # network card.
444
488
  #
445
489
  # * `network-interface.attachment.status` - The status of the attachment
446
490
  # (`attaching` \| `attached` \| `detaching` \| `detached`).
447
491
  #
448
- # * `network-interface.attachment.attach-time` - The time that the
449
- # network interface was attached to an instance.
450
- #
451
- # * `network-interface.attachment.delete-on-termination` - Specifies
452
- # whether the attachment is deleted when an instance is terminated.
453
- #
454
492
  # * `network-interface.availability-zone` - The Availability Zone for
455
493
  # the network interface.
456
494
  #
495
+ # * `network-interface.deny-all-igw-traffic` - A Boolean that indicates
496
+ # whether a network interface with an IPv6 address is unreachable from
497
+ # the public internet.
498
+ #
457
499
  # * `network-interface.description` - The description of the network
458
500
  # interface.
459
501
  #
@@ -463,21 +505,49 @@ module Aws::EC2
463
505
  # * `network-interface.group-name` - The name of a security group
464
506
  # associated with the network interface.
465
507
  #
508
+ # * `network-interface.ipv4-prefixes.ipv4-prefix` - The IPv4 prefixes
509
+ # that are assigned to the network interface.
510
+ #
511
+ # * `network-interface.ipv6-address` - The IPv6 address associated with
512
+ # the network interface.
513
+ #
466
514
  # * `network-interface.ipv6-addresses.ipv6-address` - The IPv6 address
467
515
  # associated with the network interface.
468
516
  #
517
+ # * `network-interface.ipv6-addresses.is-primary-ipv6` - A Boolean that
518
+ # indicates whether this is the primary IPv6 address.
519
+ #
520
+ # * `network-interface.ipv6-native` - A Boolean that indicates whether
521
+ # this is an IPv6 only network interface.
522
+ #
523
+ # * `network-interface.ipv6-prefixes.ipv6-prefix` - The IPv6 prefix
524
+ # assigned to the network interface.
525
+ #
469
526
  # * `network-interface.mac-address` - The MAC address of the network
470
527
  # interface.
471
528
  #
472
529
  # * `network-interface.network-interface-id` - The ID of the network
473
530
  # interface.
474
531
  #
532
+ # * `network-interface.operator.managed` - A Boolean that indicates
533
+ # whether the instance has a managed network interface.
534
+ #
535
+ # * `network-interface.operator.principal` - The principal that manages
536
+ # the network interface. Only valid for instances with managed network
537
+ # interfaces, where `managed` is `true`.
538
+ #
539
+ # * `network-interface.outpost-arn` - The ARN of the Outpost.
540
+ #
475
541
  # * `network-interface.owner-id` - The ID of the owner of the network
476
542
  # interface.
477
543
  #
478
544
  # * `network-interface.private-dns-name` - The private DNS name of the
479
545
  # network interface.
480
546
  #
547
+ # * `network-interface.private-ip-address` - The private IPv4 address.
548
+ #
549
+ # * `network-interface.public-dns-name` - The public DNS name.
550
+ #
481
551
  # * `network-interface.requester-id` - The requester ID for the network
482
552
  # interface.
483
553
  #
@@ -496,9 +566,25 @@ module Aws::EC2
496
566
  # * `network-interface.subnet-id` - The ID of the subnet for the network
497
567
  # interface.
498
568
  #
569
+ # * `network-interface.tag-key` - The key of a tag assigned to the
570
+ # network interface.
571
+ #
572
+ # * `network-interface.tag-value` - The value of a tag assigned to the
573
+ # network interface.
574
+ #
499
575
  # * `network-interface.vpc-id` - The ID of the VPC for the network
500
576
  # interface.
501
577
  #
578
+ # * `network-performance-options.bandwidth-weighting` - Where the
579
+ # performance boost is applied, if applicable. Valid values:
580
+ # `default`, `vpc-1`, `ebs-1`.
581
+ #
582
+ # * `operator.managed` - A Boolean that indicates whether this is a
583
+ # managed instance.
584
+ #
585
+ # * `operator.principal` - The principal that manages the instance. Only
586
+ # valid for managed instances, where `managed` is `true`.
587
+ #
502
588
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
503
589
  #
504
590
  # * `owner-id` - The Amazon Web Services account ID of the instance
@@ -539,6 +625,10 @@ module Aws::EC2
539
625
  # (`ip-name` \| `resource-name`).
540
626
  #
541
627
  # * `private-ip-address` - The private IPv4 address of the instance.
628
+ # This can only be used to filter by the primary IP address of the
629
+ # network interface attached to the instance. To filter by additional
630
+ # IP addresses assigned to the network interface, use the filter
631
+ # `network-interface.addresses.private-ip-address`.
542
632
  #
543
633
  # * `product-code` - The product code associated with the AMI used to
544
634
  # launch the instance.
@@ -617,15 +707,6 @@ module Aws::EC2
617
707
  # (`paravirtual` \| `hvm`).
618
708
  #
619
709
  # * `vpc-id` - The ID of the VPC that the instance is running in.
620
- # @option options [Array<String>] :instance_ids
621
- # The instance IDs.
622
- #
623
- # Default: Describes all your instances.
624
- # @option options [Boolean] :dry_run
625
- # Checks whether you have the required permissions for the action,
626
- # without actually making the request, and provides an error response.
627
- # If you have the required permissions, the error response is
628
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
629
710
  # @return [Instance::Collection]
630
711
  def instances(options = {})
631
712
  batches = Enumerator.new do |y|
@@ -633,7 +714,7 @@ module Aws::EC2
633
714
  name: "placement-group-name",
634
715
  values: [@name]
635
716
  }])
636
- resp = Aws::Plugins::UserAgent.feature('resource') do
717
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
637
718
  @client.describe_instances(options)
638
719
  end
639
720
  resp.each_page do |page|