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
@@ -50,7 +50,7 @@ module Aws::EC2
50
50
  # A security group connection tracking configuration that enables you to
51
51
  # set the timeout for connection tracking on an Elastic network
52
52
  # interface. For more information, see [Connection tracking timeouts][1]
53
- # in the *Amazon Elastic Compute Cloud User Guide*.
53
+ # in the *Amazon EC2 User Guide*.
54
54
  #
55
55
  #
56
56
  #
@@ -201,6 +201,12 @@ module Aws::EC2
201
201
  data[:ipv_6_address]
202
202
  end
203
203
 
204
+ # The service provider that manages the network interface.
205
+ # @return [Types::OperatorResponse]
206
+ def operator
207
+ data[:operator]
208
+ end
209
+
204
210
  # @!endgroup
205
211
 
206
212
  # @return [Client]
@@ -215,7 +221,7 @@ module Aws::EC2
215
221
  #
216
222
  # @return [self]
217
223
  def load
218
- resp = Aws::Plugins::UserAgent.feature('resource') do
224
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
219
225
  @client.describe_network_interfaces(network_interface_ids: [@id])
220
226
  end
221
227
  @data = resp.network_interfaces[0]
@@ -332,7 +338,7 @@ module Aws::EC2
332
338
  :retry
333
339
  end
334
340
  end
335
- Aws::Plugins::UserAgent.feature('resource') do
341
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
336
342
  Aws::Waiters::Waiter.new(options).wait({})
337
343
  end
338
344
  end
@@ -342,17 +348,20 @@ module Aws::EC2
342
348
  # @example Request syntax with placeholder values
343
349
  #
344
350
  # network_interface.assign_private_ip_addresses({
345
- # allow_reassignment: false,
346
- # private_ip_addresses: ["String"],
347
- # secondary_private_ip_address_count: 1,
348
351
  # ipv_4_prefixes: ["String"],
349
352
  # ipv_4_prefix_count: 1,
353
+ # private_ip_addresses: ["String"],
354
+ # secondary_private_ip_address_count: 1,
355
+ # allow_reassignment: false,
350
356
  # })
351
357
  # @param [Hash] options ({})
352
- # @option options [Boolean] :allow_reassignment
353
- # Indicates whether to allow an IP address that is already assigned to
354
- # another network interface or instance to be reassigned to the
355
- # specified network interface.
358
+ # @option options [Array<String>] :ipv_4_prefixes
359
+ # One or more IPv4 prefixes assigned to the network interface. You
360
+ # can't use this option if you use the `Ipv4PrefixCount` option.
361
+ # @option options [Integer] :ipv_4_prefix_count
362
+ # The number of IPv4 prefixes that Amazon Web Services automatically
363
+ # assigns to the network interface. You can't use this option if you
364
+ # use the `Ipv4 Prefixes` option.
356
365
  # @option options [Array<String>] :private_ip_addresses
357
366
  # The IP addresses to be assigned as a secondary private IP address to
358
367
  # the network interface. You can't specify this parameter when also
@@ -364,17 +373,14 @@ module Aws::EC2
364
373
  # The number of secondary IP addresses to assign to the network
365
374
  # interface. You can't specify this parameter when also specifying
366
375
  # private IP addresses.
367
- # @option options [Array<String>] :ipv_4_prefixes
368
- # One or more IPv4 prefixes assigned to the network interface. You
369
- # cannot use this option if you use the `Ipv4PrefixCount` option.
370
- # @option options [Integer] :ipv_4_prefix_count
371
- # The number of IPv4 prefixes that Amazon Web Services automatically
372
- # assigns to the network interface. You cannot use this option if you
373
- # use the `Ipv4 Prefixes` option.
376
+ # @option options [Boolean] :allow_reassignment
377
+ # Indicates whether to allow an IP address that is already assigned to
378
+ # another network interface or instance to be reassigned to the
379
+ # specified network interface.
374
380
  # @return [Types::AssignPrivateIpAddressesResult]
375
381
  def assign_private_ip_addresses(options = {})
376
382
  options = options.merge(network_interface_id: @id)
377
- resp = Aws::Plugins::UserAgent.feature('resource') do
383
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
378
384
  @client.assign_private_ip_addresses(options)
379
385
  end
380
386
  resp.data
@@ -383,9 +389,6 @@ module Aws::EC2
383
389
  # @example Request syntax with placeholder values
384
390
  #
385
391
  # network_interface.attach({
386
- # device_index: 1, # required
387
- # dry_run: false,
388
- # instance_id: "InstanceId", # required
389
392
  # network_card_index: 1,
390
393
  # ena_srd_specification: {
391
394
  # ena_srd_enabled: false,
@@ -393,17 +396,12 @@ module Aws::EC2
393
396
  # ena_srd_udp_enabled: false,
394
397
  # },
395
398
  # },
399
+ # ena_queue_count: 1,
400
+ # dry_run: false,
401
+ # instance_id: "InstanceId", # required
402
+ # device_index: 1, # required
396
403
  # })
397
404
  # @param [Hash] options ({})
398
- # @option options [required, Integer] :device_index
399
- # The index of the device for the network interface attachment.
400
- # @option options [Boolean] :dry_run
401
- # Checks whether you have the required permissions for the action,
402
- # without actually making the request, and provides an error response.
403
- # If you have the required permissions, the error response is
404
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
405
- # @option options [required, String] :instance_id
406
- # The ID of the instance.
407
405
  # @option options [Integer] :network_card_index
408
406
  # The index of the network card. Some instance types support multiple
409
407
  # network cards. The primary network interface must be assigned to
@@ -411,10 +409,21 @@ module Aws::EC2
411
409
  # @option options [Types::EnaSrdSpecification] :ena_srd_specification
412
410
  # Configures ENA Express for the network interface that this action
413
411
  # attaches to the instance.
412
+ # @option options [Integer] :ena_queue_count
413
+ # The number of ENA queues to be created with the instance.
414
+ # @option options [Boolean] :dry_run
415
+ # Checks whether you have the required permissions for the action,
416
+ # without actually making the request, and provides an error response.
417
+ # If you have the required permissions, the error response is
418
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
419
+ # @option options [required, String] :instance_id
420
+ # The ID of the instance.
421
+ # @option options [required, Integer] :device_index
422
+ # The index of the device for the network interface attachment.
414
423
  # @return [Types::AttachNetworkInterfaceResult]
415
424
  def attach(options = {})
416
425
  options = options.merge(network_interface_id: @id)
417
- resp = Aws::Plugins::UserAgent.feature('resource') do
426
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
418
427
  @client.attach_network_interface(options)
419
428
  end
420
429
  resp.data
@@ -445,7 +454,7 @@ module Aws::EC2
445
454
  def create_tags(options = {})
446
455
  batch = []
447
456
  options = Aws::Util.deep_merge(options, resources: [@id])
448
- resp = Aws::Plugins::UserAgent.feature('resource') do
457
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
449
458
  @client.create_tags(options)
450
459
  end
451
460
  options[:tags].each do |t|
@@ -492,7 +501,7 @@ module Aws::EC2
492
501
  def delete_tags(options = {})
493
502
  batch = []
494
503
  options = Aws::Util.deep_merge(options, resources: [@id])
495
- resp = Aws::Plugins::UserAgent.feature('resource') do
504
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
496
505
  @client.delete_tags(options)
497
506
  end
498
507
  options[:tags].each do |t|
@@ -520,7 +529,7 @@ module Aws::EC2
520
529
  # @return [EmptyStructure]
521
530
  def delete(options = {})
522
531
  options = options.merge(network_interface_id: @id)
523
- resp = Aws::Plugins::UserAgent.feature('resource') do
532
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
524
533
  @client.delete_network_interface(options)
525
534
  end
526
535
  resp.data
@@ -529,21 +538,21 @@ module Aws::EC2
529
538
  # @example Request syntax with placeholder values
530
539
  #
531
540
  # network_interface.describe_attribute({
532
- # attribute: "description", # accepts description, groupSet, sourceDestCheck, attachment
533
541
  # dry_run: false,
542
+ # attribute: "description", # accepts description, groupSet, sourceDestCheck, attachment, associatePublicIpAddress
534
543
  # })
535
544
  # @param [Hash] options ({})
536
- # @option options [String] :attribute
537
- # The attribute of the network interface. This parameter is required.
538
545
  # @option options [Boolean] :dry_run
539
546
  # Checks whether you have the required permissions for the action,
540
547
  # without actually making the request, and provides an error response.
541
548
  # If you have the required permissions, the error response is
542
549
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
550
+ # @option options [String] :attribute
551
+ # The attribute of the network interface. This parameter is required.
543
552
  # @return [Types::DescribeNetworkInterfaceAttributeResult]
544
553
  def describe_attribute(options = {})
545
554
  options = options.merge(network_interface_id: @id)
546
- resp = Aws::Plugins::UserAgent.feature('resource') do
555
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
547
556
  @client.describe_network_interface_attribute(options)
548
557
  end
549
558
  resp.data
@@ -586,7 +595,7 @@ module Aws::EC2
586
595
  # @return [EmptyStructure]
587
596
  def detach(options = {})
588
597
  options = options.merge(attachment_id: data[:attachment][:attachment_id])
589
- resp = Aws::Plugins::UserAgent.feature('resource') do
598
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
590
599
  @client.detach_network_interface(options)
591
600
  end
592
601
  resp.data
@@ -595,16 +604,6 @@ module Aws::EC2
595
604
  # @example Request syntax with placeholder values
596
605
  #
597
606
  # network_interface.modify_attribute({
598
- # attachment: {
599
- # attachment_id: "NetworkInterfaceAttachmentId",
600
- # delete_on_termination: false,
601
- # },
602
- # description: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
603
- # dry_run: false,
604
- # groups: ["SecurityGroupId"],
605
- # source_dest_check: {
606
- # value: false,
607
- # },
608
607
  # ena_srd_specification: {
609
608
  # ena_srd_enabled: false,
610
609
  # ena_srd_udp_specification: {
@@ -617,31 +616,21 @@ module Aws::EC2
617
616
  # udp_stream_timeout: 1,
618
617
  # udp_timeout: 1,
619
618
  # },
619
+ # associate_public_ip_address: false,
620
+ # dry_run: false,
621
+ # description: "value", # value <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
622
+ # source_dest_check: {
623
+ # value: false,
624
+ # },
625
+ # groups: ["SecurityGroupId"],
626
+ # attachment: {
627
+ # default_ena_queue_count: false,
628
+ # ena_queue_count: 1,
629
+ # attachment_id: "NetworkInterfaceAttachmentId",
630
+ # delete_on_termination: false,
631
+ # },
620
632
  # })
621
633
  # @param [Hash] options ({})
622
- # @option options [Types::NetworkInterfaceAttachmentChanges] :attachment
623
- # Information about the interface attachment. If modifying the `delete
624
- # on termination` attribute, you must specify the ID of the interface
625
- # attachment.
626
- # @option options [Types::AttributeValue] :description
627
- # A description for the network interface.
628
- # @option options [Boolean] :dry_run
629
- # Checks whether you have the required permissions for the action,
630
- # without actually making the request, and provides an error response.
631
- # If you have the required permissions, the error response is
632
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
633
- # @option options [Array<String>] :groups
634
- # Changes the security groups for the network interface. The new set of
635
- # groups you specify replaces the current set. You must specify at least
636
- # one group, even if it's just the default security group in the VPC.
637
- # You must specify the ID of the security group, not the name.
638
- # @option options [Types::AttributeBooleanValue] :source_dest_check
639
- # Enable or disable source/destination checks, which ensure that the
640
- # instance is either the source or the destination of any traffic that
641
- # it receives. If the value is `true`, source/destination checks are
642
- # enabled; otherwise, they are disabled. The default value is `true`.
643
- # You must disable source/destination checks if the instance runs
644
- # services such as network address translation, routing, or firewalls.
645
634
  # @option options [Types::EnaSrdSpecification] :ena_srd_specification
646
635
  # Updates the ENA Express configuration for the network interface that’s
647
636
  # attached to the instance.
@@ -663,10 +652,37 @@ module Aws::EC2
663
652
  # the primary IPv6 address.
664
653
  # @option options [Types::ConnectionTrackingSpecificationRequest] :connection_tracking_specification
665
654
  # A connection tracking specification.
655
+ # @option options [Boolean] :associate_public_ip_address
656
+ # Indicates whether to assign a public IPv4 address to a network
657
+ # interface. This option can be enabled for any network interface but
658
+ # will only apply to the primary network interface (eth0).
659
+ # @option options [Boolean] :dry_run
660
+ # Checks whether you have the required permissions for the action,
661
+ # without actually making the request, and provides an error response.
662
+ # If you have the required permissions, the error response is
663
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
664
+ # @option options [Types::AttributeValue] :description
665
+ # A description for the network interface.
666
+ # @option options [Types::AttributeBooleanValue] :source_dest_check
667
+ # Enable or disable source/destination checks, which ensure that the
668
+ # instance is either the source or the destination of any traffic that
669
+ # it receives. If the value is `true`, source/destination checks are
670
+ # enabled; otherwise, they are disabled. The default value is `true`.
671
+ # You must disable source/destination checks if the instance runs
672
+ # services such as network address translation, routing, or firewalls.
673
+ # @option options [Array<String>] :groups
674
+ # Changes the security groups for the network interface. The new set of
675
+ # groups you specify replaces the current set. You must specify at least
676
+ # one group, even if it's just the default security group in the VPC.
677
+ # You must specify the ID of the security group, not the name.
678
+ # @option options [Types::NetworkInterfaceAttachmentChanges] :attachment
679
+ # Information about the interface attachment. If modifying the `delete
680
+ # on termination` attribute, you must specify the ID of the interface
681
+ # attachment.
666
682
  # @return [EmptyStructure]
667
683
  def modify_attribute(options = {})
668
684
  options = options.merge(network_interface_id: @id)
669
- resp = Aws::Plugins::UserAgent.feature('resource') do
685
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
670
686
  @client.modify_network_interface_attribute(options)
671
687
  end
672
688
  resp.data
@@ -689,7 +705,7 @@ module Aws::EC2
689
705
  # @return [EmptyStructure]
690
706
  def reset_attribute(options = {})
691
707
  options = options.merge(network_interface_id: @id)
692
- resp = Aws::Plugins::UserAgent.feature('resource') do
708
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
693
709
  @client.reset_network_interface_attribute(options)
694
710
  end
695
711
  resp.data
@@ -698,20 +714,20 @@ module Aws::EC2
698
714
  # @example Request syntax with placeholder values
699
715
  #
700
716
  # network_interface.unassign_private_ip_addresses({
701
- # private_ip_addresses: ["String"],
702
717
  # ipv_4_prefixes: ["String"],
718
+ # private_ip_addresses: ["String"],
703
719
  # })
704
720
  # @param [Hash] options ({})
721
+ # @option options [Array<String>] :ipv_4_prefixes
722
+ # The IPv4 prefixes to unassign from the network interface.
705
723
  # @option options [Array<String>] :private_ip_addresses
706
724
  # The secondary private IP addresses to unassign from the network
707
725
  # interface. You can specify this option multiple times to unassign more
708
726
  # than one IP address.
709
- # @option options [Array<String>] :ipv_4_prefixes
710
- # The IPv4 prefixes to unassign from the network interface.
711
727
  # @return [EmptyStructure]
712
728
  def unassign_private_ip_addresses(options = {})
713
729
  options = options.merge(network_interface_id: @id)
714
- resp = Aws::Plugins::UserAgent.feature('resource') do
730
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
715
731
  @client.unassign_private_ip_addresses(options)
716
732
  end
717
733
  resp.data
@@ -79,7 +79,7 @@ module Aws::EC2
79
79
  #
80
80
  # @return [self]
81
81
  def load
82
- resp = Aws::Plugins::UserAgent.feature('resource') do
82
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
83
83
  @client.describe_network_interfaces(filters: [{
84
84
  name: "association.association-id",
85
85
  values: [@id]
@@ -199,7 +199,7 @@ module Aws::EC2
199
199
  :retry
200
200
  end
201
201
  end
202
- Aws::Plugins::UserAgent.feature('resource') do
202
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
203
203
  Aws::Waiters::Waiter.new(options).wait({})
204
204
  end
205
205
  end
@@ -223,7 +223,7 @@ module Aws::EC2
223
223
  # @return [EmptyStructure]
224
224
  def delete(options = {})
225
225
  options = options.merge(association_id: @id)
226
- resp = Aws::Plugins::UserAgent.feature('resource') do
226
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
227
227
  @client.disassociate_address(options)
228
228
  end
229
229
  resp.data
@@ -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
  #
@@ -327,9 +336,6 @@ module Aws::EC2
327
336
  # * `iam-instance-profile.id` - The instance profile associated with the
328
337
  # instance. Specified as an ID.
329
338
  #
330
- # * `iam-instance-profile.name` - The instance profile associated with
331
- # the instance. Specified as an name.
332
- #
333
339
  # * `image-id` - The ID of the image used to launch the instance.
334
340
  #
335
341
  # * `instance-id` - The ID of the instance.
@@ -520,6 +526,13 @@ module Aws::EC2
520
526
  # * `network-interface.network-interface-id` - The ID of the network
521
527
  # interface.
522
528
  #
529
+ # * `network-interface.operator.managed` - A Boolean that indicates
530
+ # whether the instance has a managed network interface.
531
+ #
532
+ # * `network-interface.operator.principal` - The principal that manages
533
+ # the network interface. Only valid for instances with managed network
534
+ # interfaces, where `managed` is `true`.
535
+ #
523
536
  # * `network-interface.outpost-arn` - The ARN of the Outpost.
524
537
  #
525
538
  # * `network-interface.owner-id` - The ID of the owner of the network
@@ -559,6 +572,16 @@ module Aws::EC2
559
572
  # * `network-interface.vpc-id` - The ID of the VPC for the network
560
573
  # interface.
561
574
  #
575
+ # * `network-performance-options.bandwidth-weighting` - Where the
576
+ # performance boost is applied, if applicable. Valid values:
577
+ # `default`, `vpc-1`, `ebs-1`.
578
+ #
579
+ # * `operator.managed` - A Boolean that indicates whether this is a
580
+ # managed instance.
581
+ #
582
+ # * `operator.principal` - The principal that manages the instance. Only
583
+ # valid for managed instances, where `managed` is `true`.
584
+ #
562
585
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
563
586
  #
564
587
  # * `owner-id` - The Amazon Web Services account ID of the instance
@@ -599,6 +622,10 @@ module Aws::EC2
599
622
  # (`ip-name` \| `resource-name`).
600
623
  #
601
624
  # * `private-ip-address` - The private IPv4 address of the instance.
625
+ # This can only be used to filter by the primary IP address of the
626
+ # network interface attached to the instance. To filter by additional
627
+ # IP addresses assigned to the network interface, use the filter
628
+ # `network-interface.addresses.private-ip-address`.
602
629
  #
603
630
  # * `product-code` - The product code associated with the AMI used to
604
631
  # launch the instance.
@@ -677,15 +704,6 @@ module Aws::EC2
677
704
  # (`paravirtual` \| `hvm`).
678
705
  #
679
706
  # * `vpc-id` - The ID of the VPC that the instance is running in.
680
- # @option options [Array<String>] :instance_ids
681
- # The instance IDs.
682
- #
683
- # Default: Describes all your instances.
684
- # @option options [Boolean] :dry_run
685
- # Checks whether you have the required permissions for the action,
686
- # without actually making the request, and provides an error response.
687
- # If you have the required permissions, the error response is
688
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
689
707
  # @return [Instance::Collection]
690
708
  def instances(options = {})
691
709
  batches = Enumerator.new do |y|
@@ -693,7 +711,7 @@ module Aws::EC2
693
711
  name: "placement-group-name",
694
712
  values: [@name]
695
713
  }])
696
- resp = Aws::Plugins::UserAgent.feature('resource') do
714
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
697
715
  @client.describe_instances(options)
698
716
  end
699
717
  resp.each_page do |page|