aws-sdk-ec2 1.402.0 → 1.547.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +735 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +32 -20
  5. data/lib/aws-sdk-ec2/client.rb +14212 -4429
  6. data/lib/aws-sdk-ec2/client_api.rb +4004 -515
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +16 -20
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8314
  15. data/lib/aws-sdk-ec2/image.rb +207 -98
  16. data/lib/aws-sdk-ec2/instance.rb +514 -348
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +150 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +123 -42
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +23 -1202
  26. data/lib/aws-sdk-ec2/resource.rb +1118 -864
  27. data/lib/aws-sdk-ec2/route.rb +50 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +47 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +534 -406
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +18252 -4766
  35. data/lib/aws-sdk-ec2/volume.rb +160 -116
  36. data/lib/aws-sdk-ec2/vpc.rb +387 -262
  37. data/lib/aws-sdk-ec2/vpc_address.rb +37 -25
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2/waiters.rb +146 -38
  40. data/lib/aws-sdk-ec2.rb +40 -36
  41. data/sig/classic_address.rbs +108 -0
  42. data/sig/client.rbs +14833 -0
  43. data/sig/dhcp_options.rbs +84 -0
  44. data/sig/errors.rbs +16 -0
  45. data/sig/image.rbs +232 -0
  46. data/sig/instance.rbs +576 -0
  47. data/sig/internet_gateway.rbs +91 -0
  48. data/sig/key_pair.rbs +54 -0
  49. data/sig/key_pair_info.rbs +63 -0
  50. data/sig/nat_gateway.rbs +107 -0
  51. data/sig/network_acl.rbs +144 -0
  52. data/sig/network_interface.rbs +249 -0
  53. data/sig/network_interface_association.rbs +62 -0
  54. data/sig/placement_group.rbs +78 -0
  55. data/sig/resource.rbs +1049 -0
  56. data/sig/route.rbs +120 -0
  57. data/sig/route_table.rbs +118 -0
  58. data/sig/route_table_association.rbs +69 -0
  59. data/sig/security_group.rbs +311 -0
  60. data/sig/snapshot.rbs +204 -0
  61. data/sig/subnet.rbs +442 -0
  62. data/sig/tag.rbs +63 -0
  63. data/sig/types.rbs +17078 -0
  64. data/sig/volume.rbs +213 -0
  65. data/sig/vpc.rbs +404 -0
  66. data/sig/vpc_address.rbs +104 -0
  67. data/sig/vpc_peering_connection.rbs +84 -0
  68. data/sig/waiters.rbs +700 -0
  69. metadata +45 -19
@@ -35,24 +35,6 @@ module Aws::EC2
35
35
  end
36
36
  alias :vpc_id :id
37
37
 
38
- # The primary IPv4 CIDR block for the VPC.
39
- # @return [String]
40
- def cidr_block
41
- data[:cidr_block]
42
- end
43
-
44
- # The ID of the set of DHCP options you've associated with the VPC.
45
- # @return [String]
46
- def dhcp_options_id
47
- data[:dhcp_options_id]
48
- end
49
-
50
- # The current state of the VPC.
51
- # @return [String]
52
- def state
53
- data[:state]
54
- end
55
-
56
38
  # The ID of the Amazon Web Services account that owns the VPC.
57
39
  # @return [String]
58
40
  def owner_id
@@ -83,12 +65,41 @@ module Aws::EC2
83
65
  data[:is_default]
84
66
  end
85
67
 
68
+ # @return [Types::VpcEncryptionControl]
69
+ def encryption_control
70
+ data[:encryption_control]
71
+ end
72
+
86
73
  # Any tags assigned to the VPC.
87
74
  # @return [Array<Types::Tag>]
88
75
  def tags
89
76
  data[:tags]
90
77
  end
91
78
 
79
+ # The state of VPC Block Public Access (BPA).
80
+ # @return [Types::BlockPublicAccessStates]
81
+ def block_public_access_states
82
+ data[:block_public_access_states]
83
+ end
84
+
85
+ # The current state of the VPC.
86
+ # @return [String]
87
+ def state
88
+ data[:state]
89
+ end
90
+
91
+ # The primary IPv4 CIDR block for the VPC.
92
+ # @return [String]
93
+ def cidr_block
94
+ data[:cidr_block]
95
+ end
96
+
97
+ # The ID of the set of DHCP options you've associated with the VPC.
98
+ # @return [String]
99
+ def dhcp_options_id
100
+ data[:dhcp_options_id]
101
+ end
102
+
92
103
  # @!endgroup
93
104
 
94
105
  # @return [Client]
@@ -103,7 +114,7 @@ module Aws::EC2
103
114
  #
104
115
  # @return [self]
105
116
  def load
106
- resp = Aws::Plugins::UserAgent.feature('resource') do
117
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
107
118
  @client.describe_vpcs(vpc_ids: [@id])
108
119
  end
109
120
  @data = resp.vpcs[0]
@@ -150,7 +161,7 @@ module Aws::EC2
150
161
  options, params = separate_params_and_options(options)
151
162
  waiter = Waiters::VpcAvailable.new(options)
152
163
  yield_waiter_and_warn(waiter, &block) if block_given?
153
- Aws::Plugins::UserAgent.feature('resource') do
164
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
154
165
  waiter.wait(params.merge(vpc_ids: [@id]))
155
166
  end
156
167
  Vpc.new({
@@ -169,7 +180,7 @@ module Aws::EC2
169
180
  options, params = separate_params_and_options(options)
170
181
  waiter = Waiters::VpcExists.new(options)
171
182
  yield_waiter_and_warn(waiter, &block) if block_given?
172
- Aws::Plugins::UserAgent.feature('resource') do
183
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
173
184
  waiter.wait(params.merge(vpc_ids: [@id]))
174
185
  end
175
186
  Vpc.new({
@@ -272,7 +283,7 @@ module Aws::EC2
272
283
  :retry
273
284
  end
274
285
  end
275
- Aws::Plugins::UserAgent.feature('resource') do
286
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
276
287
  Aws::Waiters::Waiter.new(options).wait({})
277
288
  end
278
289
  end
@@ -297,7 +308,7 @@ module Aws::EC2
297
308
  # @return [EmptyStructure]
298
309
  def associate_dhcp_options(options = {})
299
310
  options = options.merge(vpc_id: @id)
300
- resp = Aws::Plugins::UserAgent.feature('resource') do
311
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
301
312
  @client.associate_dhcp_options(options)
302
313
  end
303
314
  resp.data
@@ -307,8 +318,8 @@ module Aws::EC2
307
318
  #
308
319
  # vpc.attach_classic_link_instance({
309
320
  # dry_run: false,
310
- # groups: ["SecurityGroupId"], # required
311
321
  # instance_id: "InstanceId", # required
322
+ # groups: ["SecurityGroupId"], # required
312
323
  # })
313
324
  # @param [Hash] options ({})
314
325
  # @option options [Boolean] :dry_run
@@ -316,15 +327,15 @@ module Aws::EC2
316
327
  # without actually making the request, and provides an error response.
317
328
  # If you have the required permissions, the error response is
318
329
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
330
+ # @option options [required, String] :instance_id
331
+ # The ID of the EC2-Classic instance.
319
332
  # @option options [required, Array<String>] :groups
320
333
  # The IDs of the security groups. You cannot specify security groups
321
334
  # from a different VPC.
322
- # @option options [required, String] :instance_id
323
- # The ID of the EC2-Classic instance.
324
335
  # @return [Types::AttachClassicLinkVpcResult]
325
336
  def attach_classic_link_instance(options = {})
326
337
  options = options.merge(vpc_id: @id)
327
- resp = Aws::Plugins::UserAgent.feature('resource') do
338
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
328
339
  @client.attach_classic_link_vpc(options)
329
340
  end
330
341
  resp.data
@@ -347,7 +358,7 @@ module Aws::EC2
347
358
  # @return [EmptyStructure]
348
359
  def attach_internet_gateway(options = {})
349
360
  options = options.merge(vpc_id: @id)
350
- resp = Aws::Plugins::UserAgent.feature('resource') do
361
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
351
362
  @client.attach_internet_gateway(options)
352
363
  end
353
364
  resp.data
@@ -356,10 +367,9 @@ module Aws::EC2
356
367
  # @example Request syntax with placeholder values
357
368
  #
358
369
  # networkacl = vpc.create_network_acl({
359
- # dry_run: false,
360
370
  # tag_specifications: [
361
371
  # {
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
372
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, 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, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, 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, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
363
373
  # tags: [
364
374
  # {
365
375
  # key: "String",
@@ -368,19 +378,29 @@ module Aws::EC2
368
378
  # ],
369
379
  # },
370
380
  # ],
381
+ # client_token: "String",
382
+ # dry_run: false,
371
383
  # })
372
384
  # @param [Hash] options ({})
385
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
386
+ # The tags to assign to the network ACL.
387
+ # @option options [String] :client_token
388
+ # Unique, case-sensitive identifier that you provide to ensure the
389
+ # idempotency of the request. For more information, see [Ensuring
390
+ # idempotency][1].
391
+ #
392
+ #
393
+ #
394
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
373
395
  # @option options [Boolean] :dry_run
374
396
  # Checks whether you have the required permissions for the action,
375
397
  # without actually making the request, and provides an error response.
376
398
  # If you have the required permissions, the error response is
377
399
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
378
- # @option options [Array<Types::TagSpecification>] :tag_specifications
379
- # The tags to assign to the network ACL.
380
400
  # @return [NetworkAcl]
381
401
  def create_network_acl(options = {})
382
402
  options = options.merge(vpc_id: @id)
383
- resp = Aws::Plugins::UserAgent.feature('resource') do
403
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
384
404
  @client.create_network_acl(options)
385
405
  end
386
406
  NetworkAcl.new(
@@ -393,10 +413,9 @@ module Aws::EC2
393
413
  # @example Request syntax with placeholder values
394
414
  #
395
415
  # routetable = vpc.create_route_table({
396
- # dry_run: false,
397
416
  # tag_specifications: [
398
417
  # {
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
418
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, 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, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, 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, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
400
419
  # tags: [
401
420
  # {
402
421
  # key: "String",
@@ -405,19 +424,29 @@ module Aws::EC2
405
424
  # ],
406
425
  # },
407
426
  # ],
427
+ # client_token: "String",
428
+ # dry_run: false,
408
429
  # })
409
430
  # @param [Hash] options ({})
431
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
432
+ # The tags to assign to the route table.
433
+ # @option options [String] :client_token
434
+ # Unique, case-sensitive identifier that you provide to ensure the
435
+ # idempotency of the request. For more information, see [Ensuring
436
+ # idempotency][1].
437
+ #
438
+ #
439
+ #
440
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
410
441
  # @option options [Boolean] :dry_run
411
442
  # Checks whether you have the required permissions for the action,
412
443
  # without actually making the request, and provides an error response.
413
444
  # If you have the required permissions, the error response is
414
445
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
415
- # @option options [Array<Types::TagSpecification>] :tag_specifications
416
- # The tags to assign to the route table.
417
446
  # @return [RouteTable]
418
447
  def create_route_table(options = {})
419
448
  options = options.merge(vpc_id: @id)
420
- resp = Aws::Plugins::UserAgent.feature('resource') do
449
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
421
450
  @client.create_route_table(options)
422
451
  end
423
452
  RouteTable.new(
@@ -434,7 +463,7 @@ module Aws::EC2
434
463
  # group_name: "String", # required
435
464
  # tag_specifications: [
436
465
  # {
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
466
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, 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, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, 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, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
438
467
  # tags: [
439
468
  # {
440
469
  # key: "String",
@@ -452,14 +481,15 @@ module Aws::EC2
452
481
  # Constraints: Up to 255 characters in length
453
482
  #
454
483
  # Valid characters: a-z, A-Z, 0-9, spaces, and
455
- # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
484
+ # .\_-:/()#,@\[\]+=&amp;;\{}!$*
456
485
  # @option options [required, String] :group_name
457
- # The name of the security group.
486
+ # The name of the security group. Names are case-insensitive and must be
487
+ # unique within the VPC.
458
488
  #
459
- # Constraints: Up to 255 characters in length. Cannot start with `sg-`.
489
+ # Constraints: Up to 255 characters in length. Can't start with `sg-`.
460
490
  #
461
491
  # Valid characters: a-z, A-Z, 0-9, spaces, and
462
- # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
492
+ # .\_-:/()#,@\[\]+=&amp;;\{}!$*
463
493
  # @option options [Array<Types::TagSpecification>] :tag_specifications
464
494
  # The tags to assign to the security group.
465
495
  # @option options [Boolean] :dry_run
@@ -470,7 +500,7 @@ module Aws::EC2
470
500
  # @return [SecurityGroup]
471
501
  def create_security_group(options = {})
472
502
  options = options.merge(vpc_id: @id)
473
- resp = Aws::Plugins::UserAgent.feature('resource') do
503
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
474
504
  @client.create_security_group(options)
475
505
  end
476
506
  SecurityGroup.new(
@@ -484,7 +514,7 @@ module Aws::EC2
484
514
  # subnet = vpc.create_subnet({
485
515
  # tag_specifications: [
486
516
  # {
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
517
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, 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, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, 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, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
488
518
  # tags: [
489
519
  # {
490
520
  # key: "String",
@@ -498,8 +528,12 @@ module Aws::EC2
498
528
  # cidr_block: "String",
499
529
  # ipv_6_cidr_block: "String",
500
530
  # outpost_arn: "String",
501
- # dry_run: false,
502
531
  # ipv_6_native: false,
532
+ # ipv_4_ipam_pool_id: "IpamPoolId",
533
+ # ipv_4_netmask_length: 1,
534
+ # ipv_6_ipam_pool_id: "IpamPoolId",
535
+ # ipv_6_netmask_length: 1,
536
+ # dry_run: false,
503
537
  # })
504
538
  # @param [Hash] options ({})
505
539
  # @option options [Array<Types::TagSpecification>] :tag_specifications
@@ -513,14 +547,14 @@ module Aws::EC2
513
547
  #
514
548
  # To create a subnet in a Local Zone, set this value to the Local Zone
515
549
  # ID, for example `us-west-2-lax-1a`. For information about the Regions
516
- # that support Local Zones, see [Local Zones locations][1].
550
+ # that support Local Zones, see [Available Local Zones][1].
517
551
  #
518
552
  # To create a subnet in an Outpost, set this value to the Availability
519
553
  # Zone for the Outpost and specify the Outpost ARN.
520
554
  #
521
555
  #
522
556
  #
523
- # [1]: http://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/
557
+ # [1]: https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html
524
558
  # @option options [String] :availability_zone_id
525
559
  # The AZ ID or the Local Zone ID of the subnet.
526
560
  # @option options [String] :cidr_block
@@ -531,25 +565,31 @@ module Aws::EC2
531
565
  #
532
566
  # This parameter is not supported for an IPv6 only subnet.
533
567
  # @option options [String] :ipv_6_cidr_block
534
- # The IPv6 network range for the subnet, in CIDR notation. The subnet
535
- # size must use a /64 prefix length.
536
- #
537
- # This parameter is required for an IPv6 only subnet.
568
+ # The IPv6 network range for the subnet, in CIDR notation. This
569
+ # parameter is required for an IPv6 only subnet.
538
570
  # @option options [String] :outpost_arn
539
571
  # The Amazon Resource Name (ARN) of the Outpost. If you specify an
540
572
  # Outpost ARN, you must also specify the Availability Zone of the
541
573
  # Outpost subnet.
574
+ # @option options [Boolean] :ipv_6_native
575
+ # Indicates whether to create an IPv6 only subnet.
576
+ # @option options [String] :ipv_4_ipam_pool_id
577
+ # An IPv4 IPAM pool ID for the subnet.
578
+ # @option options [Integer] :ipv_4_netmask_length
579
+ # An IPv4 netmask length for the subnet.
580
+ # @option options [String] :ipv_6_ipam_pool_id
581
+ # An IPv6 IPAM pool ID for the subnet.
582
+ # @option options [Integer] :ipv_6_netmask_length
583
+ # An IPv6 netmask length for the subnet.
542
584
  # @option options [Boolean] :dry_run
543
585
  # Checks whether you have the required permissions for the action,
544
586
  # without actually making the request, and provides an error response.
545
587
  # If you have the required permissions, the error response is
546
588
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
547
- # @option options [Boolean] :ipv_6_native
548
- # Indicates whether to create an IPv6 only subnet.
549
589
  # @return [Subnet]
550
590
  def create_subnet(options = {})
551
591
  options = options.merge(vpc_id: @id)
552
- resp = Aws::Plugins::UserAgent.feature('resource') do
592
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
553
593
  @client.create_subnet(options)
554
594
  end
555
595
  Subnet.new(
@@ -584,7 +624,7 @@ module Aws::EC2
584
624
  def create_tags(options = {})
585
625
  batch = []
586
626
  options = Aws::Util.deep_merge(options, resources: [@id])
587
- resp = Aws::Plugins::UserAgent.feature('resource') do
627
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
588
628
  @client.create_tags(options)
589
629
  end
590
630
  options[:tags].each do |t|
@@ -631,7 +671,7 @@ module Aws::EC2
631
671
  def delete_tags(options = {})
632
672
  batch = []
633
673
  options = Aws::Util.deep_merge(options, resources: [@id])
634
- resp = Aws::Plugins::UserAgent.feature('resource') do
674
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
635
675
  @client.delete_tags(options)
636
676
  end
637
677
  options[:tags].each do |t|
@@ -659,7 +699,7 @@ module Aws::EC2
659
699
  # @return [EmptyStructure]
660
700
  def delete(options = {})
661
701
  options = options.merge(vpc_id: @id)
662
- resp = Aws::Plugins::UserAgent.feature('resource') do
702
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
663
703
  @client.delete_vpc(options)
664
704
  end
665
705
  resp.data
@@ -682,7 +722,7 @@ module Aws::EC2
682
722
  # @return [Types::DescribeVpcAttributeResult]
683
723
  def describe_attribute(options = {})
684
724
  options = options.merge(vpc_id: @id)
685
- resp = Aws::Plugins::UserAgent.feature('resource') do
725
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
686
726
  @client.describe_vpc_attribute(options)
687
727
  end
688
728
  resp.data
@@ -705,7 +745,7 @@ module Aws::EC2
705
745
  # @return [Types::DetachClassicLinkVpcResult]
706
746
  def detach_classic_link_instance(options = {})
707
747
  options = options.merge(vpc_id: @id)
708
- resp = Aws::Plugins::UserAgent.feature('resource') do
748
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
709
749
  @client.detach_classic_link_vpc(options)
710
750
  end
711
751
  resp.data
@@ -728,7 +768,7 @@ module Aws::EC2
728
768
  # @return [EmptyStructure]
729
769
  def detach_internet_gateway(options = {})
730
770
  options = options.merge(vpc_id: @id)
731
- resp = Aws::Plugins::UserAgent.feature('resource') do
771
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
732
772
  @client.detach_internet_gateway(options)
733
773
  end
734
774
  resp.data
@@ -748,7 +788,7 @@ module Aws::EC2
748
788
  # @return [Types::DisableVpcClassicLinkResult]
749
789
  def disable_classic_link(options = {})
750
790
  options = options.merge(vpc_id: @id)
751
- resp = Aws::Plugins::UserAgent.feature('resource') do
791
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
752
792
  @client.disable_vpc_classic_link(options)
753
793
  end
754
794
  resp.data
@@ -768,7 +808,7 @@ module Aws::EC2
768
808
  # @return [Types::EnableVpcClassicLinkResult]
769
809
  def enable_classic_link(options = {})
770
810
  options = options.merge(vpc_id: @id)
771
- resp = Aws::Plugins::UserAgent.feature('resource') do
811
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
772
812
  @client.enable_vpc_classic_link(options)
773
813
  end
774
814
  resp.data
@@ -812,7 +852,7 @@ module Aws::EC2
812
852
  # @return [EmptyStructure]
813
853
  def modify_attribute(options = {})
814
854
  options = options.merge(vpc_id: @id)
815
- resp = Aws::Plugins::UserAgent.feature('resource') do
855
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
816
856
  @client.modify_vpc_attribute(options)
817
857
  end
818
858
  resp.data
@@ -821,13 +861,10 @@ module Aws::EC2
821
861
  # @example Request syntax with placeholder values
822
862
  #
823
863
  # vpcpeeringconnection = vpc.request_vpc_peering_connection({
824
- # dry_run: false,
825
- # peer_owner_id: "String",
826
- # peer_vpc_id: "String",
827
864
  # peer_region: "String",
828
865
  # tag_specifications: [
829
866
  # {
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
867
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, 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, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, 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, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
831
868
  # tags: [
832
869
  # {
833
870
  # key: "String",
@@ -836,31 +873,34 @@ module Aws::EC2
836
873
  # ],
837
874
  # },
838
875
  # ],
876
+ # dry_run: false,
877
+ # peer_vpc_id: "String",
878
+ # peer_owner_id: "String",
839
879
  # })
840
880
  # @param [Hash] options ({})
881
+ # @option options [String] :peer_region
882
+ # The Region code for the accepter VPC, if the accepter VPC is located
883
+ # in a Region other than the Region in which you make the request.
884
+ #
885
+ # Default: The Region in which you make the request.
886
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
887
+ # The tags to assign to the peering connection.
841
888
  # @option options [Boolean] :dry_run
842
889
  # Checks whether you have the required permissions for the action,
843
890
  # without actually making the request, and provides an error response.
844
891
  # If you have the required permissions, the error response is
845
892
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
846
- # @option options [String] :peer_owner_id
847
- # The Amazon Web Services account ID of the owner of the accepter VPC.
848
- #
849
- # Default: Your Amazon Web Services account ID
850
893
  # @option options [String] :peer_vpc_id
851
894
  # The ID of the VPC with which you are creating the VPC peering
852
895
  # connection. You must specify this parameter in the request.
853
- # @option options [String] :peer_region
854
- # The Region code for the accepter VPC, if the accepter VPC is located
855
- # in a Region other than the Region in which you make the request.
896
+ # @option options [String] :peer_owner_id
897
+ # The Amazon Web Services account ID of the owner of the accepter VPC.
856
898
  #
857
- # Default: The Region in which you make the request.
858
- # @option options [Array<Types::TagSpecification>] :tag_specifications
859
- # The tags to assign to the peering connection.
899
+ # Default: Your Amazon Web Services account ID
860
900
  # @return [VpcPeeringConnection]
861
901
  def request_vpc_peering_connection(options = {})
862
902
  options = options.merge(vpc_id: @id)
863
- resp = Aws::Plugins::UserAgent.feature('resource') do
903
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
864
904
  @client.create_vpc_peering_connection(options)
865
905
  end
866
906
  VpcPeeringConnection.new(
@@ -875,16 +915,25 @@ module Aws::EC2
875
915
  # @example Request syntax with placeholder values
876
916
  #
877
917
  # accepted_vpc_peering_connections = vpc.accepted_vpc_peering_connections({
918
+ # dry_run: false,
919
+ # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
878
920
  # filters: [
879
921
  # {
880
922
  # name: "String",
881
923
  # values: ["String"],
882
924
  # },
883
925
  # ],
884
- # dry_run: false,
885
- # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
886
926
  # })
887
927
  # @param [Hash] options ({})
928
+ # @option options [Boolean] :dry_run
929
+ # Checks whether you have the required permissions for the action,
930
+ # without actually making the request, and provides an error response.
931
+ # If you have the required permissions, the error response is
932
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
933
+ # @option options [Array<String>] :vpc_peering_connection_ids
934
+ # The IDs of the VPC peering connections.
935
+ #
936
+ # Default: Describes all your VPC peering connections.
888
937
  # @option options [Array<Types::Filter>] :filters
889
938
  # The filters.
890
939
  #
@@ -914,26 +963,17 @@ module Aws::EC2
914
963
  # * `status-message` - A message that provides more information about
915
964
  # the status of the VPC peering connection, if applicable.
916
965
  #
917
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
918
- # the resource. Use the tag key in the filter name and the tag value
919
- # as the filter value. For example, to find all resources that have a
920
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
921
- # for the filter name and `TeamA` for the filter value.
966
+ # * `tag` - The key/value combination of a tag assigned to the resource.
967
+ # Use the tag key in the filter name and the tag value as the filter
968
+ # value. For example, to find all resources that have a tag with the
969
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
970
+ # filter name and `TeamA` for the filter value.
922
971
  #
923
972
  # * `tag-key` - The key of a tag assigned to the resource. Use this
924
973
  # filter to find all resources assigned a tag with a specific key,
925
974
  # regardless of the tag value.
926
975
  #
927
976
  # * `vpc-peering-connection-id` - The ID of the VPC peering connection.
928
- # @option options [Boolean] :dry_run
929
- # Checks whether you have the required permissions for the action,
930
- # without actually making the request, and provides an error response.
931
- # If you have the required permissions, the error response is
932
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
933
- # @option options [Array<String>] :vpc_peering_connection_ids
934
- # The IDs of the VPC peering connections.
935
- #
936
- # Default: Describes all your VPC peering connections.
937
977
  # @return [VpcPeeringConnection::Collection]
938
978
  def accepted_vpc_peering_connections(options = {})
939
979
  batches = Enumerator.new do |y|
@@ -941,7 +981,7 @@ module Aws::EC2
941
981
  name: "accepter-vpc-info.vpc-id",
942
982
  values: [@id]
943
983
  }])
944
- resp = Aws::Plugins::UserAgent.feature('resource') do
984
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
945
985
  @client.describe_vpc_peering_connections(options)
946
986
  end
947
987
  resp.each_page do |page|
@@ -974,16 +1014,25 @@ module Aws::EC2
974
1014
  # @example Request syntax with placeholder values
975
1015
  #
976
1016
  # instances = vpc.instances({
1017
+ # instance_ids: ["InstanceId"],
1018
+ # dry_run: false,
977
1019
  # filters: [
978
1020
  # {
979
1021
  # name: "String",
980
1022
  # values: ["String"],
981
1023
  # },
982
1024
  # ],
983
- # instance_ids: ["InstanceId"],
984
- # dry_run: false,
985
1025
  # })
986
1026
  # @param [Hash] options ({})
1027
+ # @option options [Array<String>] :instance_ids
1028
+ # The instance IDs.
1029
+ #
1030
+ # Default: Describes all your instances.
1031
+ # @option options [Boolean] :dry_run
1032
+ # Checks whether you have the required permissions for the operation,
1033
+ # without actually making the request, and provides an error response.
1034
+ # If you have the required permissions, the error response is
1035
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
987
1036
  # @option options [Array<Types::Filter>] :filters
988
1037
  # The filters.
989
1038
  #
@@ -995,6 +1044,9 @@ module Aws::EC2
995
1044
  #
996
1045
  # * `availability-zone` - The Availability Zone of the instance.
997
1046
  #
1047
+ # * `availability-zone-id` - The ID of the Availability Zone of the
1048
+ # instance.
1049
+ #
998
1050
  # * `block-device-mapping.attach-time` - The attach time for an EBS
999
1051
  # volume mapped to the instance, for example,
1000
1052
  # `2022-09-15T17:15:20.000Z`.
@@ -1059,15 +1111,13 @@ module Aws::EC2
1059
1111
  # * `iam-instance-profile.id` - The instance profile associated with the
1060
1112
  # instance. Specified as an ID.
1061
1113
  #
1062
- # * `iam-instance-profile.name` - The instance profile associated with
1063
- # the instance. Specified as an name.
1064
- #
1065
1114
  # * `image-id` - The ID of the image used to launch the instance.
1066
1115
  #
1067
1116
  # * `instance-id` - The ID of the instance.
1068
1117
  #
1069
- # * `instance-lifecycle` - Indicates whether this is a Spot Instance or
1070
- # a Scheduled Instance (`spot` \| `scheduled`).
1118
+ # * `instance-lifecycle` - Indicates whether this is a Spot Instance, a
1119
+ # Scheduled Instance, or a Capacity Block (`spot` \| `scheduled` \|
1120
+ # `capacity-block`).
1071
1121
  #
1072
1122
  # * `instance-state-code` - The state of the instance, as a 16-bit
1073
1123
  # unsigned integer. The high byte is used for internal purposes and
@@ -1104,8 +1154,6 @@ module Aws::EC2
1104
1154
  # example, `2021-09-29T11:04:43.305Z`. You can use a wildcard (`*`),
1105
1155
  # for example, `2021-09-29T*`, which matches an entire day.
1106
1156
  #
1107
- # * `license-pool` -
1108
- #
1109
1157
  # * `maintenance-options.auto-recovery` - The current automatic recovery
1110
1158
  # behavior of the instance (`disabled` \| `default`).
1111
1159
  #
@@ -1134,25 +1182,37 @@ module Aws::EC2
1134
1182
  # * `monitoring-state` - Indicates whether detailed monitoring is
1135
1183
  # enabled (`disabled` \| `enabled`).
1136
1184
  #
1137
- # * `network-interface.addresses.primary` - Specifies whether the IPv4
1138
- # address of the network interface is the primary private IPv4
1139
- # address.
1185
+ # * `network-interface.addresses.association.allocation-id` - The
1186
+ # allocation ID.
1140
1187
  #
1141
- # * `network-interface.addresses.private-ip-address` - The private IPv4
1142
- # address associated with the network interface.
1188
+ # * `network-interface.addresses.association.association-id` - The
1189
+ # association ID.
1190
+ #
1191
+ # * `network-interface.addresses.association.carrier-ip` - The carrier
1192
+ # IP address.
1193
+ #
1194
+ # * `network-interface.addresses.association.customer-owned-ip` - The
1195
+ # customer-owned IP address.
1196
+ #
1197
+ # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1198
+ # of the private IPv4 address associated with the network interface.
1199
+ #
1200
+ # * `network-interface.addresses.association.public-dns-name` - The
1201
+ # public DNS name.
1143
1202
  #
1144
1203
  # * `network-interface.addresses.association.public-ip` - The ID of the
1145
1204
  # association of an Elastic IP address (IPv4) with a network
1146
1205
  # interface.
1147
1206
  #
1148
- # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1149
- # of the private IPv4 address associated with the network interface.
1207
+ # * `network-interface.addresses.primary` - Specifies whether the IPv4
1208
+ # address of the network interface is the primary private IPv4
1209
+ # address.
1150
1210
  #
1151
- # * `network-interface.association.public-ip` - The address of the
1152
- # Elastic IP address (IPv4) bound to the network interface.
1211
+ # * `network-interface.addresses.private-dns-name` - The private DNS
1212
+ # name.
1153
1213
  #
1154
- # * `network-interface.association.ip-owner-id` - The owner of the
1155
- # Elastic IP address (IPv4) associated with the network interface.
1214
+ # * `network-interface.addresses.private-ip-address` - The private IPv4
1215
+ # address associated with the network interface.
1156
1216
  #
1157
1217
  # * `network-interface.association.allocation-id` - The allocation ID
1158
1218
  # returned when you allocated the Elastic IP address (IPv4) for your
@@ -1162,30 +1222,52 @@ module Aws::EC2
1162
1222
  # returned when the network interface was associated with an IPv4
1163
1223
  # address.
1164
1224
  #
1225
+ # * `network-interface.association.carrier-ip` - The customer-owned IP
1226
+ # address.
1227
+ #
1228
+ # * `network-interface.association.customer-owned-ip` - The
1229
+ # customer-owned IP address.
1230
+ #
1231
+ # * `network-interface.association.ip-owner-id` - The owner of the
1232
+ # Elastic IP address (IPv4) associated with the network interface.
1233
+ #
1234
+ # * `network-interface.association.public-dns-name` - The public DNS
1235
+ # name.
1236
+ #
1237
+ # * `network-interface.association.public-ip` - The address of the
1238
+ # Elastic IP address (IPv4) bound to the network interface.
1239
+ #
1240
+ # * `network-interface.attachment.attach-time` - The time that the
1241
+ # network interface was attached to an instance.
1242
+ #
1165
1243
  # * `network-interface.attachment.attachment-id` - The ID of the
1166
1244
  # interface attachment.
1167
1245
  #
1246
+ # * `network-interface.attachment.delete-on-termination` - Specifies
1247
+ # whether the attachment is deleted when an instance is terminated.
1248
+ #
1249
+ # * `network-interface.attachment.device-index` - The device index to
1250
+ # which the network interface is attached.
1251
+ #
1168
1252
  # * `network-interface.attachment.instance-id` - The ID of the instance
1169
1253
  # to which the network interface is attached.
1170
1254
  #
1171
1255
  # * `network-interface.attachment.instance-owner-id` - The owner ID of
1172
1256
  # the instance to which the network interface is attached.
1173
1257
  #
1174
- # * `network-interface.attachment.device-index` - The device index to
1175
- # which the network interface is attached.
1258
+ # * `network-interface.attachment.network-card-index` - The index of the
1259
+ # network card.
1176
1260
  #
1177
1261
  # * `network-interface.attachment.status` - The status of the attachment
1178
1262
  # (`attaching` \| `attached` \| `detaching` \| `detached`).
1179
1263
  #
1180
- # * `network-interface.attachment.attach-time` - The time that the
1181
- # network interface was attached to an instance.
1182
- #
1183
- # * `network-interface.attachment.delete-on-termination` - Specifies
1184
- # whether the attachment is deleted when an instance is terminated.
1185
- #
1186
1264
  # * `network-interface.availability-zone` - The Availability Zone for
1187
1265
  # the network interface.
1188
1266
  #
1267
+ # * `network-interface.deny-all-igw-traffic` - A Boolean that indicates
1268
+ # whether a network interface with an IPv6 address is unreachable from
1269
+ # the public internet.
1270
+ #
1189
1271
  # * `network-interface.description` - The description of the network
1190
1272
  # interface.
1191
1273
  #
@@ -1195,21 +1277,49 @@ module Aws::EC2
1195
1277
  # * `network-interface.group-name` - The name of a security group
1196
1278
  # associated with the network interface.
1197
1279
  #
1280
+ # * `network-interface.ipv4-prefixes.ipv4-prefix` - The IPv4 prefixes
1281
+ # that are assigned to the network interface.
1282
+ #
1283
+ # * `network-interface.ipv6-address` - The IPv6 address associated with
1284
+ # the network interface.
1285
+ #
1198
1286
  # * `network-interface.ipv6-addresses.ipv6-address` - The IPv6 address
1199
1287
  # associated with the network interface.
1200
1288
  #
1289
+ # * `network-interface.ipv6-addresses.is-primary-ipv6` - A Boolean that
1290
+ # indicates whether this is the primary IPv6 address.
1291
+ #
1292
+ # * `network-interface.ipv6-native` - A Boolean that indicates whether
1293
+ # this is an IPv6 only network interface.
1294
+ #
1295
+ # * `network-interface.ipv6-prefixes.ipv6-prefix` - The IPv6 prefix
1296
+ # assigned to the network interface.
1297
+ #
1201
1298
  # * `network-interface.mac-address` - The MAC address of the network
1202
1299
  # interface.
1203
1300
  #
1204
1301
  # * `network-interface.network-interface-id` - The ID of the network
1205
1302
  # interface.
1206
1303
  #
1304
+ # * `network-interface.operator.managed` - A Boolean that indicates
1305
+ # whether the instance has a managed network interface.
1306
+ #
1307
+ # * `network-interface.operator.principal` - The principal that manages
1308
+ # the network interface. Only valid for instances with managed network
1309
+ # interfaces, where `managed` is `true`.
1310
+ #
1311
+ # * `network-interface.outpost-arn` - The ARN of the Outpost.
1312
+ #
1207
1313
  # * `network-interface.owner-id` - The ID of the owner of the network
1208
1314
  # interface.
1209
1315
  #
1210
1316
  # * `network-interface.private-dns-name` - The private DNS name of the
1211
1317
  # network interface.
1212
1318
  #
1319
+ # * `network-interface.private-ip-address` - The private IPv4 address.
1320
+ #
1321
+ # * `network-interface.public-dns-name` - The public DNS name.
1322
+ #
1213
1323
  # * `network-interface.requester-id` - The requester ID for the network
1214
1324
  # interface.
1215
1325
  #
@@ -1228,9 +1338,25 @@ module Aws::EC2
1228
1338
  # * `network-interface.subnet-id` - The ID of the subnet for the network
1229
1339
  # interface.
1230
1340
  #
1341
+ # * `network-interface.tag-key` - The key of a tag assigned to the
1342
+ # network interface.
1343
+ #
1344
+ # * `network-interface.tag-value` - The value of a tag assigned to the
1345
+ # network interface.
1346
+ #
1231
1347
  # * `network-interface.vpc-id` - The ID of the VPC for the network
1232
1348
  # interface.
1233
1349
  #
1350
+ # * `network-performance-options.bandwidth-weighting` - Where the
1351
+ # performance boost is applied, if applicable. Valid values:
1352
+ # `default`, `vpc-1`, `ebs-1`.
1353
+ #
1354
+ # * `operator.managed` - A Boolean that indicates whether this is a
1355
+ # managed instance.
1356
+ #
1357
+ # * `operator.principal` - The principal that manages the instance. Only
1358
+ # valid for managed instances, where `managed` is `true`.
1359
+ #
1234
1360
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
1235
1361
  #
1236
1362
  # * `owner-id` - The Amazon Web Services account ID of the instance
@@ -1271,6 +1397,10 @@ module Aws::EC2
1271
1397
  # (`ip-name` \| `resource-name`).
1272
1398
  #
1273
1399
  # * `private-ip-address` - The private IPv4 address of the instance.
1400
+ # This can only be used to filter by the primary IP address of the
1401
+ # network interface attached to the instance. To filter by additional
1402
+ # IP addresses assigned to the network interface, use the filter
1403
+ # `network-interface.addresses.private-ip-address`.
1274
1404
  #
1275
1405
  # * `product-code` - The product code associated with the AMI used to
1276
1406
  # launch the instance.
@@ -1349,15 +1479,6 @@ module Aws::EC2
1349
1479
  # (`paravirtual` \| `hvm`).
1350
1480
  #
1351
1481
  # * `vpc-id` - The ID of the VPC that the instance is running in.
1352
- # @option options [Array<String>] :instance_ids
1353
- # The instance IDs.
1354
- #
1355
- # Default: Describes all your instances.
1356
- # @option options [Boolean] :dry_run
1357
- # Checks whether you have the required permissions for the action,
1358
- # without actually making the request, and provides an error response.
1359
- # If you have the required permissions, the error response is
1360
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1361
1482
  # @return [Instance::Collection]
1362
1483
  def instances(options = {})
1363
1484
  batches = Enumerator.new do |y|
@@ -1365,7 +1486,7 @@ module Aws::EC2
1365
1486
  name: "vpc-id",
1366
1487
  values: [@id]
1367
1488
  }])
1368
- resp = Aws::Plugins::UserAgent.feature('resource') do
1489
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1369
1490
  @client.describe_instances(options)
1370
1491
  end
1371
1492
  resp.each_page do |page|
@@ -1388,16 +1509,25 @@ module Aws::EC2
1388
1509
  # @example Request syntax with placeholder values
1389
1510
  #
1390
1511
  # internet_gateways = vpc.internet_gateways({
1512
+ # dry_run: false,
1513
+ # internet_gateway_ids: ["InternetGatewayId"],
1391
1514
  # filters: [
1392
1515
  # {
1393
1516
  # name: "String",
1394
1517
  # values: ["String"],
1395
1518
  # },
1396
1519
  # ],
1397
- # dry_run: false,
1398
- # internet_gateway_ids: ["InternetGatewayId"],
1399
1520
  # })
1400
1521
  # @param [Hash] options ({})
1522
+ # @option options [Boolean] :dry_run
1523
+ # Checks whether you have the required permissions for the action,
1524
+ # without actually making the request, and provides an error response.
1525
+ # If you have the required permissions, the error response is
1526
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1527
+ # @option options [Array<String>] :internet_gateway_ids
1528
+ # The IDs of the internet gateways.
1529
+ #
1530
+ # Default: Describes all your internet gateways.
1401
1531
  # @option options [Array<Types::Filter>] :filters
1402
1532
  # The filters.
1403
1533
  #
@@ -1412,24 +1542,15 @@ module Aws::EC2
1412
1542
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
1413
1543
  # internet gateway.
1414
1544
  #
1415
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1416
- # the resource. Use the tag key in the filter name and the tag value
1417
- # as the filter value. For example, to find all resources that have a
1418
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
1419
- # for the filter name and `TeamA` for the filter value.
1545
+ # * `tag` - The key/value combination of a tag assigned to the resource.
1546
+ # Use the tag key in the filter name and the tag value as the filter
1547
+ # value. For example, to find all resources that have a tag with the
1548
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
1549
+ # filter name and `TeamA` for the filter value.
1420
1550
  #
1421
1551
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1422
1552
  # filter to find all resources assigned a tag with a specific key,
1423
1553
  # regardless of the tag value.
1424
- # @option options [Boolean] :dry_run
1425
- # Checks whether you have the required permissions for the action,
1426
- # without actually making the request, and provides an error response.
1427
- # If you have the required permissions, the error response is
1428
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1429
- # @option options [Array<String>] :internet_gateway_ids
1430
- # The IDs of the internet gateways.
1431
- #
1432
- # Default: Describes all your internet gateways.
1433
1554
  # @return [InternetGateway::Collection]
1434
1555
  def internet_gateways(options = {})
1435
1556
  batches = Enumerator.new do |y|
@@ -1437,7 +1558,7 @@ module Aws::EC2
1437
1558
  name: "attachment.vpc-id",
1438
1559
  values: [@id]
1439
1560
  }])
1440
- resp = Aws::Plugins::UserAgent.feature('resource') do
1561
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1441
1562
  @client.describe_internet_gateways(options)
1442
1563
  end
1443
1564
  resp.each_page do |page|
@@ -1458,16 +1579,23 @@ module Aws::EC2
1458
1579
  # @example Request syntax with placeholder values
1459
1580
  #
1460
1581
  # network_acls = vpc.network_acls({
1582
+ # dry_run: false,
1583
+ # network_acl_ids: ["NetworkAclId"],
1461
1584
  # filters: [
1462
1585
  # {
1463
1586
  # name: "String",
1464
1587
  # values: ["String"],
1465
1588
  # },
1466
1589
  # ],
1467
- # dry_run: false,
1468
- # network_acl_ids: ["NetworkAclId"],
1469
1590
  # })
1470
1591
  # @param [Hash] options ({})
1592
+ # @option options [Boolean] :dry_run
1593
+ # Checks whether you have the required permissions for the action,
1594
+ # without actually making the request, and provides an error response.
1595
+ # If you have the required permissions, the error response is
1596
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1597
+ # @option options [Array<String>] :network_acl_ids
1598
+ # The IDs of the network ACLs.
1471
1599
  # @option options [Array<Types::Filter>] :filters
1472
1600
  # The filters.
1473
1601
  #
@@ -1514,26 +1642,17 @@ module Aws::EC2
1514
1642
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
1515
1643
  # network ACL.
1516
1644
  #
1517
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1518
- # the resource. Use the tag key in the filter name and the tag value
1519
- # as the filter value. For example, to find all resources that have a
1520
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
1521
- # for the filter name and `TeamA` for the filter value.
1645
+ # * `tag` - The key/value combination of a tag assigned to the resource.
1646
+ # Use the tag key in the filter name and the tag value as the filter
1647
+ # value. For example, to find all resources that have a tag with the
1648
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
1649
+ # filter name and `TeamA` for the filter value.
1522
1650
  #
1523
1651
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1524
1652
  # filter to find all resources assigned a tag with a specific key,
1525
1653
  # regardless of the tag value.
1526
1654
  #
1527
1655
  # * `vpc-id` - The ID of the VPC for the network ACL.
1528
- # @option options [Boolean] :dry_run
1529
- # Checks whether you have the required permissions for the action,
1530
- # without actually making the request, and provides an error response.
1531
- # If you have the required permissions, the error response is
1532
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1533
- # @option options [Array<String>] :network_acl_ids
1534
- # The IDs of the network ACLs.
1535
- #
1536
- # Default: Describes all your network ACLs.
1537
1656
  # @return [NetworkAcl::Collection]
1538
1657
  def network_acls(options = {})
1539
1658
  batches = Enumerator.new do |y|
@@ -1541,7 +1660,7 @@ module Aws::EC2
1541
1660
  name: "vpc-id",
1542
1661
  values: [@id]
1543
1662
  }])
1544
- resp = Aws::Plugins::UserAgent.feature('resource') do
1663
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1545
1664
  @client.describe_network_acls(options)
1546
1665
  end
1547
1666
  resp.each_page do |page|
@@ -1562,37 +1681,46 @@ module Aws::EC2
1562
1681
  # @example Request syntax with placeholder values
1563
1682
  #
1564
1683
  # network_interfaces = vpc.network_interfaces({
1684
+ # dry_run: false,
1685
+ # network_interface_ids: ["NetworkInterfaceId"],
1565
1686
  # filters: [
1566
1687
  # {
1567
1688
  # name: "String",
1568
1689
  # values: ["String"],
1569
1690
  # },
1570
1691
  # ],
1571
- # dry_run: false,
1572
- # network_interface_ids: ["NetworkInterfaceId"],
1573
1692
  # })
1574
1693
  # @param [Hash] options ({})
1694
+ # @option options [Boolean] :dry_run
1695
+ # Checks whether you have the required permissions for the action,
1696
+ # without actually making the request, and provides an error response.
1697
+ # If you have the required permissions, the error response is
1698
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1699
+ # @option options [Array<String>] :network_interface_ids
1700
+ # The network interface IDs.
1701
+ #
1702
+ # Default: Describes all your network interfaces.
1575
1703
  # @option options [Array<Types::Filter>] :filters
1576
1704
  # One or more filters.
1577
1705
  #
1578
- # * `addresses.private-ip-address` - The private IPv4 addresses
1579
- # associated with the network interface.
1706
+ # * `association.allocation-id` - The allocation ID returned when you
1707
+ # allocated the Elastic IP address (IPv4) for your network interface.
1580
1708
  #
1581
- # * `addresses.primary` - Whether the private IPv4 address is the
1582
- # primary IP address associated with the network interface.
1709
+ # * `association.association-id` - The association ID returned when the
1710
+ # network interface was associated with an IPv4 address.
1711
+ #
1712
+ # * `addresses.association.owner-id` - The owner ID of the addresses
1713
+ # associated with the network interface.
1583
1714
  #
1584
1715
  # * `addresses.association.public-ip` - The association ID returned when
1585
1716
  # the network interface was associated with the Elastic IP address
1586
1717
  # (IPv4).
1587
1718
  #
1588
- # * `addresses.association.owner-id` - The owner ID of the addresses
1589
- # associated with the network interface.
1590
- #
1591
- # * `association.association-id` - The association ID returned when the
1592
- # network interface was associated with an IPv4 address.
1719
+ # * `addresses.primary` - Whether the private IPv4 address is the
1720
+ # primary IP address associated with the network interface.
1593
1721
  #
1594
- # * `association.allocation-id` - The allocation ID returned when you
1595
- # allocated the Elastic IP address (IPv4) for your network interface.
1722
+ # * `addresses.private-ip-address` - The private IPv4 addresses
1723
+ # associated with the network interface.
1596
1724
  #
1597
1725
  # * `association.ip-owner-id` - The owner of the Elastic IP address
1598
1726
  # (IPv4) associated with the network interface.
@@ -1603,11 +1731,11 @@ module Aws::EC2
1603
1731
  # * `association.public-dns-name` - The public DNS name for the network
1604
1732
  # interface (IPv4).
1605
1733
  #
1606
- # * `attachment.attachment-id` - The ID of the interface attachment.
1607
- #
1608
1734
  # * `attachment.attach-time` - The time that the network interface was
1609
1735
  # attached to an instance.
1610
1736
  #
1737
+ # * `attachment.attachment-id` - The ID of the interface attachment.
1738
+ #
1611
1739
  # * `attachment.delete-on-termination` - Indicates whether the
1612
1740
  # attachment is deleted when an instance is terminated.
1613
1741
  #
@@ -1631,15 +1759,13 @@ module Aws::EC2
1631
1759
  # * `group-id` - The ID of a security group associated with the network
1632
1760
  # interface.
1633
1761
  #
1634
- # * `group-name` - The name of a security group associated with the
1635
- # network interface.
1636
- #
1637
1762
  # * `ipv6-addresses.ipv6-address` - An IPv6 address associated with the
1638
1763
  # network interface.
1639
1764
  #
1640
1765
  # * `interface-type` - The type of network interface
1641
1766
  # (`api_gateway_managed` \| `aws_codestar_connections_managed` \|
1642
- # `branch` \| `efa` \| `gateway_load_balancer` \|
1767
+ # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efa-only`
1768
+ # \| `efs` \| `evs` \| `gateway_load_balancer` \|
1643
1769
  # `gateway_load_balancer_endpoint` \| `global_accelerator_managed` \|
1644
1770
  # `interface` \| `iot_rules_managed` \| `lambda` \| `load_balancer` \|
1645
1771
  # `nat_gateway` \| `network_load_balancer` \| `quicksight` \|
@@ -1649,21 +1775,28 @@ module Aws::EC2
1649
1775
  #
1650
1776
  # * `network-interface-id` - The ID of the network interface.
1651
1777
  #
1778
+ # * `operator.managed` - A Boolean that indicates whether this is a
1779
+ # managed network interface.
1780
+ #
1781
+ # * `operator.principal` - The principal that manages the network
1782
+ # interface. Only valid for managed network interfaces, where
1783
+ # `managed` is `true`.
1784
+ #
1652
1785
  # * `owner-id` - The Amazon Web Services account ID of the network
1653
1786
  # interface owner.
1654
1787
  #
1655
- # * `private-ip-address` - The private IPv4 address or addresses of the
1656
- # network interface.
1657
- #
1658
1788
  # * `private-dns-name` - The private DNS name of the network interface
1659
1789
  # (IPv4).
1660
1790
  #
1791
+ # * `private-ip-address` - The private IPv4 address or addresses of the
1792
+ # network interface.
1793
+ #
1661
1794
  # * `requester-id` - The alias or Amazon Web Services account ID of the
1662
1795
  # principal or service that created the network interface.
1663
1796
  #
1664
1797
  # * `requester-managed` - Indicates whether the network interface is
1665
- # being managed by an Amazon Web Service (for example, Amazon Web
1666
- # Services Management Console, Auto Scaling, and so on).
1798
+ # being managed by an Amazon Web Services service (for example, Amazon
1799
+ # Web Services Management Console, Auto Scaling, and so on).
1667
1800
  #
1668
1801
  # * `source-dest-check` - Indicates whether the network interface
1669
1802
  # performs source/destination checking. A value of `true` means
@@ -1689,15 +1822,6 @@ module Aws::EC2
1689
1822
  # regardless of the tag value.
1690
1823
  #
1691
1824
  # * `vpc-id` - The ID of the VPC for the network interface.
1692
- # @option options [Boolean] :dry_run
1693
- # Checks whether you have the required permissions for the action,
1694
- # without actually making the request, and provides an error response.
1695
- # If you have the required permissions, the error response is
1696
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1697
- # @option options [Array<String>] :network_interface_ids
1698
- # The network interface IDs.
1699
- #
1700
- # Default: Describes all your network interfaces.
1701
1825
  # @return [NetworkInterface::Collection]
1702
1826
  def network_interfaces(options = {})
1703
1827
  batches = Enumerator.new do |y|
@@ -1705,7 +1829,7 @@ module Aws::EC2
1705
1829
  name: "vpc-id",
1706
1830
  values: [@id]
1707
1831
  }])
1708
- resp = Aws::Plugins::UserAgent.feature('resource') do
1832
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1709
1833
  @client.describe_network_interfaces(options)
1710
1834
  end
1711
1835
  resp.each_page do |page|
@@ -1726,16 +1850,25 @@ module Aws::EC2
1726
1850
  # @example Request syntax with placeholder values
1727
1851
  #
1728
1852
  # requested_vpc_peering_connections = vpc.requested_vpc_peering_connections({
1853
+ # dry_run: false,
1854
+ # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
1729
1855
  # filters: [
1730
1856
  # {
1731
1857
  # name: "String",
1732
1858
  # values: ["String"],
1733
1859
  # },
1734
1860
  # ],
1735
- # dry_run: false,
1736
- # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
1737
1861
  # })
1738
1862
  # @param [Hash] options ({})
1863
+ # @option options [Boolean] :dry_run
1864
+ # Checks whether you have the required permissions for the action,
1865
+ # without actually making the request, and provides an error response.
1866
+ # If you have the required permissions, the error response is
1867
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1868
+ # @option options [Array<String>] :vpc_peering_connection_ids
1869
+ # The IDs of the VPC peering connections.
1870
+ #
1871
+ # Default: Describes all your VPC peering connections.
1739
1872
  # @option options [Array<Types::Filter>] :filters
1740
1873
  # The filters.
1741
1874
  #
@@ -1765,26 +1898,17 @@ module Aws::EC2
1765
1898
  # * `status-message` - A message that provides more information about
1766
1899
  # the status of the VPC peering connection, if applicable.
1767
1900
  #
1768
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1769
- # the resource. Use the tag key in the filter name and the tag value
1770
- # as the filter value. For example, to find all resources that have a
1771
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
1772
- # for the filter name and `TeamA` for the filter value.
1901
+ # * `tag` - The key/value combination of a tag assigned to the resource.
1902
+ # Use the tag key in the filter name and the tag value as the filter
1903
+ # value. For example, to find all resources that have a tag with the
1904
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
1905
+ # filter name and `TeamA` for the filter value.
1773
1906
  #
1774
1907
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1775
1908
  # filter to find all resources assigned a tag with a specific key,
1776
1909
  # regardless of the tag value.
1777
1910
  #
1778
1911
  # * `vpc-peering-connection-id` - The ID of the VPC peering connection.
1779
- # @option options [Boolean] :dry_run
1780
- # Checks whether you have the required permissions for the action,
1781
- # without actually making the request, and provides an error response.
1782
- # If you have the required permissions, the error response is
1783
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1784
- # @option options [Array<String>] :vpc_peering_connection_ids
1785
- # The IDs of the VPC peering connections.
1786
- #
1787
- # Default: Describes all your VPC peering connections.
1788
1912
  # @return [VpcPeeringConnection::Collection]
1789
1913
  def requested_vpc_peering_connections(options = {})
1790
1914
  batches = Enumerator.new do |y|
@@ -1792,7 +1916,7 @@ module Aws::EC2
1792
1916
  name: "requester-vpc-info.vpc-id",
1793
1917
  values: [@id]
1794
1918
  }])
1795
- resp = Aws::Plugins::UserAgent.feature('resource') do
1919
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1796
1920
  @client.describe_vpc_peering_connections(options)
1797
1921
  end
1798
1922
  resp.each_page do |page|
@@ -1813,19 +1937,29 @@ module Aws::EC2
1813
1937
  # @example Request syntax with placeholder values
1814
1938
  #
1815
1939
  # route_tables = vpc.route_tables({
1940
+ # dry_run: false,
1941
+ # route_table_ids: ["RouteTableId"],
1816
1942
  # filters: [
1817
1943
  # {
1818
1944
  # name: "String",
1819
1945
  # values: ["String"],
1820
1946
  # },
1821
1947
  # ],
1822
- # dry_run: false,
1823
- # route_table_ids: ["RouteTableId"],
1824
1948
  # })
1825
1949
  # @param [Hash] options ({})
1950
+ # @option options [Boolean] :dry_run
1951
+ # Checks whether you have the required permissions for the action,
1952
+ # without actually making the request, and provides an error response.
1953
+ # If you have the required permissions, the error response is
1954
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1955
+ # @option options [Array<String>] :route_table_ids
1956
+ # The IDs of the route tables.
1826
1957
  # @option options [Array<Types::Filter>] :filters
1827
1958
  # The filters.
1828
1959
  #
1960
+ # * `association.gateway-id` - The ID of the gateway involved in the
1961
+ # association.
1962
+ #
1829
1963
  # * `association.route-table-association-id` - The ID of an association
1830
1964
  # ID for the route table.
1831
1965
  #
@@ -1851,7 +1985,7 @@ module Aws::EC2
1851
1985
  # in a route in the route table.
1852
1986
  #
1853
1987
  # * `route.destination-prefix-list-id` - The ID (prefix) of the Amazon
1854
- # Web Service specified in a route in the table.
1988
+ # Web Services service specified in a route in the table.
1855
1989
  #
1856
1990
  # * `route.egress-only-internet-gateway-id` - The ID of an egress-only
1857
1991
  # Internet gateway specified in a route in the route table.
@@ -1882,26 +2016,17 @@ module Aws::EC2
1882
2016
  # * `route.vpc-peering-connection-id` - The ID of a VPC peering
1883
2017
  # connection specified in a route in the table.
1884
2018
  #
1885
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1886
- # the resource. Use the tag key in the filter name and the tag value
1887
- # as the filter value. For example, to find all resources that have a
1888
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
1889
- # for the filter name and `TeamA` for the filter value.
2019
+ # * `tag` - The key/value combination of a tag assigned to the resource.
2020
+ # Use the tag key in the filter name and the tag value as the filter
2021
+ # value. For example, to find all resources that have a tag with the
2022
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
2023
+ # filter name and `TeamA` for the filter value.
1890
2024
  #
1891
2025
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1892
2026
  # filter to find all resources assigned a tag with a specific key,
1893
2027
  # regardless of the tag value.
1894
2028
  #
1895
2029
  # * `vpc-id` - The ID of the VPC for the route table.
1896
- # @option options [Boolean] :dry_run
1897
- # Checks whether you have the required permissions for the action,
1898
- # without actually making the request, and provides an error response.
1899
- # If you have the required permissions, the error response is
1900
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1901
- # @option options [Array<String>] :route_table_ids
1902
- # The IDs of the route tables.
1903
- #
1904
- # Default: Describes all your route tables.
1905
2030
  # @return [RouteTable::Collection]
1906
2031
  def route_tables(options = {})
1907
2032
  batches = Enumerator.new do |y|
@@ -1909,7 +2034,7 @@ module Aws::EC2
1909
2034
  name: "vpc-id",
1910
2035
  values: [@id]
1911
2036
  }])
1912
- resp = Aws::Plugins::UserAgent.feature('resource') do
2037
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1913
2038
  @client.describe_route_tables(options)
1914
2039
  end
1915
2040
  resp.each_page do |page|
@@ -1930,17 +2055,32 @@ module Aws::EC2
1930
2055
  # @example Request syntax with placeholder values
1931
2056
  #
1932
2057
  # security_groups = vpc.security_groups({
2058
+ # group_ids: ["SecurityGroupId"],
2059
+ # group_names: ["SecurityGroupName"],
2060
+ # dry_run: false,
1933
2061
  # filters: [
1934
2062
  # {
1935
2063
  # name: "String",
1936
2064
  # values: ["String"],
1937
2065
  # },
1938
2066
  # ],
1939
- # group_ids: ["SecurityGroupId"],
1940
- # group_names: ["SecurityGroupName"],
1941
- # dry_run: false,
1942
2067
  # })
1943
2068
  # @param [Hash] options ({})
2069
+ # @option options [Array<String>] :group_ids
2070
+ # The IDs of the security groups. Required for security groups in a
2071
+ # nondefault VPC.
2072
+ #
2073
+ # Default: Describes all of your security groups.
2074
+ # @option options [Array<String>] :group_names
2075
+ # \[Default VPC\] The names of the security groups. You can specify
2076
+ # either the security group name or the security group ID.
2077
+ #
2078
+ # Default: Describes all of your security groups.
2079
+ # @option options [Boolean] :dry_run
2080
+ # Checks whether you have the required permissions for the action,
2081
+ # without actually making the request, and provides an error response.
2082
+ # If you have the required permissions, the error response is
2083
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1944
2084
  # @option options [Array<Types::Filter>] :filters
1945
2085
  # The filters. If using multiple filters for rules, the results include
1946
2086
  # security groups for which any combination of rules - not necessarily a
@@ -2023,21 +2163,6 @@ module Aws::EC2
2023
2163
  #
2024
2164
  # * `vpc-id` - The ID of the VPC specified when the security group was
2025
2165
  # created.
2026
- # @option options [Array<String>] :group_ids
2027
- # The IDs of the security groups. Required for security groups in a
2028
- # nondefault VPC.
2029
- #
2030
- # Default: Describes all of your security groups.
2031
- # @option options [Array<String>] :group_names
2032
- # \[Default VPC\] The names of the security groups. You can specify
2033
- # either the security group name or the security group ID.
2034
- #
2035
- # Default: Describes all of your security groups.
2036
- # @option options [Boolean] :dry_run
2037
- # Checks whether you have the required permissions for the action,
2038
- # without actually making the request, and provides an error response.
2039
- # If you have the required permissions, the error response is
2040
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2041
2166
  # @return [SecurityGroup::Collection]
2042
2167
  def security_groups(options = {})
2043
2168
  batches = Enumerator.new do |y|
@@ -2045,7 +2170,7 @@ module Aws::EC2
2045
2170
  name: "vpc-id",
2046
2171
  values: [@id]
2047
2172
  }])
2048
- resp = Aws::Plugins::UserAgent.feature('resource') do
2173
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2049
2174
  @client.describe_security_groups(options)
2050
2175
  end
2051
2176
  resp.each_page do |page|
@@ -2154,11 +2279,11 @@ module Aws::EC2
2154
2279
  #
2155
2280
  # * `subnet-id` - The ID of the subnet.
2156
2281
  #
2157
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
2158
- # the resource. Use the tag key in the filter name and the tag value
2159
- # as the filter value. For example, to find all resources that have a
2160
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
2161
- # for the filter name and `TeamA` for the filter value.
2282
+ # * `tag` - The key/value combination of a tag assigned to the resource.
2283
+ # Use the tag key in the filter name and the tag value as the filter
2284
+ # value. For example, to find all resources that have a tag with the
2285
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
2286
+ # filter name and `TeamA` for the filter value.
2162
2287
  #
2163
2288
  # * `tag-key` - The key of a tag assigned to the resource. Use this
2164
2289
  # filter to find all resources assigned a tag with a specific key,
@@ -2181,7 +2306,7 @@ module Aws::EC2
2181
2306
  name: "vpc-id",
2182
2307
  values: [@id]
2183
2308
  }])
2184
- resp = Aws::Plugins::UserAgent.feature('resource') do
2309
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2185
2310
  @client.describe_subnets(options)
2186
2311
  end
2187
2312
  resp.each_page do |page|