aws-sdk-ec2 1.285.0 → 1.417.0

Sign up to get free protection for your applications and to get access to all the features.
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|