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
@@ -103,7 +103,9 @@ module Aws::EC2
103
103
  #
104
104
  # @return [self]
105
105
  def load
106
- resp = @client.describe_vpcs(vpc_ids: [@id])
106
+ resp = Aws::Plugins::UserAgent.feature('resource') do
107
+ @client.describe_vpcs(vpc_ids: [@id])
108
+ end
107
109
  @data = resp.vpcs[0]
108
110
  self
109
111
  end
@@ -148,7 +150,9 @@ module Aws::EC2
148
150
  options, params = separate_params_and_options(options)
149
151
  waiter = Waiters::VpcAvailable.new(options)
150
152
  yield_waiter_and_warn(waiter, &block) if block_given?
151
- waiter.wait(params.merge(vpc_ids: [@id]))
153
+ Aws::Plugins::UserAgent.feature('resource') do
154
+ waiter.wait(params.merge(vpc_ids: [@id]))
155
+ end
152
156
  Vpc.new({
153
157
  id: @id,
154
158
  client: @client
@@ -165,7 +169,9 @@ module Aws::EC2
165
169
  options, params = separate_params_and_options(options)
166
170
  waiter = Waiters::VpcExists.new(options)
167
171
  yield_waiter_and_warn(waiter, &block) if block_given?
168
- waiter.wait(params.merge(vpc_ids: [@id]))
172
+ Aws::Plugins::UserAgent.feature('resource') do
173
+ waiter.wait(params.merge(vpc_ids: [@id]))
174
+ end
169
175
  Vpc.new({
170
176
  id: @id,
171
177
  client: @client
@@ -266,7 +272,9 @@ module Aws::EC2
266
272
  :retry
267
273
  end
268
274
  end
269
- Aws::Waiters::Waiter.new(options).wait({})
275
+ Aws::Plugins::UserAgent.feature('resource') do
276
+ Aws::Waiters::Waiter.new(options).wait({})
277
+ end
270
278
  end
271
279
 
272
280
  # @!group Actions
@@ -289,7 +297,9 @@ module Aws::EC2
289
297
  # @return [EmptyStructure]
290
298
  def associate_dhcp_options(options = {})
291
299
  options = options.merge(vpc_id: @id)
292
- resp = @client.associate_dhcp_options(options)
300
+ resp = Aws::Plugins::UserAgent.feature('resource') do
301
+ @client.associate_dhcp_options(options)
302
+ end
293
303
  resp.data
294
304
  end
295
305
 
@@ -307,15 +317,16 @@ module Aws::EC2
307
317
  # If you have the required permissions, the error response is
308
318
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
309
319
  # @option options [required, Array<String>] :groups
310
- # The ID of one or more of the VPC's security groups. You cannot
311
- # specify security groups from a different VPC.
320
+ # The IDs of the security groups. You cannot specify security groups
321
+ # from a different VPC.
312
322
  # @option options [required, String] :instance_id
313
- # The ID of an EC2-Classic instance to link to the ClassicLink-enabled
314
- # VPC.
323
+ # The ID of the EC2-Classic instance.
315
324
  # @return [Types::AttachClassicLinkVpcResult]
316
325
  def attach_classic_link_instance(options = {})
317
326
  options = options.merge(vpc_id: @id)
318
- resp = @client.attach_classic_link_vpc(options)
327
+ resp = Aws::Plugins::UserAgent.feature('resource') do
328
+ @client.attach_classic_link_vpc(options)
329
+ end
319
330
  resp.data
320
331
  end
321
332
 
@@ -336,7 +347,9 @@ module Aws::EC2
336
347
  # @return [EmptyStructure]
337
348
  def attach_internet_gateway(options = {})
338
349
  options = options.merge(vpc_id: @id)
339
- resp = @client.attach_internet_gateway(options)
350
+ resp = Aws::Plugins::UserAgent.feature('resource') do
351
+ @client.attach_internet_gateway(options)
352
+ end
340
353
  resp.data
341
354
  end
342
355
 
@@ -346,7 +359,7 @@ module Aws::EC2
346
359
  # dry_run: false,
347
360
  # tag_specifications: [
348
361
  # {
349
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
362
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
350
363
  # tags: [
351
364
  # {
352
365
  # key: "String",
@@ -367,7 +380,9 @@ module Aws::EC2
367
380
  # @return [NetworkAcl]
368
381
  def create_network_acl(options = {})
369
382
  options = options.merge(vpc_id: @id)
370
- resp = @client.create_network_acl(options)
383
+ resp = Aws::Plugins::UserAgent.feature('resource') do
384
+ @client.create_network_acl(options)
385
+ end
371
386
  NetworkAcl.new(
372
387
  id: resp.data.network_acl.network_acl_id,
373
388
  data: resp.data.network_acl,
@@ -381,7 +396,7 @@ module Aws::EC2
381
396
  # dry_run: false,
382
397
  # tag_specifications: [
383
398
  # {
384
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
399
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
385
400
  # tags: [
386
401
  # {
387
402
  # key: "String",
@@ -402,7 +417,9 @@ module Aws::EC2
402
417
  # @return [RouteTable]
403
418
  def create_route_table(options = {})
404
419
  options = options.merge(vpc_id: @id)
405
- resp = @client.create_route_table(options)
420
+ resp = Aws::Plugins::UserAgent.feature('resource') do
421
+ @client.create_route_table(options)
422
+ end
406
423
  RouteTable.new(
407
424
  id: resp.data.route_table.route_table_id,
408
425
  data: resp.data.route_table,
@@ -417,7 +434,7 @@ module Aws::EC2
417
434
  # group_name: "String", # required
418
435
  # tag_specifications: [
419
436
  # {
420
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
437
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
421
438
  # tags: [
422
439
  # {
423
440
  # key: "String",
@@ -430,22 +447,18 @@ module Aws::EC2
430
447
  # })
431
448
  # @param [Hash] options ({})
432
449
  # @option options [required, String] :description
433
- # A description for the security group. This is informational only.
450
+ # A description for the security group.
434
451
  #
435
452
  # Constraints: Up to 255 characters in length
436
453
  #
437
- # Constraints for EC2-Classic: ASCII characters
438
- #
439
- # Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and
454
+ # Valid characters: a-z, A-Z, 0-9, spaces, and
440
455
  # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
441
456
  # @option options [required, String] :group_name
442
457
  # The name of the security group.
443
458
  #
444
459
  # Constraints: Up to 255 characters in length. Cannot start with `sg-`.
445
460
  #
446
- # Constraints for EC2-Classic: ASCII characters
447
- #
448
- # Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and
461
+ # Valid characters: a-z, A-Z, 0-9, spaces, and
449
462
  # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
450
463
  # @option options [Array<Types::TagSpecification>] :tag_specifications
451
464
  # The tags to assign to the security group.
@@ -457,7 +470,9 @@ module Aws::EC2
457
470
  # @return [SecurityGroup]
458
471
  def create_security_group(options = {})
459
472
  options = options.merge(vpc_id: @id)
460
- resp = @client.create_security_group(options)
473
+ resp = Aws::Plugins::UserAgent.feature('resource') do
474
+ @client.create_security_group(options)
475
+ end
461
476
  SecurityGroup.new(
462
477
  id: resp.data.group_id,
463
478
  client: @client
@@ -469,7 +484,7 @@ module Aws::EC2
469
484
  # subnet = vpc.create_subnet({
470
485
  # tag_specifications: [
471
486
  # {
472
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
487
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
473
488
  # tags: [
474
489
  # {
475
490
  # key: "String",
@@ -498,15 +513,14 @@ module Aws::EC2
498
513
  #
499
514
  # To create a subnet in a Local Zone, set this value to the Local Zone
500
515
  # ID, for example `us-west-2-lax-1a`. For information about the Regions
501
- # that support Local Zones, see [Available Regions][1] in the *Amazon
502
- # Elastic Compute Cloud User Guide*.
516
+ # that support Local Zones, see [Local Zones locations][1].
503
517
  #
504
518
  # To create a subnet in an Outpost, set this value to the Availability
505
519
  # Zone for the Outpost and specify the Outpost ARN.
506
520
  #
507
521
  #
508
522
  #
509
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions
523
+ # [1]: http://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/
510
524
  # @option options [String] :availability_zone_id
511
525
  # The AZ ID or the Local Zone ID of the subnet.
512
526
  # @option options [String] :cidr_block
@@ -535,7 +549,9 @@ module Aws::EC2
535
549
  # @return [Subnet]
536
550
  def create_subnet(options = {})
537
551
  options = options.merge(vpc_id: @id)
538
- resp = @client.create_subnet(options)
552
+ resp = Aws::Plugins::UserAgent.feature('resource') do
553
+ @client.create_subnet(options)
554
+ end
539
555
  Subnet.new(
540
556
  id: resp.data.subnet.subnet_id,
541
557
  data: resp.data.subnet,
@@ -568,7 +584,9 @@ module Aws::EC2
568
584
  def create_tags(options = {})
569
585
  batch = []
570
586
  options = Aws::Util.deep_merge(options, resources: [@id])
571
- resp = @client.create_tags(options)
587
+ resp = Aws::Plugins::UserAgent.feature('resource') do
588
+ @client.create_tags(options)
589
+ end
572
590
  options[:tags].each do |t|
573
591
  batch << Tag.new(
574
592
  resource_id: @id,
@@ -613,7 +631,9 @@ module Aws::EC2
613
631
  def delete_tags(options = {})
614
632
  batch = []
615
633
  options = Aws::Util.deep_merge(options, resources: [@id])
616
- resp = @client.delete_tags(options)
634
+ resp = Aws::Plugins::UserAgent.feature('resource') do
635
+ @client.delete_tags(options)
636
+ end
617
637
  options[:tags].each do |t|
618
638
  batch << Tag.new(
619
639
  resource_id: @id,
@@ -639,14 +659,16 @@ module Aws::EC2
639
659
  # @return [EmptyStructure]
640
660
  def delete(options = {})
641
661
  options = options.merge(vpc_id: @id)
642
- resp = @client.delete_vpc(options)
662
+ resp = Aws::Plugins::UserAgent.feature('resource') do
663
+ @client.delete_vpc(options)
664
+ end
643
665
  resp.data
644
666
  end
645
667
 
646
668
  # @example Request syntax with placeholder values
647
669
  #
648
670
  # vpc.describe_attribute({
649
- # attribute: "enableDnsSupport", # required, accepts enableDnsSupport, enableDnsHostnames
671
+ # attribute: "enableDnsSupport", # required, accepts enableDnsSupport, enableDnsHostnames, enableNetworkAddressUsageMetrics
650
672
  # dry_run: false,
651
673
  # })
652
674
  # @param [Hash] options ({})
@@ -660,7 +682,9 @@ module Aws::EC2
660
682
  # @return [Types::DescribeVpcAttributeResult]
661
683
  def describe_attribute(options = {})
662
684
  options = options.merge(vpc_id: @id)
663
- resp = @client.describe_vpc_attribute(options)
685
+ resp = Aws::Plugins::UserAgent.feature('resource') do
686
+ @client.describe_vpc_attribute(options)
687
+ end
664
688
  resp.data
665
689
  end
666
690
 
@@ -681,7 +705,9 @@ module Aws::EC2
681
705
  # @return [Types::DetachClassicLinkVpcResult]
682
706
  def detach_classic_link_instance(options = {})
683
707
  options = options.merge(vpc_id: @id)
684
- resp = @client.detach_classic_link_vpc(options)
708
+ resp = Aws::Plugins::UserAgent.feature('resource') do
709
+ @client.detach_classic_link_vpc(options)
710
+ end
685
711
  resp.data
686
712
  end
687
713
 
@@ -702,7 +728,9 @@ module Aws::EC2
702
728
  # @return [EmptyStructure]
703
729
  def detach_internet_gateway(options = {})
704
730
  options = options.merge(vpc_id: @id)
705
- resp = @client.detach_internet_gateway(options)
731
+ resp = Aws::Plugins::UserAgent.feature('resource') do
732
+ @client.detach_internet_gateway(options)
733
+ end
706
734
  resp.data
707
735
  end
708
736
 
@@ -720,7 +748,9 @@ module Aws::EC2
720
748
  # @return [Types::DisableVpcClassicLinkResult]
721
749
  def disable_classic_link(options = {})
722
750
  options = options.merge(vpc_id: @id)
723
- resp = @client.disable_vpc_classic_link(options)
751
+ resp = Aws::Plugins::UserAgent.feature('resource') do
752
+ @client.disable_vpc_classic_link(options)
753
+ end
724
754
  resp.data
725
755
  end
726
756
 
@@ -738,7 +768,9 @@ module Aws::EC2
738
768
  # @return [Types::EnableVpcClassicLinkResult]
739
769
  def enable_classic_link(options = {})
740
770
  options = options.merge(vpc_id: @id)
741
- resp = @client.enable_vpc_classic_link(options)
771
+ resp = Aws::Plugins::UserAgent.feature('resource') do
772
+ @client.enable_vpc_classic_link(options)
773
+ end
742
774
  resp.data
743
775
  end
744
776
 
@@ -751,6 +783,9 @@ module Aws::EC2
751
783
  # enable_dns_support: {
752
784
  # value: false,
753
785
  # },
786
+ # enable_network_address_usage_metrics: {
787
+ # value: false,
788
+ # },
754
789
  # })
755
790
  # @param [Hash] options ({})
756
791
  # @option options [Types::AttributeBooleanValue] :enable_dns_hostnames
@@ -771,10 +806,15 @@ module Aws::EC2
771
806
  #
772
807
  # You cannot modify the DNS resolution and DNS hostnames attributes in
773
808
  # the same request. Use separate requests for each attribute.
809
+ # @option options [Types::AttributeBooleanValue] :enable_network_address_usage_metrics
810
+ # Indicates whether Network Address Usage metrics are enabled for your
811
+ # VPC.
774
812
  # @return [EmptyStructure]
775
813
  def modify_attribute(options = {})
776
814
  options = options.merge(vpc_id: @id)
777
- resp = @client.modify_vpc_attribute(options)
815
+ resp = Aws::Plugins::UserAgent.feature('resource') do
816
+ @client.modify_vpc_attribute(options)
817
+ end
778
818
  resp.data
779
819
  end
780
820
 
@@ -787,7 +827,7 @@ module Aws::EC2
787
827
  # peer_region: "String",
788
828
  # tag_specifications: [
789
829
  # {
790
- # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-route-table, volume, vpc, vpc-endpoint, vpc-endpoint-service, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log
830
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint
791
831
  # tags: [
792
832
  # {
793
833
  # key: "String",
@@ -820,7 +860,9 @@ module Aws::EC2
820
860
  # @return [VpcPeeringConnection]
821
861
  def request_vpc_peering_connection(options = {})
822
862
  options = options.merge(vpc_id: @id)
823
- resp = @client.create_vpc_peering_connection(options)
863
+ resp = Aws::Plugins::UserAgent.feature('resource') do
864
+ @client.create_vpc_peering_connection(options)
865
+ end
824
866
  VpcPeeringConnection.new(
825
867
  id: resp.data.vpc_peering_connection.vpc_peering_connection_id,
826
868
  data: resp.data.vpc_peering_connection,
@@ -844,7 +886,7 @@ module Aws::EC2
844
886
  # })
845
887
  # @param [Hash] options ({})
846
888
  # @option options [Array<Types::Filter>] :filters
847
- # One or more filters.
889
+ # The filters.
848
890
  #
849
891
  # * `accepter-vpc-info.cidr-block` - The IPv4 CIDR block of the accepter
850
892
  # VPC.
@@ -872,7 +914,7 @@ module Aws::EC2
872
914
  # * `status-message` - A message that provides more information about
873
915
  # the status of the VPC peering connection, if applicable.
874
916
  #
875
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
917
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
876
918
  # the resource. Use the tag key in the filter name and the tag value
877
919
  # as the filter value. For example, to find all resources that have a
878
920
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -889,7 +931,7 @@ module Aws::EC2
889
931
  # If you have the required permissions, the error response is
890
932
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
891
933
  # @option options [Array<String>] :vpc_peering_connection_ids
892
- # One or more VPC peering connection IDs.
934
+ # The IDs of the VPC peering connections.
893
935
  #
894
936
  # Default: Describes all your VPC peering connections.
895
937
  # @return [VpcPeeringConnection::Collection]
@@ -899,7 +941,9 @@ module Aws::EC2
899
941
  name: "accepter-vpc-info.vpc-id",
900
942
  values: [@id]
901
943
  }])
902
- resp = @client.describe_vpc_peering_connections(options)
944
+ resp = Aws::Plugins::UserAgent.feature('resource') do
945
+ @client.describe_vpc_peering_connections(options)
946
+ end
903
947
  resp.each_page do |page|
904
948
  batch = []
905
949
  page.data.vpc_peering_connections.each do |v|
@@ -953,7 +997,7 @@ module Aws::EC2
953
997
  #
954
998
  # * `block-device-mapping.attach-time` - The attach time for an EBS
955
999
  # volume mapped to the instance, for example,
956
- # `2010-09-15T17:15:20.000Z`.
1000
+ # `2022-09-15T17:15:20.000Z`.
957
1001
  #
958
1002
  # * `block-device-mapping.delete-on-termination` - A Boolean that
959
1003
  # indicates whether the EBS volume is deleted on instance termination.
@@ -966,16 +1010,38 @@ module Aws::EC2
966
1010
  #
967
1011
  # * `block-device-mapping.volume-id` - The volume ID of the EBS volume.
968
1012
  #
1013
+ # * `boot-mode` - The boot mode that was specified by the AMI
1014
+ # (`legacy-bios` \| `uefi` \| `uefi-preferred`).
1015
+ #
1016
+ # * `capacity-reservation-id` - The ID of the Capacity Reservation into
1017
+ # which the instance was launched.
1018
+ #
1019
+ # * `capacity-reservation-specification.capacity-reservation-preference`
1020
+ # - The instance's Capacity Reservation preference (`open` \|
1021
+ # `none`).
1022
+ #
1023
+ # * `capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id`
1024
+ # - The ID of the targeted Capacity Reservation.
1025
+ #
1026
+ # * `capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn`
1027
+ # - The ARN of the targeted Capacity Reservation group.
1028
+ #
969
1029
  # * `client-token` - The idempotency token you provided when you
970
1030
  # launched the instance.
971
1031
  #
1032
+ # * `current-instance-boot-mode` - The boot mode that is used to launch
1033
+ # the instance at launch or start (`legacy-bios` \| `uefi`).
1034
+ #
972
1035
  # * `dns-name` - The public DNS name of the instance.
973
1036
  #
974
- # * `group-id` - The ID of the security group for the instance.
975
- # EC2-Classic only.
1037
+ # * `ebs-optimized` - A Boolean that indicates whether the instance is
1038
+ # optimized for Amazon EBS I/O.
1039
+ #
1040
+ # * `ena-support` - A Boolean that indicates whether the instance is
1041
+ # enabled for enhanced networking with ENA.
976
1042
  #
977
- # * `group-name` - The name of the security group for the instance.
978
- # EC2-Classic only.
1043
+ # * `enclave-options.enabled` - A Boolean that indicates whether the
1044
+ # instance is enabled for Amazon Web Services Nitro Enclaves.
979
1045
  #
980
1046
  # * `hibernation-options.configured` - A Boolean that indicates whether
981
1047
  # the instance is enabled for hibernation. A value of `true` means
@@ -990,6 +1056,12 @@ module Aws::EC2
990
1056
  # * `iam-instance-profile.arn` - The instance profile associated with
991
1057
  # the instance. Specified as an ARN.
992
1058
  #
1059
+ # * `iam-instance-profile.id` - The instance profile associated with the
1060
+ # instance. Specified as an ID.
1061
+ #
1062
+ # * `iam-instance-profile.name` - The instance profile associated with
1063
+ # the instance. Specified as an name.
1064
+ #
993
1065
  # * `image-id` - The ID of the image used to launch the instance.
994
1066
  #
995
1067
  # * `instance-id` - The ID of the instance.
@@ -1016,6 +1088,8 @@ module Aws::EC2
1016
1088
  #
1017
1089
  # * `ip-address` - The public IPv4 address of the instance.
1018
1090
  #
1091
+ # * `ipv6-address` - The IPv6 address of the instance.
1092
+ #
1019
1093
  # * `kernel-id` - The kernel ID.
1020
1094
  #
1021
1095
  # * `key-name` - The name of the key pair used when the instance was
@@ -1030,38 +1104,65 @@ module Aws::EC2
1030
1104
  # example, `2021-09-29T11:04:43.305Z`. You can use a wildcard (`*`),
1031
1105
  # for example, `2021-09-29T*`, which matches an entire day.
1032
1106
  #
1033
- # * `metadata-options.http-tokens` - The metadata request authorization
1034
- # state (`optional` \| `required`)
1107
+ # * `maintenance-options.auto-recovery` - The current automatic recovery
1108
+ # behavior of the instance (`disabled` \| `default`).
1109
+ #
1110
+ # * `metadata-options.http-endpoint` - The status of access to the HTTP
1111
+ # metadata endpoint on your instance (`enabled` \| `disabled`)
1112
+ #
1113
+ # * `metadata-options.http-protocol-ipv4` - Indicates whether the IPv4
1114
+ # endpoint is enabled (`disabled` \| `enabled`).
1035
1115
  #
1036
- # * `metadata-options.http-put-response-hop-limit` - The http metadata
1116
+ # * `metadata-options.http-protocol-ipv6` - Indicates whether the IPv6
1117
+ # endpoint is enabled (`disabled` \| `enabled`).
1118
+ #
1119
+ # * `metadata-options.http-put-response-hop-limit` - The HTTP metadata
1037
1120
  # request put response hop limit (integer, possible values `1` to
1038
1121
  # `64`)
1039
1122
  #
1040
- # * `metadata-options.http-endpoint` - Enable or disable metadata access
1041
- # on http endpoint (`enabled` \| `disabled`)
1123
+ # * `metadata-options.http-tokens` - The metadata request authorization
1124
+ # state (`optional` \| `required`)
1125
+ #
1126
+ # * `metadata-options.instance-metadata-tags` - The status of access to
1127
+ # instance tags from the instance metadata (`enabled` \| `disabled`)
1128
+ #
1129
+ # * `metadata-options.state` - The state of the metadata option changes
1130
+ # (`pending` \| `applied`).
1042
1131
  #
1043
1132
  # * `monitoring-state` - Indicates whether detailed monitoring is
1044
1133
  # enabled (`disabled` \| `enabled`).
1045
1134
  #
1046
- # * `network-interface.addresses.private-ip-address` - The private IPv4
1047
- # address associated with the network interface.
1135
+ # * `network-interface.addresses.association.allocation-id` - The
1136
+ # allocation ID.
1048
1137
  #
1049
- # * `network-interface.addresses.primary` - Specifies whether the IPv4
1050
- # address of the network interface is the primary private IPv4
1051
- # address.
1138
+ # * `network-interface.addresses.association.association-id` - The
1139
+ # association ID.
1140
+ #
1141
+ # * `network-interface.addresses.association.carrier-ip` - The carrier
1142
+ # IP address.
1143
+ #
1144
+ # * `network-interface.addresses.association.customer-owned-ip` - The
1145
+ # customer-owned IP address.
1146
+ #
1147
+ # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1148
+ # of the private IPv4 address associated with the network interface.
1149
+ #
1150
+ # * `network-interface.addresses.association.public-dns-name` - The
1151
+ # public DNS name.
1052
1152
  #
1053
1153
  # * `network-interface.addresses.association.public-ip` - The ID of the
1054
1154
  # association of an Elastic IP address (IPv4) with a network
1055
1155
  # interface.
1056
1156
  #
1057
- # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1058
- # of the private IPv4 address associated with the network interface.
1157
+ # * `network-interface.addresses.primary` - Specifies whether the IPv4
1158
+ # address of the network interface is the primary private IPv4
1159
+ # address.
1059
1160
  #
1060
- # * `network-interface.association.public-ip` - The address of the
1061
- # Elastic IP address (IPv4) bound to the network interface.
1161
+ # * `network-interface.addresses.private-dns-name` - The private DNS
1162
+ # name.
1062
1163
  #
1063
- # * `network-interface.association.ip-owner-id` - The owner of the
1064
- # Elastic IP address (IPv4) associated with the network interface.
1164
+ # * `network-interface.addresses.private-ip-address` - The private IPv4
1165
+ # address associated with the network interface.
1065
1166
  #
1066
1167
  # * `network-interface.association.allocation-id` - The allocation ID
1067
1168
  # returned when you allocated the Elastic IP address (IPv4) for your
@@ -1071,30 +1172,52 @@ module Aws::EC2
1071
1172
  # returned when the network interface was associated with an IPv4
1072
1173
  # address.
1073
1174
  #
1175
+ # * `network-interface.association.carrier-ip` - The customer-owned IP
1176
+ # address.
1177
+ #
1178
+ # * `network-interface.association.customer-owned-ip` - The
1179
+ # customer-owned IP address.
1180
+ #
1181
+ # * `network-interface.association.ip-owner-id` - The owner of the
1182
+ # Elastic IP address (IPv4) associated with the network interface.
1183
+ #
1184
+ # * `network-interface.association.public-dns-name` - The public DNS
1185
+ # name.
1186
+ #
1187
+ # * `network-interface.association.public-ip` - The address of the
1188
+ # Elastic IP address (IPv4) bound to the network interface.
1189
+ #
1190
+ # * `network-interface.attachment.attach-time` - The time that the
1191
+ # network interface was attached to an instance.
1192
+ #
1074
1193
  # * `network-interface.attachment.attachment-id` - The ID of the
1075
1194
  # interface attachment.
1076
1195
  #
1196
+ # * `network-interface.attachment.delete-on-termination` - Specifies
1197
+ # whether the attachment is deleted when an instance is terminated.
1198
+ #
1199
+ # * `network-interface.attachment.device-index` - The device index to
1200
+ # which the network interface is attached.
1201
+ #
1077
1202
  # * `network-interface.attachment.instance-id` - The ID of the instance
1078
1203
  # to which the network interface is attached.
1079
1204
  #
1080
1205
  # * `network-interface.attachment.instance-owner-id` - The owner ID of
1081
1206
  # the instance to which the network interface is attached.
1082
1207
  #
1083
- # * `network-interface.attachment.device-index` - The device index to
1084
- # which the network interface is attached.
1208
+ # * `network-interface.attachment.network-card-index` - The index of the
1209
+ # network card.
1085
1210
  #
1086
1211
  # * `network-interface.attachment.status` - The status of the attachment
1087
1212
  # (`attaching` \| `attached` \| `detaching` \| `detached`).
1088
1213
  #
1089
- # * `network-interface.attachment.attach-time` - The time that the
1090
- # network interface was attached to an instance.
1091
- #
1092
- # * `network-interface.attachment.delete-on-termination` - Specifies
1093
- # whether the attachment is deleted when an instance is terminated.
1094
- #
1095
1214
  # * `network-interface.availability-zone` - The Availability Zone for
1096
1215
  # the network interface.
1097
1216
  #
1217
+ # * `network-interface.deny-all-igw-traffic` - A Boolean that indicates
1218
+ # whether a network interface with an IPv6 address is unreachable from
1219
+ # the public internet.
1220
+ #
1098
1221
  # * `network-interface.description` - The description of the network
1099
1222
  # interface.
1100
1223
  #
@@ -1104,21 +1227,42 @@ module Aws::EC2
1104
1227
  # * `network-interface.group-name` - The name of a security group
1105
1228
  # associated with the network interface.
1106
1229
  #
1230
+ # * `network-interface.ipv4-prefixes.ipv4-prefix` - The IPv4 prefixes
1231
+ # that are assigned to the network interface.
1232
+ #
1233
+ # * `network-interface.ipv6-address` - The IPv6 address associated with
1234
+ # the network interface.
1235
+ #
1107
1236
  # * `network-interface.ipv6-addresses.ipv6-address` - The IPv6 address
1108
1237
  # associated with the network interface.
1109
1238
  #
1239
+ # * `network-interface.ipv6-addresses.is-primary-ipv6` - A Boolean that
1240
+ # indicates whether this is the primary IPv6 address.
1241
+ #
1242
+ # * `network-interface.ipv6-native` - A Boolean that indicates whether
1243
+ # this is an IPv6 only network interface.
1244
+ #
1245
+ # * `network-interface.ipv6-prefixes.ipv6-prefix` - The IPv6 prefix
1246
+ # assigned to the network interface.
1247
+ #
1110
1248
  # * `network-interface.mac-address` - The MAC address of the network
1111
1249
  # interface.
1112
1250
  #
1113
1251
  # * `network-interface.network-interface-id` - The ID of the network
1114
1252
  # interface.
1115
1253
  #
1254
+ # * `network-interface.outpost-arn` - The ARN of the Outpost.
1255
+ #
1116
1256
  # * `network-interface.owner-id` - The ID of the owner of the network
1117
1257
  # interface.
1118
1258
  #
1119
1259
  # * `network-interface.private-dns-name` - The private DNS name of the
1120
1260
  # network interface.
1121
1261
  #
1262
+ # * `network-interface.private-ip-address` - The private IPv4 address.
1263
+ #
1264
+ # * `network-interface.public-dns-name` - The public DNS name.
1265
+ #
1122
1266
  # * `network-interface.requester-id` - The requester ID for the network
1123
1267
  # interface.
1124
1268
  #
@@ -1137,6 +1281,12 @@ module Aws::EC2
1137
1281
  # * `network-interface.subnet-id` - The ID of the subnet for the network
1138
1282
  # interface.
1139
1283
  #
1284
+ # * `network-interface.tag-key` - The key of a tag assigned to the
1285
+ # network interface.
1286
+ #
1287
+ # * `network-interface.tag-value` - The value of a tag assigned to the
1288
+ # network interface.
1289
+ #
1140
1290
  # * `network-interface.vpc-id` - The ID of the VPC for the network
1141
1291
  # interface.
1142
1292
  #
@@ -1154,8 +1304,31 @@ module Aws::EC2
1154
1304
  # * `platform` - The platform. To list only Windows instances, use
1155
1305
  # `windows`.
1156
1306
  #
1307
+ # * `platform-details` - The platform (`Linux/UNIX` \| `Red Hat BYOL
1308
+ # Linux` \| ` Red Hat Enterprise Linux` \| `Red Hat Enterprise Linux
1309
+ # with HA` \| `Red Hat Enterprise Linux with SQL Server Standard and
1310
+ # HA` \| `Red Hat Enterprise Linux with SQL Server Enterprise and HA`
1311
+ # \| `Red Hat Enterprise Linux with SQL Server Standard` \| `Red Hat
1312
+ # Enterprise Linux with SQL Server Web` \| `Red Hat Enterprise Linux
1313
+ # with SQL Server Enterprise` \| `SQL Server Enterprise` \| `SQL
1314
+ # Server Standard` \| `SQL Server Web` \| `SUSE Linux` \| `Ubuntu Pro`
1315
+ # \| `Windows` \| `Windows BYOL` \| `Windows with SQL Server
1316
+ # Enterprise` \| `Windows with SQL Server Standard` \| `Windows with
1317
+ # SQL Server Web`).
1318
+ #
1157
1319
  # * `private-dns-name` - The private IPv4 DNS name of the instance.
1158
1320
  #
1321
+ # * `private-dns-name-options.enable-resource-name-dns-a-record` - A
1322
+ # Boolean that indicates whether to respond to DNS queries for
1323
+ # instance hostnames with DNS A records.
1324
+ #
1325
+ # * `private-dns-name-options.enable-resource-name-dns-aaaa-record` - A
1326
+ # Boolean that indicates whether to respond to DNS queries for
1327
+ # instance hostnames with DNS AAAA records.
1328
+ #
1329
+ # * `private-dns-name-options.hostname-type` - The type of hostname
1330
+ # (`ip-name` \| `resource-name`).
1331
+ #
1159
1332
  # * `private-ip-address` - The private IPv4 address of the instance.
1160
1333
  #
1161
1334
  # * `product-code` - The product code associated with the AMI used to
@@ -1216,6 +1389,21 @@ module Aws::EC2
1216
1389
  # * `tenancy` - The tenancy of an instance (`dedicated` \| `default` \|
1217
1390
  # `host`).
1218
1391
  #
1392
+ # * `tpm-support` - Indicates if the instance is configured for NitroTPM
1393
+ # support (`v2.0`).
1394
+ #
1395
+ # * `usage-operation` - The usage operation value for the instance
1396
+ # (`RunInstances` \| `RunInstances:00g0` \| `RunInstances:0010` \|
1397
+ # `RunInstances:1010` \| `RunInstances:1014` \| `RunInstances:1110` \|
1398
+ # `RunInstances:0014` \| `RunInstances:0210` \| `RunInstances:0110` \|
1399
+ # `RunInstances:0100` \| `RunInstances:0004` \| `RunInstances:0200` \|
1400
+ # `RunInstances:000g` \| `RunInstances:0g00` \| `RunInstances:0002` \|
1401
+ # `RunInstances:0800` \| `RunInstances:0102` \| `RunInstances:0006` \|
1402
+ # `RunInstances:0202`).
1403
+ #
1404
+ # * `usage-operation-update-time` - The time that the usage operation
1405
+ # was last updated, for example, `2022-09-15T17:15:20.000Z`.
1406
+ #
1219
1407
  # * `virtualization-type` - The virtualization type of the instance
1220
1408
  # (`paravirtual` \| `hvm`).
1221
1409
  #
@@ -1236,7 +1424,9 @@ module Aws::EC2
1236
1424
  name: "vpc-id",
1237
1425
  values: [@id]
1238
1426
  }])
1239
- resp = @client.describe_instances(options)
1427
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1428
+ @client.describe_instances(options)
1429
+ end
1240
1430
  resp.each_page do |page|
1241
1431
  batch = []
1242
1432
  page.data.reservations.each do |r|
@@ -1268,7 +1458,7 @@ module Aws::EC2
1268
1458
  # })
1269
1459
  # @param [Hash] options ({})
1270
1460
  # @option options [Array<Types::Filter>] :filters
1271
- # One or more filters.
1461
+ # The filters.
1272
1462
  #
1273
1463
  # * `attachment.state` - The current state of the attachment between the
1274
1464
  # gateway and the VPC (`available`). Present only if a VPC is
@@ -1281,7 +1471,7 @@ module Aws::EC2
1281
1471
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
1282
1472
  # internet gateway.
1283
1473
  #
1284
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
1474
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1285
1475
  # the resource. Use the tag key in the filter name and the tag value
1286
1476
  # as the filter value. For example, to find all resources that have a
1287
1477
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1296,7 +1486,7 @@ module Aws::EC2
1296
1486
  # If you have the required permissions, the error response is
1297
1487
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1298
1488
  # @option options [Array<String>] :internet_gateway_ids
1299
- # One or more internet gateway IDs.
1489
+ # The IDs of the internet gateways.
1300
1490
  #
1301
1491
  # Default: Describes all your internet gateways.
1302
1492
  # @return [InternetGateway::Collection]
@@ -1306,7 +1496,9 @@ module Aws::EC2
1306
1496
  name: "attachment.vpc-id",
1307
1497
  values: [@id]
1308
1498
  }])
1309
- resp = @client.describe_internet_gateways(options)
1499
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1500
+ @client.describe_internet_gateways(options)
1501
+ end
1310
1502
  resp.each_page do |page|
1311
1503
  batch = []
1312
1504
  page.data.internet_gateways.each do |i|
@@ -1336,7 +1528,7 @@ module Aws::EC2
1336
1528
  # })
1337
1529
  # @param [Hash] options ({})
1338
1530
  # @option options [Array<Types::Filter>] :filters
1339
- # One or more filters.
1531
+ # The filters.
1340
1532
  #
1341
1533
  # * `association.association-id` - The ID of an association ID for the
1342
1534
  # ACL.
@@ -1370,6 +1562,9 @@ module Aws::EC2
1370
1562
  # * `entry.rule-action` - Allows or denies the matching traffic (`allow`
1371
1563
  # \| `deny`).
1372
1564
  #
1565
+ # * `entry.egress` - A Boolean that indicates the type of rule. Specify
1566
+ # `true` for egress rules, or `false` for ingress rules.
1567
+ #
1373
1568
  # * `entry.rule-number` - The number of an entry (in other words, rule)
1374
1569
  # in the set of ACL entries.
1375
1570
  #
@@ -1378,7 +1573,7 @@ module Aws::EC2
1378
1573
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
1379
1574
  # network ACL.
1380
1575
  #
1381
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
1576
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1382
1577
  # the resource. Use the tag key in the filter name and the tag value
1383
1578
  # as the filter value. For example, to find all resources that have a
1384
1579
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1395,7 +1590,7 @@ module Aws::EC2
1395
1590
  # If you have the required permissions, the error response is
1396
1591
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1397
1592
  # @option options [Array<String>] :network_acl_ids
1398
- # One or more network ACL IDs.
1593
+ # The IDs of the network ACLs.
1399
1594
  #
1400
1595
  # Default: Describes all your network ACLs.
1401
1596
  # @return [NetworkAcl::Collection]
@@ -1405,7 +1600,9 @@ module Aws::EC2
1405
1600
  name: "vpc-id",
1406
1601
  values: [@id]
1407
1602
  }])
1408
- resp = @client.describe_network_acls(options)
1603
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1604
+ @client.describe_network_acls(options)
1605
+ end
1409
1606
  resp.each_page do |page|
1410
1607
  batch = []
1411
1608
  page.data.network_acls.each do |n|
@@ -1437,24 +1634,24 @@ module Aws::EC2
1437
1634
  # @option options [Array<Types::Filter>] :filters
1438
1635
  # One or more filters.
1439
1636
  #
1440
- # * `addresses.private-ip-address` - The private IPv4 addresses
1441
- # associated with the network interface.
1637
+ # * `association.allocation-id` - The allocation ID returned when you
1638
+ # allocated the Elastic IP address (IPv4) for your network interface.
1442
1639
  #
1443
- # * `addresses.primary` - Whether the private IPv4 address is the
1444
- # primary IP address associated with the network interface.
1640
+ # * `association.association-id` - The association ID returned when the
1641
+ # network interface was associated with an IPv4 address.
1642
+ #
1643
+ # * `addresses.association.owner-id` - The owner ID of the addresses
1644
+ # associated with the network interface.
1445
1645
  #
1446
1646
  # * `addresses.association.public-ip` - The association ID returned when
1447
1647
  # the network interface was associated with the Elastic IP address
1448
1648
  # (IPv4).
1449
1649
  #
1450
- # * `addresses.association.owner-id` - The owner ID of the addresses
1451
- # associated with the network interface.
1452
- #
1453
- # * `association.association-id` - The association ID returned when the
1454
- # network interface was associated with an IPv4 address.
1650
+ # * `addresses.primary` - Whether the private IPv4 address is the
1651
+ # primary IP address associated with the network interface.
1455
1652
  #
1456
- # * `association.allocation-id` - The allocation ID returned when you
1457
- # allocated the Elastic IP address (IPv4) for your network interface.
1653
+ # * `addresses.private-ip-address` - The private IPv4 addresses
1654
+ # associated with the network interface.
1458
1655
  #
1459
1656
  # * `association.ip-owner-id` - The owner of the Elastic IP address
1460
1657
  # (IPv4) associated with the network interface.
@@ -1465,11 +1662,11 @@ module Aws::EC2
1465
1662
  # * `association.public-dns-name` - The public DNS name for the network
1466
1663
  # interface (IPv4).
1467
1664
  #
1468
- # * `attachment.attachment-id` - The ID of the interface attachment.
1469
- #
1470
1665
  # * `attachment.attach-time` - The time that the network interface was
1471
1666
  # attached to an instance.
1472
1667
  #
1668
+ # * `attachment.attachment-id` - The ID of the interface attachment.
1669
+ #
1473
1670
  # * `attachment.delete-on-termination` - Indicates whether the
1474
1671
  # attachment is deleted when an instance is terminated.
1475
1672
  #
@@ -1493,12 +1690,18 @@ module Aws::EC2
1493
1690
  # * `group-id` - The ID of a security group associated with the network
1494
1691
  # interface.
1495
1692
  #
1496
- # * `group-name` - The name of a security group associated with the
1497
- # network interface.
1498
- #
1499
1693
  # * `ipv6-addresses.ipv6-address` - An IPv6 address associated with the
1500
1694
  # network interface.
1501
1695
  #
1696
+ # * `interface-type` - The type of network interface
1697
+ # (`api_gateway_managed` \| `aws_codestar_connections_managed` \|
1698
+ # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efs` \|
1699
+ # `gateway_load_balancer` \| `gateway_load_balancer_endpoint` \|
1700
+ # `global_accelerator_managed` \| `interface` \| `iot_rules_managed`
1701
+ # \| `lambda` \| `load_balancer` \| `nat_gateway` \|
1702
+ # `network_load_balancer` \| `quicksight` \| `transit_gateway` \|
1703
+ # `trunk` \| `vpc_endpoint`).
1704
+ #
1502
1705
  # * `mac-address` - The MAC address of the network interface.
1503
1706
  #
1504
1707
  # * `network-interface-id` - The ID of the network interface.
@@ -1506,12 +1709,12 @@ module Aws::EC2
1506
1709
  # * `owner-id` - The Amazon Web Services account ID of the network
1507
1710
  # interface owner.
1508
1711
  #
1509
- # * `private-ip-address` - The private IPv4 address or addresses of the
1510
- # network interface.
1511
- #
1512
1712
  # * `private-dns-name` - The private DNS name of the network interface
1513
1713
  # (IPv4).
1514
1714
  #
1715
+ # * `private-ip-address` - The private IPv4 address or addresses of the
1716
+ # network interface.
1717
+ #
1515
1718
  # * `requester-id` - The alias or Amazon Web Services account ID of the
1516
1719
  # principal or service that created the network interface.
1517
1720
  #
@@ -1532,7 +1735,7 @@ module Aws::EC2
1532
1735
  #
1533
1736
  # * `subnet-id` - The ID of the subnet for the network interface.
1534
1737
  #
1535
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
1738
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1536
1739
  # the resource. Use the tag key in the filter name and the tag value
1537
1740
  # as the filter value. For example, to find all resources that have a
1538
1741
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1549,7 +1752,7 @@ module Aws::EC2
1549
1752
  # If you have the required permissions, the error response is
1550
1753
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1551
1754
  # @option options [Array<String>] :network_interface_ids
1552
- # One or more network interface IDs.
1755
+ # The network interface IDs.
1553
1756
  #
1554
1757
  # Default: Describes all your network interfaces.
1555
1758
  # @return [NetworkInterface::Collection]
@@ -1559,7 +1762,9 @@ module Aws::EC2
1559
1762
  name: "vpc-id",
1560
1763
  values: [@id]
1561
1764
  }])
1562
- resp = @client.describe_network_interfaces(options)
1765
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1766
+ @client.describe_network_interfaces(options)
1767
+ end
1563
1768
  resp.each_page do |page|
1564
1769
  batch = []
1565
1770
  page.data.network_interfaces.each do |n|
@@ -1589,7 +1794,7 @@ module Aws::EC2
1589
1794
  # })
1590
1795
  # @param [Hash] options ({})
1591
1796
  # @option options [Array<Types::Filter>] :filters
1592
- # One or more filters.
1797
+ # The filters.
1593
1798
  #
1594
1799
  # * `accepter-vpc-info.cidr-block` - The IPv4 CIDR block of the accepter
1595
1800
  # VPC.
@@ -1617,7 +1822,7 @@ module Aws::EC2
1617
1822
  # * `status-message` - A message that provides more information about
1618
1823
  # the status of the VPC peering connection, if applicable.
1619
1824
  #
1620
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
1825
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1621
1826
  # the resource. Use the tag key in the filter name and the tag value
1622
1827
  # as the filter value. For example, to find all resources that have a
1623
1828
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1634,7 +1839,7 @@ module Aws::EC2
1634
1839
  # If you have the required permissions, the error response is
1635
1840
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1636
1841
  # @option options [Array<String>] :vpc_peering_connection_ids
1637
- # One or more VPC peering connection IDs.
1842
+ # The IDs of the VPC peering connections.
1638
1843
  #
1639
1844
  # Default: Describes all your VPC peering connections.
1640
1845
  # @return [VpcPeeringConnection::Collection]
@@ -1644,7 +1849,9 @@ module Aws::EC2
1644
1849
  name: "requester-vpc-info.vpc-id",
1645
1850
  values: [@id]
1646
1851
  }])
1647
- resp = @client.describe_vpc_peering_connections(options)
1852
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1853
+ @client.describe_vpc_peering_connections(options)
1854
+ end
1648
1855
  resp.each_page do |page|
1649
1856
  batch = []
1650
1857
  page.data.vpc_peering_connections.each do |v|
@@ -1674,7 +1881,7 @@ module Aws::EC2
1674
1881
  # })
1675
1882
  # @param [Hash] options ({})
1676
1883
  # @option options [Array<Types::Filter>] :filters
1677
- # One or more filters.
1884
+ # The filters.
1678
1885
  #
1679
1886
  # * `association.route-table-association-id` - The ID of an association
1680
1887
  # ID for the route table.
@@ -1732,7 +1939,7 @@ module Aws::EC2
1732
1939
  # * `route.vpc-peering-connection-id` - The ID of a VPC peering
1733
1940
  # connection specified in a route in the table.
1734
1941
  #
1735
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
1942
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1736
1943
  # the resource. Use the tag key in the filter name and the tag value
1737
1944
  # as the filter value. For example, to find all resources that have a
1738
1945
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1749,7 +1956,7 @@ module Aws::EC2
1749
1956
  # If you have the required permissions, the error response is
1750
1957
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1751
1958
  # @option options [Array<String>] :route_table_ids
1752
- # One or more route table IDs.
1959
+ # The IDs of the route tables.
1753
1960
  #
1754
1961
  # Default: Describes all your route tables.
1755
1962
  # @return [RouteTable::Collection]
@@ -1759,7 +1966,9 @@ module Aws::EC2
1759
1966
  name: "vpc-id",
1760
1967
  values: [@id]
1761
1968
  }])
1762
- resp = @client.describe_route_tables(options)
1969
+ resp = Aws::Plugins::UserAgent.feature('resource') do
1970
+ @client.describe_route_tables(options)
1971
+ end
1763
1972
  resp.each_page do |page|
1764
1973
  batch = []
1765
1974
  page.data.route_tables.each do |r|
@@ -1859,7 +2068,7 @@ module Aws::EC2
1859
2068
  # * `owner-id` - The Amazon Web Services account ID of the owner of the
1860
2069
  # security group.
1861
2070
  #
1862
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
2071
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1863
2072
  # the resource. Use the tag key in the filter name and the tag value
1864
2073
  # as the filter value. For example, to find all resources that have a
1865
2074
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1877,10 +2086,8 @@ module Aws::EC2
1877
2086
  #
1878
2087
  # Default: Describes all of your security groups.
1879
2088
  # @option options [Array<String>] :group_names
1880
- # \[EC2-Classic and default VPC only\] The names of the security groups.
1881
- # You can specify either the security group name or the security group
1882
- # ID. For security groups in a nondefault VPC, use the `group-name`
1883
- # filter to describe security groups by name.
2089
+ # \[Default VPC\] The names of the security groups. You can specify
2090
+ # either the security group name or the security group ID.
1884
2091
  #
1885
2092
  # Default: Describes all of your security groups.
1886
2093
  # @option options [Boolean] :dry_run
@@ -1895,7 +2102,9 @@ module Aws::EC2
1895
2102
  name: "vpc-id",
1896
2103
  values: [@id]
1897
2104
  }])
1898
- resp = @client.describe_security_groups(options)
2105
+ resp = Aws::Plugins::UserAgent.feature('resource') do
2106
+ @client.describe_security_groups(options)
2107
+ end
1899
2108
  resp.each_page do |page|
1900
2109
  batch = []
1901
2110
  page.data.security_groups.each do |s|
@@ -1925,7 +2134,7 @@ module Aws::EC2
1925
2134
  # })
1926
2135
  # @param [Hash] options ({})
1927
2136
  # @option options [Array<Types::Filter>] :filters
1928
- # One or more filters.
2137
+ # The filters.
1929
2138
  #
1930
2139
  # * `availability-zone` - The Availability Zone for the subnet. You can
1931
2140
  # also use `availabilityZone` as the filter name.
@@ -1941,10 +2150,22 @@ module Aws::EC2
1941
2150
  # to be returned for the subnet. You can also use `cidr` or
1942
2151
  # `cidrBlock` as the filter names.
1943
2152
  #
2153
+ # * `customer-owned-ipv4-pool` - The customer-owned IPv4 address pool
2154
+ # associated with the subnet.
2155
+ #
1944
2156
  # * `default-for-az` - Indicates whether this is the default subnet for
1945
2157
  # the Availability Zone (`true` \| `false`). You can also use
1946
2158
  # `defaultForAz` as the filter name.
1947
2159
  #
2160
+ # * `enable-dns64` - Indicates whether DNS queries made to the
2161
+ # Amazon-provided DNS Resolver in this subnet should return synthetic
2162
+ # IPv6 addresses for IPv4-only destinations.
2163
+ #
2164
+ # * `enable-lni-at-device-index` - Indicates the device position for
2165
+ # local network interfaces in this subnet. For example, `1` indicates
2166
+ # local network interfaces in this subnet are the secondary network
2167
+ # interface (eth1).
2168
+ #
1948
2169
  # * `ipv6-cidr-block-association.ipv6-cidr-block` - An IPv6 CIDR block
1949
2170
  # associated with the subnet.
1950
2171
  #
@@ -1957,18 +2178,40 @@ module Aws::EC2
1957
2178
  # * `ipv6-native` - Indicates whether this is an IPv6 only subnet
1958
2179
  # (`true` \| `false`).
1959
2180
  #
2181
+ # * `map-customer-owned-ip-on-launch` - Indicates whether a network
2182
+ # interface created in this subnet (including a network interface
2183
+ # created by RunInstances) receives a customer-owned IPv4 address.
2184
+ #
2185
+ # * `map-public-ip-on-launch` - Indicates whether instances launched in
2186
+ # this subnet receive a public IPv4 address.
2187
+ #
1960
2188
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
1961
2189
  #
1962
2190
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
1963
2191
  # subnet.
1964
2192
  #
2193
+ # * `private-dns-name-options-on-launch.hostname-type` - The type of
2194
+ # hostname to assign to instances in the subnet at launch. For
2195
+ # IPv4-only and dual-stack (IPv4 and IPv6) subnets, an instance DNS
2196
+ # name can be based on the instance IPv4 address (ip-name) or the
2197
+ # instance ID (resource-name). For IPv6 only subnets, an instance DNS
2198
+ # name must be based on the instance ID (resource-name).
2199
+ #
2200
+ # * `private-dns-name-options-on-launch.enable-resource-name-dns-a-record`
2201
+ # - Indicates whether to respond to DNS queries for instance hostnames
2202
+ # with DNS A records.
2203
+ #
2204
+ # * `private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record`
2205
+ # - Indicates whether to respond to DNS queries for instance hostnames
2206
+ # with DNS AAAA records.
2207
+ #
1965
2208
  # * `state` - The state of the subnet (`pending` \| `available`).
1966
2209
  #
1967
2210
  # * `subnet-arn` - The Amazon Resource Name (ARN) of the subnet.
1968
2211
  #
1969
2212
  # * `subnet-id` - The ID of the subnet.
1970
2213
  #
1971
- # * `tag`\:&lt;key&gt; - The key/value combination of a tag assigned to
2214
+ # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1972
2215
  # the resource. Use the tag key in the filter name and the tag value
1973
2216
  # as the filter value. For example, to find all resources that have a
1974
2217
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
@@ -1980,7 +2223,7 @@ module Aws::EC2
1980
2223
  #
1981
2224
  # * `vpc-id` - The ID of the VPC for the subnet.
1982
2225
  # @option options [Array<String>] :subnet_ids
1983
- # One or more subnet IDs.
2226
+ # The IDs of the subnets.
1984
2227
  #
1985
2228
  # Default: Describes all your subnets.
1986
2229
  # @option options [Boolean] :dry_run
@@ -1995,7 +2238,9 @@ module Aws::EC2
1995
2238
  name: "vpc-id",
1996
2239
  values: [@id]
1997
2240
  }])
1998
- resp = @client.describe_subnets(options)
2241
+ resp = Aws::Plugins::UserAgent.feature('resource') do
2242
+ @client.describe_subnets(options)
2243
+ end
1999
2244
  resp.each_page do |page|
2000
2245
  batch = []
2001
2246
  page.data.subnets.each do |s|