aws-sdk-ec2 1.431.0 → 1.522.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +465 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +26 -16
  5. data/lib/aws-sdk-ec2/client.rb +10867 -4155
  6. data/lib/aws-sdk-ec2/client_api.rb +2924 -510
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +14 -18
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8608
  15. data/lib/aws-sdk-ec2/image.rb +166 -95
  16. data/lib/aws-sdk-ec2/instance.rb +425 -356
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +94 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +37 -19
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +20 -1242
  26. data/lib/aws-sdk-ec2/resource.rb +944 -811
  27. data/lib/aws-sdk-ec2/route.rb +34 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +44 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +391 -359
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +13807 -4774
  35. data/lib/aws-sdk-ec2/volume.rb +157 -119
  36. data/lib/aws-sdk-ec2/vpc.rb +278 -224
  37. data/lib/aws-sdk-ec2/vpc_address.rb +31 -21
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2.rb +40 -36
  40. data/sig/classic_address.rbs +105 -0
  41. data/sig/client.rbs +14622 -0
  42. data/sig/dhcp_options.rbs +84 -0
  43. data/sig/errors.rbs +16 -0
  44. data/sig/image.rbs +228 -0
  45. data/sig/instance.rbs +564 -0
  46. data/sig/internet_gateway.rbs +91 -0
  47. data/sig/key_pair.rbs +54 -0
  48. data/sig/key_pair_info.rbs +63 -0
  49. data/sig/nat_gateway.rbs +107 -0
  50. data/sig/network_acl.rbs +144 -0
  51. data/sig/network_interface.rbs +239 -0
  52. data/sig/network_interface_association.rbs +62 -0
  53. data/sig/placement_group.rbs +78 -0
  54. data/sig/resource.rbs +1042 -0
  55. data/sig/route.rbs +113 -0
  56. data/sig/route_table.rbs +117 -0
  57. data/sig/route_table_association.rbs +69 -0
  58. data/sig/security_group.rbs +311 -0
  59. data/sig/snapshot.rbs +204 -0
  60. data/sig/subnet.rbs +436 -0
  61. data/sig/tag.rbs +63 -0
  62. data/sig/types.rbs +16812 -0
  63. data/sig/volume.rbs +210 -0
  64. data/sig/vpc.rbs +404 -0
  65. data/sig/vpc_address.rbs +101 -0
  66. data/sig/vpc_peering_connection.rbs +84 -0
  67. data/sig/waiters.rbs +664 -0
  68. metadata +44 -18
@@ -46,7 +46,7 @@ module Aws::EC2
46
46
  # ],
47
47
  # tag_specifications: [
48
48
  # {
49
- # 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
49
+ # 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
50
50
  # tags: [
51
51
  # {
52
52
  # key: "String",
@@ -69,7 +69,7 @@ module Aws::EC2
69
69
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
70
70
  # @return [DhcpOptions]
71
71
  def create_dhcp_options(options = {})
72
- resp = Aws::Plugins::UserAgent.feature('resource') do
72
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
73
73
  @client.create_dhcp_options(options)
74
74
  end
75
75
  DhcpOptions.new(
@@ -84,8 +84,6 @@ module Aws::EC2
84
84
  # instance = ec2.create_instances({
85
85
  # block_device_mappings: [
86
86
  # {
87
- # device_name: "String",
88
- # virtual_name: "String",
89
87
  # ebs: {
90
88
  # delete_on_termination: false,
91
89
  # iops: 1,
@@ -96,12 +94,15 @@ module Aws::EC2
96
94
  # throughput: 1,
97
95
  # outpost_arn: "String",
98
96
  # encrypted: false,
97
+ # volume_initialization_rate: 1,
99
98
  # },
100
99
  # no_device: "String",
100
+ # device_name: "String",
101
+ # virtual_name: "String",
101
102
  # },
102
103
  # ],
103
104
  # image_id: "ImageId",
104
- # instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl
105
+ # instance_type: "a1.medium", # accepts a1.medium, a1.large, a1.xlarge, a1.2xlarge, a1.4xlarge, a1.metal, c1.medium, c1.xlarge, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5.metal, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, c5ad.large, c5ad.xlarge, c5ad.2xlarge, c5ad.4xlarge, c5ad.8xlarge, c5ad.12xlarge, c5ad.16xlarge, c5ad.24xlarge, c5d.large, c5d.xlarge, c5d.2xlarge, c5d.4xlarge, c5d.9xlarge, c5d.12xlarge, c5d.18xlarge, c5d.24xlarge, c5d.metal, c5n.large, c5n.xlarge, c5n.2xlarge, c5n.4xlarge, c5n.9xlarge, c5n.18xlarge, c5n.metal, c6g.medium, c6g.large, c6g.xlarge, c6g.2xlarge, c6g.4xlarge, c6g.8xlarge, c6g.12xlarge, c6g.16xlarge, c6g.metal, c6gd.medium, c6gd.large, c6gd.xlarge, c6gd.2xlarge, c6gd.4xlarge, c6gd.8xlarge, c6gd.12xlarge, c6gd.16xlarge, c6gd.metal, c6gn.medium, c6gn.large, c6gn.xlarge, c6gn.2xlarge, c6gn.4xlarge, c6gn.8xlarge, c6gn.12xlarge, c6gn.16xlarge, c6i.large, c6i.xlarge, c6i.2xlarge, c6i.4xlarge, c6i.8xlarge, c6i.12xlarge, c6i.16xlarge, c6i.24xlarge, c6i.32xlarge, c6i.metal, cc1.4xlarge, cc2.8xlarge, cg1.4xlarge, cr1.8xlarge, d2.xlarge, d2.2xlarge, d2.4xlarge, d2.8xlarge, d3.xlarge, d3.2xlarge, d3.4xlarge, d3.8xlarge, d3en.xlarge, d3en.2xlarge, d3en.4xlarge, d3en.6xlarge, d3en.8xlarge, d3en.12xlarge, dl1.24xlarge, f1.2xlarge, f1.4xlarge, f1.16xlarge, g2.2xlarge, g2.8xlarge, g3.4xlarge, g3.8xlarge, g3.16xlarge, g3s.xlarge, g4ad.xlarge, g4ad.2xlarge, g4ad.4xlarge, g4ad.8xlarge, g4ad.16xlarge, g4dn.xlarge, g4dn.2xlarge, g4dn.4xlarge, g4dn.8xlarge, g4dn.12xlarge, g4dn.16xlarge, g4dn.metal, g5.xlarge, g5.2xlarge, g5.4xlarge, g5.8xlarge, g5.12xlarge, g5.16xlarge, g5.24xlarge, g5.48xlarge, g5g.xlarge, g5g.2xlarge, g5g.4xlarge, g5g.8xlarge, g5g.16xlarge, g5g.metal, hi1.4xlarge, hpc6a.48xlarge, hs1.8xlarge, h1.2xlarge, h1.4xlarge, h1.8xlarge, h1.16xlarge, i2.xlarge, i2.2xlarge, i2.4xlarge, i2.8xlarge, i3.large, i3.xlarge, i3.2xlarge, i3.4xlarge, i3.8xlarge, i3.16xlarge, i3.metal, i3en.large, i3en.xlarge, i3en.2xlarge, i3en.3xlarge, i3en.6xlarge, i3en.12xlarge, i3en.24xlarge, i3en.metal, im4gn.large, im4gn.xlarge, im4gn.2xlarge, im4gn.4xlarge, im4gn.8xlarge, im4gn.16xlarge, inf1.xlarge, inf1.2xlarge, inf1.6xlarge, inf1.24xlarge, is4gen.medium, is4gen.large, is4gen.xlarge, is4gen.2xlarge, is4gen.4xlarge, is4gen.8xlarge, m1.small, m1.medium, m1.large, m1.xlarge, m2.xlarge, m2.2xlarge, m2.4xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5.metal, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge, m5ad.large, m5ad.xlarge, m5ad.2xlarge, m5ad.4xlarge, m5ad.8xlarge, m5ad.12xlarge, m5ad.16xlarge, m5ad.24xlarge, m5d.large, m5d.xlarge, m5d.2xlarge, m5d.4xlarge, m5d.8xlarge, m5d.12xlarge, m5d.16xlarge, m5d.24xlarge, m5d.metal, m5dn.large, m5dn.xlarge, m5dn.2xlarge, m5dn.4xlarge, m5dn.8xlarge, m5dn.12xlarge, m5dn.16xlarge, m5dn.24xlarge, m5dn.metal, m5n.large, m5n.xlarge, m5n.2xlarge, m5n.4xlarge, m5n.8xlarge, m5n.12xlarge, m5n.16xlarge, m5n.24xlarge, m5n.metal, m5zn.large, m5zn.xlarge, m5zn.2xlarge, m5zn.3xlarge, m5zn.6xlarge, m5zn.12xlarge, m5zn.metal, m6a.large, m6a.xlarge, m6a.2xlarge, m6a.4xlarge, m6a.8xlarge, m6a.12xlarge, m6a.16xlarge, m6a.24xlarge, m6a.32xlarge, m6a.48xlarge, m6g.metal, m6g.medium, m6g.large, m6g.xlarge, m6g.2xlarge, m6g.4xlarge, m6g.8xlarge, m6g.12xlarge, m6g.16xlarge, m6gd.metal, m6gd.medium, m6gd.large, m6gd.xlarge, m6gd.2xlarge, m6gd.4xlarge, m6gd.8xlarge, m6gd.12xlarge, m6gd.16xlarge, m6i.large, m6i.xlarge, m6i.2xlarge, m6i.4xlarge, m6i.8xlarge, m6i.12xlarge, m6i.16xlarge, m6i.24xlarge, m6i.32xlarge, m6i.metal, mac1.metal, p2.xlarge, p2.8xlarge, p2.16xlarge, p3.2xlarge, p3.8xlarge, p3.16xlarge, p3dn.24xlarge, p4d.24xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5.metal, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, r5ad.large, r5ad.xlarge, r5ad.2xlarge, r5ad.4xlarge, r5ad.8xlarge, r5ad.12xlarge, r5ad.16xlarge, r5ad.24xlarge, r5b.large, r5b.xlarge, r5b.2xlarge, r5b.4xlarge, r5b.8xlarge, r5b.12xlarge, r5b.16xlarge, r5b.24xlarge, r5b.metal, r5d.large, r5d.xlarge, r5d.2xlarge, r5d.4xlarge, r5d.8xlarge, r5d.12xlarge, r5d.16xlarge, r5d.24xlarge, r5d.metal, r5dn.large, r5dn.xlarge, r5dn.2xlarge, r5dn.4xlarge, r5dn.8xlarge, r5dn.12xlarge, r5dn.16xlarge, r5dn.24xlarge, r5dn.metal, r5n.large, r5n.xlarge, r5n.2xlarge, r5n.4xlarge, r5n.8xlarge, r5n.12xlarge, r5n.16xlarge, r5n.24xlarge, r5n.metal, r6g.medium, r6g.large, r6g.xlarge, r6g.2xlarge, r6g.4xlarge, r6g.8xlarge, r6g.12xlarge, r6g.16xlarge, r6g.metal, r6gd.medium, r6gd.large, r6gd.xlarge, r6gd.2xlarge, r6gd.4xlarge, r6gd.8xlarge, r6gd.12xlarge, r6gd.16xlarge, r6gd.metal, r6i.large, r6i.xlarge, r6i.2xlarge, r6i.4xlarge, r6i.8xlarge, r6i.12xlarge, r6i.16xlarge, r6i.24xlarge, r6i.32xlarge, r6i.metal, t1.micro, t2.nano, t2.micro, t2.small, t2.medium, t2.large, t2.xlarge, t2.2xlarge, t3.nano, t3.micro, t3.small, t3.medium, t3.large, t3.xlarge, t3.2xlarge, t3a.nano, t3a.micro, t3a.small, t3a.medium, t3a.large, t3a.xlarge, t3a.2xlarge, t4g.nano, t4g.micro, t4g.small, t4g.medium, t4g.large, t4g.xlarge, t4g.2xlarge, u-6tb1.56xlarge, u-6tb1.112xlarge, u-9tb1.112xlarge, u-12tb1.112xlarge, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, vt1.3xlarge, vt1.6xlarge, vt1.24xlarge, x1.16xlarge, x1.32xlarge, x1e.xlarge, x1e.2xlarge, x1e.4xlarge, x1e.8xlarge, x1e.16xlarge, x1e.32xlarge, x2iezn.2xlarge, x2iezn.4xlarge, x2iezn.6xlarge, x2iezn.8xlarge, x2iezn.12xlarge, x2iezn.metal, x2gd.medium, x2gd.large, x2gd.xlarge, x2gd.2xlarge, x2gd.4xlarge, x2gd.8xlarge, x2gd.12xlarge, x2gd.16xlarge, x2gd.metal, z1d.large, z1d.xlarge, z1d.2xlarge, z1d.3xlarge, z1d.6xlarge, z1d.12xlarge, z1d.metal, x2idn.16xlarge, x2idn.24xlarge, x2idn.32xlarge, x2iedn.xlarge, x2iedn.2xlarge, x2iedn.4xlarge, x2iedn.8xlarge, x2iedn.16xlarge, x2iedn.24xlarge, x2iedn.32xlarge, c6a.large, c6a.xlarge, c6a.2xlarge, c6a.4xlarge, c6a.8xlarge, c6a.12xlarge, c6a.16xlarge, c6a.24xlarge, c6a.32xlarge, c6a.48xlarge, c6a.metal, m6a.metal, i4i.large, i4i.xlarge, i4i.2xlarge, i4i.4xlarge, i4i.8xlarge, i4i.16xlarge, i4i.32xlarge, i4i.metal, x2idn.metal, x2iedn.metal, c7g.medium, c7g.large, c7g.xlarge, c7g.2xlarge, c7g.4xlarge, c7g.8xlarge, c7g.12xlarge, c7g.16xlarge, mac2.metal, c6id.large, c6id.xlarge, c6id.2xlarge, c6id.4xlarge, c6id.8xlarge, c6id.12xlarge, c6id.16xlarge, c6id.24xlarge, c6id.32xlarge, c6id.metal, m6id.large, m6id.xlarge, m6id.2xlarge, m6id.4xlarge, m6id.8xlarge, m6id.12xlarge, m6id.16xlarge, m6id.24xlarge, m6id.32xlarge, m6id.metal, r6id.large, r6id.xlarge, r6id.2xlarge, r6id.4xlarge, r6id.8xlarge, r6id.12xlarge, r6id.16xlarge, r6id.24xlarge, r6id.32xlarge, r6id.metal, r6a.large, r6a.xlarge, r6a.2xlarge, r6a.4xlarge, r6a.8xlarge, r6a.12xlarge, r6a.16xlarge, r6a.24xlarge, r6a.32xlarge, r6a.48xlarge, r6a.metal, p4de.24xlarge, u-3tb1.56xlarge, u-18tb1.112xlarge, u-24tb1.112xlarge, trn1.2xlarge, trn1.32xlarge, hpc6id.32xlarge, c6in.large, c6in.xlarge, c6in.2xlarge, c6in.4xlarge, c6in.8xlarge, c6in.12xlarge, c6in.16xlarge, c6in.24xlarge, c6in.32xlarge, m6in.large, m6in.xlarge, m6in.2xlarge, m6in.4xlarge, m6in.8xlarge, m6in.12xlarge, m6in.16xlarge, m6in.24xlarge, m6in.32xlarge, m6idn.large, m6idn.xlarge, m6idn.2xlarge, m6idn.4xlarge, m6idn.8xlarge, m6idn.12xlarge, m6idn.16xlarge, m6idn.24xlarge, m6idn.32xlarge, r6in.large, r6in.xlarge, r6in.2xlarge, r6in.4xlarge, r6in.8xlarge, r6in.12xlarge, r6in.16xlarge, r6in.24xlarge, r6in.32xlarge, r6idn.large, r6idn.xlarge, r6idn.2xlarge, r6idn.4xlarge, r6idn.8xlarge, r6idn.12xlarge, r6idn.16xlarge, r6idn.24xlarge, r6idn.32xlarge, c7g.metal, m7g.medium, m7g.large, m7g.xlarge, m7g.2xlarge, m7g.4xlarge, m7g.8xlarge, m7g.12xlarge, m7g.16xlarge, m7g.metal, r7g.medium, r7g.large, r7g.xlarge, r7g.2xlarge, r7g.4xlarge, r7g.8xlarge, r7g.12xlarge, r7g.16xlarge, r7g.metal, c6in.metal, m6in.metal, m6idn.metal, r6in.metal, r6idn.metal, inf2.xlarge, inf2.8xlarge, inf2.24xlarge, inf2.48xlarge, trn1n.32xlarge, i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge, i4g.16xlarge, hpc7g.4xlarge, hpc7g.8xlarge, hpc7g.16xlarge, c7gn.medium, c7gn.large, c7gn.xlarge, c7gn.2xlarge, c7gn.4xlarge, c7gn.8xlarge, c7gn.12xlarge, c7gn.16xlarge, p5.48xlarge, m7i.large, m7i.xlarge, m7i.2xlarge, m7i.4xlarge, m7i.8xlarge, m7i.12xlarge, m7i.16xlarge, m7i.24xlarge, m7i.48xlarge, m7i-flex.large, m7i-flex.xlarge, m7i-flex.2xlarge, m7i-flex.4xlarge, m7i-flex.8xlarge, m7a.medium, m7a.large, m7a.xlarge, m7a.2xlarge, m7a.4xlarge, m7a.8xlarge, m7a.12xlarge, m7a.16xlarge, m7a.24xlarge, m7a.32xlarge, m7a.48xlarge, m7a.metal-48xl, hpc7a.12xlarge, hpc7a.24xlarge, hpc7a.48xlarge, hpc7a.96xlarge, c7gd.medium, c7gd.large, c7gd.xlarge, c7gd.2xlarge, c7gd.4xlarge, c7gd.8xlarge, c7gd.12xlarge, c7gd.16xlarge, m7gd.medium, m7gd.large, m7gd.xlarge, m7gd.2xlarge, m7gd.4xlarge, m7gd.8xlarge, m7gd.12xlarge, m7gd.16xlarge, r7gd.medium, r7gd.large, r7gd.xlarge, r7gd.2xlarge, r7gd.4xlarge, r7gd.8xlarge, r7gd.12xlarge, r7gd.16xlarge, r7a.medium, r7a.large, r7a.xlarge, r7a.2xlarge, r7a.4xlarge, r7a.8xlarge, r7a.12xlarge, r7a.16xlarge, r7a.24xlarge, r7a.32xlarge, r7a.48xlarge, c7i.large, c7i.xlarge, c7i.2xlarge, c7i.4xlarge, c7i.8xlarge, c7i.12xlarge, c7i.16xlarge, c7i.24xlarge, c7i.48xlarge, mac2-m2pro.metal, r7iz.large, r7iz.xlarge, r7iz.2xlarge, r7iz.4xlarge, r7iz.8xlarge, r7iz.12xlarge, r7iz.16xlarge, r7iz.32xlarge, c7a.medium, c7a.large, c7a.xlarge, c7a.2xlarge, c7a.4xlarge, c7a.8xlarge, c7a.12xlarge, c7a.16xlarge, c7a.24xlarge, c7a.32xlarge, c7a.48xlarge, c7a.metal-48xl, r7a.metal-48xl, r7i.large, r7i.xlarge, r7i.2xlarge, r7i.4xlarge, r7i.8xlarge, r7i.12xlarge, r7i.16xlarge, r7i.24xlarge, r7i.48xlarge, dl2q.24xlarge, mac2-m2.metal, i4i.12xlarge, i4i.24xlarge, c7i.metal-24xl, c7i.metal-48xl, m7i.metal-24xl, m7i.metal-48xl, r7i.metal-24xl, r7i.metal-48xl, r7iz.metal-16xl, r7iz.metal-32xl, c7gd.metal, m7gd.metal, r7gd.metal, g6.xlarge, g6.2xlarge, g6.4xlarge, g6.8xlarge, g6.12xlarge, g6.16xlarge, g6.24xlarge, g6.48xlarge, gr6.4xlarge, gr6.8xlarge, c7i-flex.large, c7i-flex.xlarge, c7i-flex.2xlarge, c7i-flex.4xlarge, c7i-flex.8xlarge, u7i-12tb.224xlarge, u7in-16tb.224xlarge, u7in-24tb.224xlarge, u7in-32tb.224xlarge, u7ib-12tb.224xlarge, c7gn.metal, r8g.medium, r8g.large, r8g.xlarge, r8g.2xlarge, r8g.4xlarge, r8g.8xlarge, r8g.12xlarge, r8g.16xlarge, r8g.24xlarge, r8g.48xlarge, r8g.metal-24xl, r8g.metal-48xl, mac2-m1ultra.metal, g6e.xlarge, g6e.2xlarge, g6e.4xlarge, g6e.8xlarge, g6e.12xlarge, g6e.16xlarge, g6e.24xlarge, g6e.48xlarge, c8g.medium, c8g.large, c8g.xlarge, c8g.2xlarge, c8g.4xlarge, c8g.8xlarge, c8g.12xlarge, c8g.16xlarge, c8g.24xlarge, c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl, m8g.medium, m8g.large, m8g.xlarge, m8g.2xlarge, m8g.4xlarge, m8g.8xlarge, m8g.12xlarge, m8g.16xlarge, m8g.24xlarge, m8g.48xlarge, m8g.metal-24xl, m8g.metal-48xl, x8g.medium, x8g.large, x8g.xlarge, x8g.2xlarge, x8g.4xlarge, x8g.8xlarge, x8g.12xlarge, x8g.16xlarge, x8g.24xlarge, x8g.48xlarge, x8g.metal-24xl, x8g.metal-48xl, i7ie.large, i7ie.xlarge, i7ie.2xlarge, i7ie.3xlarge, i7ie.6xlarge, i7ie.12xlarge, i7ie.18xlarge, i7ie.24xlarge, i7ie.48xlarge, i8g.large, i8g.xlarge, i8g.2xlarge, i8g.4xlarge, i8g.8xlarge, i8g.12xlarge, i8g.16xlarge, i8g.24xlarge, i8g.metal-24xl, u7i-6tb.112xlarge, u7i-8tb.112xlarge, u7inh-32tb.480xlarge, p5e.48xlarge, p5en.48xlarge, f2.12xlarge, f2.48xlarge, trn2.48xlarge
105
106
  # ipv_6_address_count: 1,
106
107
  # ipv_6_addresses: [
107
108
  # {
@@ -117,7 +118,6 @@ module Aws::EC2
117
118
  # enabled: false, # required
118
119
  # },
119
120
  # placement: {
120
- # availability_zone: "String",
121
121
  # affinity: "String",
122
122
  # group_name: "PlacementGroupName",
123
123
  # partition_number: 1,
@@ -126,76 +126,13 @@ module Aws::EC2
126
126
  # spread_domain: "String",
127
127
  # host_resource_group_arn: "String",
128
128
  # group_id: "PlacementGroupId",
129
+ # availability_zone: "String",
129
130
  # },
130
131
  # ramdisk_id: "RamdiskId",
131
132
  # security_group_ids: ["SecurityGroupId"],
132
133
  # security_groups: ["SecurityGroupName"],
133
134
  # subnet_id: "SubnetId",
134
135
  # user_data: "RunInstancesUserData",
135
- # additional_info: "String",
136
- # client_token: "String",
137
- # disable_api_termination: false,
138
- # dry_run: false,
139
- # ebs_optimized: false,
140
- # iam_instance_profile: {
141
- # arn: "String",
142
- # name: "String",
143
- # },
144
- # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
145
- # network_interfaces: [
146
- # {
147
- # associate_public_ip_address: false,
148
- # delete_on_termination: false,
149
- # description: "String",
150
- # device_index: 1,
151
- # groups: ["SecurityGroupId"],
152
- # ipv_6_address_count: 1,
153
- # ipv_6_addresses: [
154
- # {
155
- # ipv_6_address: "String",
156
- # is_primary_ipv_6: false,
157
- # },
158
- # ],
159
- # network_interface_id: "NetworkInterfaceId",
160
- # private_ip_address: "String",
161
- # private_ip_addresses: [
162
- # {
163
- # primary: false,
164
- # private_ip_address: "String",
165
- # },
166
- # ],
167
- # secondary_private_ip_address_count: 1,
168
- # subnet_id: "String",
169
- # associate_carrier_ip_address: false,
170
- # interface_type: "String",
171
- # network_card_index: 1,
172
- # ipv_4_prefixes: [
173
- # {
174
- # ipv_4_prefix: "String",
175
- # },
176
- # ],
177
- # ipv_4_prefix_count: 1,
178
- # ipv_6_prefixes: [
179
- # {
180
- # ipv_6_prefix: "String",
181
- # },
182
- # ],
183
- # ipv_6_prefix_count: 1,
184
- # primary_ipv_6: false,
185
- # ena_srd_specification: {
186
- # ena_srd_enabled: false,
187
- # ena_srd_udp_specification: {
188
- # ena_srd_udp_enabled: false,
189
- # },
190
- # },
191
- # connection_tracking_specification: {
192
- # tcp_established_timeout: 1,
193
- # udp_stream_timeout: 1,
194
- # udp_timeout: 1,
195
- # },
196
- # },
197
- # ],
198
- # private_ip_address: "String",
199
136
  # elastic_gpu_specification: [
200
137
  # {
201
138
  # type: "String", # required
@@ -209,7 +146,7 @@ module Aws::EC2
209
146
  # ],
210
147
  # tag_specifications: [
211
148
  # {
212
- # 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
149
+ # 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
213
150
  # tags: [
214
151
  # {
215
152
  # key: "String",
@@ -242,7 +179,7 @@ module Aws::EC2
242
179
  # amd_sev_snp: "enabled", # accepts enabled, disabled
243
180
  # },
244
181
  # capacity_reservation_specification: {
245
- # capacity_reservation_preference: "open", # accepts open, none
182
+ # capacity_reservation_preference: "capacity-reservations-only", # accepts capacity-reservations-only, open, none
246
183
  # capacity_reservation_target: {
247
184
  # capacity_reservation_id: "CapacityReservationId",
248
185
  # capacity_reservation_resource_group_arn: "String",
@@ -276,6 +213,77 @@ module Aws::EC2
276
213
  # },
277
214
  # disable_api_stop: false,
278
215
  # enable_primary_ipv_6: false,
216
+ # network_performance_options: {
217
+ # bandwidth_weighting: "default", # accepts default, vpc-1, ebs-1
218
+ # },
219
+ # operator: {
220
+ # principal: "String",
221
+ # },
222
+ # dry_run: false,
223
+ # disable_api_termination: false,
224
+ # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
225
+ # private_ip_address: "String",
226
+ # client_token: "String",
227
+ # additional_info: "String",
228
+ # network_interfaces: [
229
+ # {
230
+ # associate_public_ip_address: false,
231
+ # delete_on_termination: false,
232
+ # description: "String",
233
+ # device_index: 1,
234
+ # groups: ["SecurityGroupId"],
235
+ # ipv_6_address_count: 1,
236
+ # ipv_6_addresses: [
237
+ # {
238
+ # ipv_6_address: "String",
239
+ # is_primary_ipv_6: false,
240
+ # },
241
+ # ],
242
+ # network_interface_id: "NetworkInterfaceId",
243
+ # private_ip_address: "String",
244
+ # private_ip_addresses: [
245
+ # {
246
+ # primary: false,
247
+ # private_ip_address: "String",
248
+ # },
249
+ # ],
250
+ # secondary_private_ip_address_count: 1,
251
+ # subnet_id: "String",
252
+ # associate_carrier_ip_address: false,
253
+ # interface_type: "String",
254
+ # network_card_index: 1,
255
+ # ipv_4_prefixes: [
256
+ # {
257
+ # ipv_4_prefix: "String",
258
+ # },
259
+ # ],
260
+ # ipv_4_prefix_count: 1,
261
+ # ipv_6_prefixes: [
262
+ # {
263
+ # ipv_6_prefix: "String",
264
+ # },
265
+ # ],
266
+ # ipv_6_prefix_count: 1,
267
+ # primary_ipv_6: false,
268
+ # ena_srd_specification: {
269
+ # ena_srd_enabled: false,
270
+ # ena_srd_udp_specification: {
271
+ # ena_srd_udp_enabled: false,
272
+ # },
273
+ # },
274
+ # connection_tracking_specification: {
275
+ # tcp_established_timeout: 1,
276
+ # udp_stream_timeout: 1,
277
+ # udp_timeout: 1,
278
+ # },
279
+ # ena_queue_count: 1,
280
+ # },
281
+ # ],
282
+ # iam_instance_profile: {
283
+ # arn: "String",
284
+ # name: "String",
285
+ # },
286
+ # ebs_optimized: false,
279
287
  # })
280
288
  # @param [Hash] options ({})
281
289
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -291,8 +299,8 @@ module Aws::EC2
291
299
  # The ID of the AMI. An AMI ID is required to launch an instance and
292
300
  # must be specified here or in a launch template.
293
301
  # @option options [String] :instance_type
294
- # The instance type. For more information, see [Instance types][1] in
295
- # the *Amazon EC2 User Guide*.
302
+ # The instance type. For more information, see [Amazon EC2 instance
303
+ # types][1] in the *Amazon EC2 User Guide*.
296
304
  #
297
305
  #
298
306
  #
@@ -337,32 +345,30 @@ module Aws::EC2
337
345
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html
338
346
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html
339
347
  # @option options [required, Integer] :max_count
340
- # The maximum number of instances to launch. If you specify more
341
- # instances than Amazon EC2 can launch in the target Availability Zone,
342
- # Amazon EC2 launches the largest possible number of instances above
343
- # `MinCount`.
348
+ # The maximum number of instances to launch. If you specify a value that
349
+ # is more capacity than Amazon EC2 can launch in the target Availability
350
+ # Zone, Amazon EC2 launches the largest possible number of instances
351
+ # above the specified minimum count.
344
352
  #
345
- # Constraints: Between 1 and the maximum number you're allowed for the
346
- # specified instance type. For more information about the default
347
- # limits, and how to request an increase, see [How many instances can I
348
- # run in Amazon EC2][1] in the Amazon EC2 FAQ.
353
+ # Constraints: Between 1 and the quota for the specified instance type
354
+ # for your account for this Region. For more information, see [Amazon
355
+ # EC2 instance type quotas][1].
349
356
  #
350
357
  #
351
358
  #
352
- # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
359
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-quotas.html
353
360
  # @option options [required, Integer] :min_count
354
- # The minimum number of instances to launch. If you specify a minimum
355
- # that is more instances than Amazon EC2 can launch in the target
356
- # Availability Zone, Amazon EC2 launches no instances.
361
+ # The minimum number of instances to launch. If you specify a value that
362
+ # is more capacity than Amazon EC2 can provide in the target
363
+ # Availability Zone, Amazon EC2 does not launch any instances.
357
364
  #
358
- # Constraints: Between 1 and the maximum number you're allowed for the
359
- # specified instance type. For more information about the default
360
- # limits, and how to request an increase, see [How many instances can I
361
- # run in Amazon EC2][1] in the Amazon EC2 General FAQ.
365
+ # Constraints: Between 1 and the quota for the specified instance type
366
+ # for your account for this Region. For more information, see [Amazon
367
+ # EC2 instance type quotas][1].
362
368
  #
363
369
  #
364
370
  #
365
- # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
371
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-quotas.html
366
372
  # @option options [Types::RunInstancesMonitoringEnabled] :monitoring
367
373
  # Specifies whether detailed monitoring is enabled for the instance.
368
374
  # @option options [Types::Placement] :placement
@@ -385,7 +391,8 @@ module Aws::EC2
385
391
  # [CreateSecurityGroup][1].
386
392
  #
387
393
  # If you specify a network interface, you must specify any security
388
- # groups as part of the network interface.
394
+ # groups as part of the network interface instead of using this
395
+ # parameter.
389
396
  #
390
397
  #
391
398
  #
@@ -394,118 +401,34 @@ module Aws::EC2
394
401
  # \[Default VPC\] The names of the security groups.
395
402
  #
396
403
  # If you specify a network interface, you must specify any security
397
- # groups as part of the network interface.
404
+ # groups as part of the network interface instead of using this
405
+ # parameter.
398
406
  #
399
407
  # Default: Amazon EC2 uses the default security group.
400
408
  # @option options [String] :subnet_id
401
409
  # The ID of the subnet to launch the instance into.
402
410
  #
403
411
  # If you specify a network interface, you must specify any subnets as
404
- # part of the network interface.
412
+ # part of the network interface instead of using this parameter.
405
413
  # @option options [String] :user_data
406
- # The user data script to make available to the instance. For more
407
- # information, see [Run commands on your Linux instance at launch][1]
408
- # and [Run commands on your Windows instance at launch][2]. If you are
409
- # using a command line tool, base64-encoding is performed for you, and
410
- # you can load the text from a file. Otherwise, you must provide
411
- # base64-encoded text. User data is limited to 16 KB.
412
- #
413
- #
414
- #
415
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
416
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html
417
- # @option options [String] :additional_info
418
- # Reserved.
419
- # @option options [String] :client_token
420
- # Unique, case-sensitive identifier you provide to ensure the
421
- # idempotency of the request. If you do not specify a client token, a
422
- # randomly generated token is used for the request to ensure
423
- # idempotency.
424
- #
425
- # For more information, see [Ensuring Idempotency][1].
426
- #
427
- # Constraints: Maximum 64 ASCII characters
428
- #
429
- #
430
- #
431
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
432
- # @option options [Boolean] :disable_api_termination
433
- # If you set this parameter to `true`, you can't terminate the instance
434
- # using the Amazon EC2 console, CLI, or API; otherwise, you can. To
435
- # change this attribute after launch, use [ModifyInstanceAttribute][1].
436
- # Alternatively, if you set `InstanceInitiatedShutdownBehavior` to
437
- # `terminate`, you can terminate the instance by running the shutdown
438
- # command from the instance.
439
- #
440
- # Default: `false`
414
+ # The user data to make available to the instance. User data must be
415
+ # base64-encoded. Depending on the tool or SDK that you're using, the
416
+ # base64-encoding might be performed for you. For more information, see
417
+ # [Work with instance user data][1].
441
418
  #
442
419
  #
443
420
  #
444
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html
445
- # @option options [Boolean] :dry_run
446
- # Checks whether you have the required permissions for the action,
447
- # without actually making the request, and provides an error response.
448
- # If you have the required permissions, the error response is
449
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
450
- # @option options [Boolean] :ebs_optimized
451
- # Indicates whether the instance is optimized for Amazon EBS I/O. This
452
- # optimization provides dedicated throughput to Amazon EBS and an
453
- # optimized configuration stack to provide optimal Amazon EBS I/O
454
- # performance. This optimization isn't available with all instance
455
- # types. Additional usage charges apply when using an EBS-optimized
456
- # instance.
457
- #
458
- # Default: `false`
459
- # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
460
- # The name or Amazon Resource Name (ARN) of an IAM instance profile.
461
- # @option options [String] :instance_initiated_shutdown_behavior
462
- # Indicates whether an instance stops or terminates when you initiate
463
- # shutdown from the instance (using the operating system command for
464
- # system shutdown).
465
- #
466
- # Default: `stop`
467
- # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
468
- # The network interfaces to associate with the instance. If you specify
469
- # a network interface, you must specify any security groups and subnets
470
- # as part of the network interface.
471
- # @option options [String] :private_ip_address
472
- # The primary IPv4 address. You must specify a value from the IPv4
473
- # address range of the subnet.
474
- #
475
- # Only one private IP address can be designated as primary. You can't
476
- # specify this option if you've specified the option to designate a
477
- # private IP address as the primary IP address in a network interface
478
- # specification. You cannot specify this option if you're launching
479
- # more than one instance in the request.
480
- #
481
- # You cannot specify this option and the network interfaces option in
482
- # the same request.
421
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-add-user-data.html
483
422
  # @option options [Array<Types::ElasticGpuSpecification>] :elastic_gpu_specification
484
- # An elastic GPU to associate with the instance. An Elastic GPU is a GPU
485
- # resource that you can attach to your Windows instance to accelerate
486
- # the graphics performance of your applications. For more information,
487
- # see [Amazon EC2 Elastic GPUs][1] in the *Amazon EC2 User Guide*.
488
- #
423
+ # An elastic GPU to associate with the instance.
489
424
  #
425
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
490
426
  #
491
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html
427
+ # </note>
492
428
  # @option options [Array<Types::ElasticInferenceAccelerator>] :elastic_inference_accelerators
493
429
  # An elastic inference accelerator to associate with the instance.
494
- # Elastic inference accelerators are a resource you can attach to your
495
- # Amazon EC2 instances to accelerate your Deep Learning (DL) inference
496
- # workloads.
497
- #
498
- # You cannot specify accelerators from different generations in the same
499
- # request.
500
430
  #
501
- # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
502
- # customers to Amazon Elastic Inference (EI), and will help current
503
- # customers migrate their workloads to options that offer better price
504
- # and performance. After April 15, 2023, new customers will not be able
505
- # to launch instances with Amazon EI accelerators in Amazon SageMaker,
506
- # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
507
- # at least once during the past 30-day period are considered current
508
- # customers and will be able to continue using the service.
431
+ # <note markdown="1"> Amazon Elastic Inference is no longer available.
509
432
  #
510
433
  # </note>
511
434
  # @option options [Array<Types::TagSpecification>] :tag_specifications
@@ -518,8 +441,6 @@ module Aws::EC2
518
441
  #
519
442
  # * Volumes
520
443
  #
521
- # * Elastic graphics
522
- #
523
444
  # * Spot Instance requests
524
445
  #
525
446
  # * Network interfaces
@@ -530,10 +451,9 @@ module Aws::EC2
530
451
  #
531
452
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
532
453
  # @option options [Types::LaunchTemplateSpecification] :launch_template
533
- # The launch template to use to launch the instances. Any parameters
534
- # that you specify in RunInstances override the same parameters in the
535
- # launch template. You can specify either the name or ID of a launch
536
- # template, but not both.
454
+ # The launch template. Any additional parameters that you specify for
455
+ # the new instance overwrite the corresponding parameters included in
456
+ # the launch template.
537
457
  # @option options [Types::InstanceMarketOptionsRequest] :instance_market_options
538
458
  # The market (purchasing) option for the instances.
539
459
  #
@@ -568,12 +488,12 @@ module Aws::EC2
568
488
  # not specify this parameter, the instance's Capacity Reservation
569
489
  # preference defaults to `open`, which enables it to run in any open
570
490
  # Capacity Reservation that has matching attributes (instance type,
571
- # platform, Availability Zone).
491
+ # platform, Availability Zone, and tenancy).
572
492
  # @option options [Types::HibernationOptionsRequest] :hibernation_options
573
493
  # Indicates whether an instance is enabled for hibernation. This
574
494
  # parameter is valid only if the instance meets the [hibernation
575
- # prerequisites][1]. For more information, see [Hibernate your
576
- # instance][2] in the *Amazon EC2 User Guide*.
495
+ # prerequisites][1]. For more information, see [Hibernate your Amazon
496
+ # EC2 instance][2] in the *Amazon EC2 User Guide*.
577
497
  #
578
498
  # You can't enable hibernation and Amazon Web Services Nitro Enclaves
579
499
  # on the same instance.
@@ -632,10 +552,72 @@ module Aws::EC2
632
552
  # attached to your instance and you enable a primary IPv6 address, the
633
553
  # first IPv6 GUA address associated with the ENI becomes the primary
634
554
  # IPv6 address.
555
+ # @option options [Types::InstanceNetworkPerformanceOptionsRequest] :network_performance_options
556
+ # Contains settings for the network performance options for the
557
+ # instance.
558
+ # @option options [Types::OperatorRequest] :operator
559
+ # Reserved for internal use.
560
+ # @option options [Boolean] :dry_run
561
+ # Checks whether you have the required permissions for the operation,
562
+ # without actually making the request, and provides an error response.
563
+ # If you have the required permissions, the error response is
564
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
565
+ # @option options [Boolean] :disable_api_termination
566
+ # Indicates whether termination protection is enabled for the instance.
567
+ # The default is `false`, which means that you can terminate the
568
+ # instance using the Amazon EC2 console, command line tools, or API. You
569
+ # can enable termination protection when you launch an instance, while
570
+ # the instance is running, or while the instance is stopped.
571
+ # @option options [String] :instance_initiated_shutdown_behavior
572
+ # Indicates whether an instance stops or terminates when you initiate
573
+ # shutdown from the instance (using the operating system command for
574
+ # system shutdown).
575
+ #
576
+ # Default: `stop`
577
+ # @option options [String] :private_ip_address
578
+ # The primary IPv4 address. You must specify a value from the IPv4
579
+ # address range of the subnet.
580
+ #
581
+ # Only one private IP address can be designated as primary. You can't
582
+ # specify this option if you've specified the option to designate a
583
+ # private IP address as the primary IP address in a network interface
584
+ # specification. You cannot specify this option if you're launching
585
+ # more than one instance in the request.
586
+ #
587
+ # You cannot specify this option and the network interfaces option in
588
+ # the same request.
589
+ # @option options [String] :client_token
590
+ # Unique, case-sensitive identifier you provide to ensure the
591
+ # idempotency of the request. If you do not specify a client token, a
592
+ # randomly generated token is used for the request to ensure
593
+ # idempotency.
594
+ #
595
+ # For more information, see [Ensuring Idempotency][1].
596
+ #
597
+ # Constraints: Maximum 64 ASCII characters
598
+ #
599
+ #
600
+ #
601
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
602
+ # @option options [String] :additional_info
603
+ # Reserved.
604
+ # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
605
+ # The network interfaces to associate with the instance.
606
+ # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
607
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
608
+ # @option options [Boolean] :ebs_optimized
609
+ # Indicates whether the instance is optimized for Amazon EBS I/O. This
610
+ # optimization provides dedicated throughput to Amazon EBS and an
611
+ # optimized configuration stack to provide optimal Amazon EBS I/O
612
+ # performance. This optimization isn't available with all instance
613
+ # types. Additional usage charges apply when using an EBS-optimized
614
+ # instance.
615
+ #
616
+ # Default: `false`
635
617
  # @return [Instance::Collection]
636
618
  def create_instances(options = {})
637
619
  batch = []
638
- resp = Aws::Plugins::UserAgent.feature('resource') do
620
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
639
621
  @client.run_instances(options)
640
622
  end
641
623
  resp.data.instances.each do |i|
@@ -653,7 +635,7 @@ module Aws::EC2
653
635
  # internetgateway = ec2.create_internet_gateway({
654
636
  # tag_specifications: [
655
637
  # {
656
- # 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
638
+ # 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
657
639
  # tags: [
658
640
  # {
659
641
  # key: "String",
@@ -674,7 +656,7 @@ module Aws::EC2
674
656
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
675
657
  # @return [InternetGateway]
676
658
  def create_internet_gateway(options = {})
677
- resp = Aws::Plugins::UserAgent.feature('resource') do
659
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
678
660
  @client.create_internet_gateway(options)
679
661
  end
680
662
  InternetGateway.new(
@@ -688,11 +670,10 @@ module Aws::EC2
688
670
  #
689
671
  # keypair = ec2.create_key_pair({
690
672
  # key_name: "String", # required
691
- # dry_run: false,
692
673
  # key_type: "rsa", # accepts rsa, ed25519
693
674
  # tag_specifications: [
694
675
  # {
695
- # 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
676
+ # 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
696
677
  # tags: [
697
678
  # {
698
679
  # key: "String",
@@ -702,17 +683,13 @@ module Aws::EC2
702
683
  # },
703
684
  # ],
704
685
  # key_format: "pem", # accepts pem, ppk
686
+ # dry_run: false,
705
687
  # })
706
688
  # @param [Hash] options ({})
707
689
  # @option options [required, String] :key_name
708
690
  # A unique name for the key pair.
709
691
  #
710
692
  # Constraints: Up to 255 ASCII characters
711
- # @option options [Boolean] :dry_run
712
- # Checks whether you have the required permissions for the action,
713
- # without actually making the request, and provides an error response.
714
- # If you have the required permissions, the error response is
715
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
716
693
  # @option options [String] :key_type
717
694
  # The type of key pair. Note that ED25519 keys are not supported for
718
695
  # Windows instances.
@@ -724,9 +701,14 @@ module Aws::EC2
724
701
  # The format of the key pair.
725
702
  #
726
703
  # Default: `pem`
704
+ # @option options [Boolean] :dry_run
705
+ # Checks whether you have the required permissions for the action,
706
+ # without actually making the request, and provides an error response.
707
+ # If you have the required permissions, the error response is
708
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
727
709
  # @return [KeyPair]
728
710
  def create_key_pair(options = {})
729
- resp = Aws::Plugins::UserAgent.feature('resource') do
711
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
730
712
  @client.create_key_pair(options)
731
713
  end
732
714
  KeyPair.new(
@@ -745,7 +727,7 @@ module Aws::EC2
745
727
  # subnet_id: "SubnetId", # required
746
728
  # tag_specifications: [
747
729
  # {
748
- # 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
730
+ # 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
749
731
  # tags: [
750
732
  # {
751
733
  # key: "String",
@@ -769,14 +751,14 @@ module Aws::EC2
769
751
  # disassociate it.
770
752
  # @option options [String] :client_token
771
753
  # Unique, case-sensitive identifier that you provide to ensure the
772
- # idempotency of the request. For more information, see [How to ensure
754
+ # idempotency of the request. For more information, see [Ensuring
773
755
  # idempotency][1].
774
756
  #
775
757
  # Constraint: Maximum 64 ASCII characters.
776
758
  #
777
759
  #
778
760
  #
779
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
761
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
780
762
  # @option options [Boolean] :dry_run
781
763
  # Checks whether you have the required permissions for the action,
782
764
  # without actually making the request, and provides an error response.
@@ -799,7 +781,7 @@ module Aws::EC2
799
781
  #
800
782
  #
801
783
  #
802
- # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
784
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html
803
785
  # @option options [Array<String>] :secondary_private_ip_addresses
804
786
  # Secondary private IPv4 addresses. For more information about secondary
805
787
  # addresses, see [Create a NAT gateway][1] in the *Amazon VPC User
@@ -807,7 +789,7 @@ module Aws::EC2
807
789
  #
808
790
  #
809
791
  #
810
- # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
792
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html
811
793
  # @option options [Integer] :secondary_private_ip_address_count
812
794
  # \[Private NAT gateway only\] The number of secondary private IPv4
813
795
  # addresses you want to assign to the NAT gateway. For more information
@@ -816,10 +798,10 @@ module Aws::EC2
816
798
  #
817
799
  #
818
800
  #
819
- # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
801
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-working-with.html
820
802
  # @return [NatGateway]
821
803
  def create_nat_gateway(options = {})
822
- resp = Aws::Plugins::UserAgent.feature('resource') do
804
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
823
805
  @client.create_nat_gateway(options)
824
806
  end
825
807
  NatGateway.new(
@@ -832,11 +814,9 @@ module Aws::EC2
832
814
  # @example Request syntax with placeholder values
833
815
  #
834
816
  # networkacl = ec2.create_network_acl({
835
- # dry_run: false,
836
- # vpc_id: "VpcId", # required
837
817
  # tag_specifications: [
838
818
  # {
839
- # 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
819
+ # 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
840
820
  # tags: [
841
821
  # {
842
822
  # key: "String",
@@ -845,8 +825,21 @@ module Aws::EC2
845
825
  # ],
846
826
  # },
847
827
  # ],
828
+ # client_token: "String",
829
+ # dry_run: false,
830
+ # vpc_id: "VpcId", # required
848
831
  # })
849
832
  # @param [Hash] options ({})
833
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
834
+ # The tags to assign to the network ACL.
835
+ # @option options [String] :client_token
836
+ # Unique, case-sensitive identifier that you provide to ensure the
837
+ # idempotency of the request. For more information, see [Ensuring
838
+ # idempotency][1].
839
+ #
840
+ #
841
+ #
842
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
850
843
  # @option options [Boolean] :dry_run
851
844
  # Checks whether you have the required permissions for the action,
852
845
  # without actually making the request, and provides an error response.
@@ -854,11 +847,9 @@ module Aws::EC2
854
847
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
855
848
  # @option options [required, String] :vpc_id
856
849
  # The ID of the VPC.
857
- # @option options [Array<Types::TagSpecification>] :tag_specifications
858
- # The tags to assign to the network ACL.
859
850
  # @return [NetworkAcl]
860
851
  def create_network_acl(options = {})
861
- resp = Aws::Plugins::UserAgent.feature('resource') do
852
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
862
853
  @client.create_network_acl(options)
863
854
  end
864
855
  NetworkAcl.new(
@@ -871,24 +862,6 @@ module Aws::EC2
871
862
  # @example Request syntax with placeholder values
872
863
  #
873
864
  # networkinterface = ec2.create_network_interface({
874
- # description: "String",
875
- # dry_run: false,
876
- # groups: ["SecurityGroupId"],
877
- # ipv_6_address_count: 1,
878
- # ipv_6_addresses: [
879
- # {
880
- # ipv_6_address: "String",
881
- # is_primary_ipv_6: false,
882
- # },
883
- # ],
884
- # private_ip_address: "String",
885
- # private_ip_addresses: [
886
- # {
887
- # primary: false,
888
- # private_ip_address: "String",
889
- # },
890
- # ],
891
- # secondary_private_ip_address_count: 1,
892
865
  # ipv_4_prefixes: [
893
866
  # {
894
867
  # ipv_4_prefix: "String",
@@ -901,11 +874,10 @@ module Aws::EC2
901
874
  # },
902
875
  # ],
903
876
  # ipv_6_prefix_count: 1,
904
- # interface_type: "efa", # accepts efa, branch, trunk
905
- # subnet_id: "SubnetId", # required
877
+ # interface_type: "efa", # accepts efa, efa-only, branch, trunk
906
878
  # tag_specifications: [
907
879
  # {
908
- # 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
880
+ # 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
909
881
  # tags: [
910
882
  # {
911
883
  # key: "String",
@@ -921,56 +893,30 @@ module Aws::EC2
921
893
  # udp_stream_timeout: 1,
922
894
  # udp_timeout: 1,
923
895
  # },
896
+ # operator: {
897
+ # principal: "String",
898
+ # },
899
+ # subnet_id: "SubnetId", # required
900
+ # description: "String",
901
+ # private_ip_address: "String",
902
+ # groups: ["SecurityGroupId"],
903
+ # private_ip_addresses: [
904
+ # {
905
+ # primary: false,
906
+ # private_ip_address: "String",
907
+ # },
908
+ # ],
909
+ # secondary_private_ip_address_count: 1,
910
+ # ipv_6_addresses: [
911
+ # {
912
+ # ipv_6_address: "String",
913
+ # is_primary_ipv_6: false,
914
+ # },
915
+ # ],
916
+ # ipv_6_address_count: 1,
917
+ # dry_run: false,
924
918
  # })
925
919
  # @param [Hash] options ({})
926
- # @option options [String] :description
927
- # A description for the network interface.
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>] :groups
934
- # The IDs of one or more security groups.
935
- # @option options [Integer] :ipv_6_address_count
936
- # The number of IPv6 addresses to assign to a network interface. Amazon
937
- # EC2 automatically selects the IPv6 addresses from the subnet range.
938
- #
939
- # You can't specify a count of IPv6 addresses using this parameter if
940
- # you've specified one of the following: specific IPv6 addresses,
941
- # specific IPv6 prefixes, or a count of IPv6 prefixes.
942
- #
943
- # If your subnet has the `AssignIpv6AddressOnCreation` attribute set,
944
- # you can override that setting by specifying 0 as the IPv6 address
945
- # count.
946
- # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
947
- # The IPv6 addresses from the IPv6 CIDR block range of your subnet.
948
- #
949
- # You can't specify IPv6 addresses using this parameter if you've
950
- # specified one of the following: a count of IPv6 addresses, specific
951
- # IPv6 prefixes, or a count of IPv6 prefixes.
952
- # @option options [String] :private_ip_address
953
- # The primary private IPv4 address of the network interface. If you
954
- # don't specify an IPv4 address, Amazon EC2 selects one for you from
955
- # the subnet's IPv4 CIDR range. If you specify an IP address, you
956
- # cannot indicate any IP addresses specified in `privateIpAddresses` as
957
- # primary (only one IP address can be designated as primary).
958
- # @option options [Array<Types::PrivateIpAddressSpecification>] :private_ip_addresses
959
- # The private IPv4 addresses.
960
- #
961
- # You can't specify private IPv4 addresses if you've specified one of
962
- # the following: a count of private IPv4 addresses, specific IPv4
963
- # prefixes, or a count of IPv4 prefixes.
964
- # @option options [Integer] :secondary_private_ip_address_count
965
- # The number of secondary private IPv4 addresses to assign to a network
966
- # interface. When you specify a number of secondary IPv4 addresses,
967
- # Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR
968
- # range. You can't specify this option and specify more than one
969
- # private IP address using `privateIpAddresses`.
970
- #
971
- # You can't specify a count of private IPv4 addresses if you've
972
- # specified one of the following: specific private IPv4 addresses,
973
- # specific IPv4 prefixes, or a count of IPv4 prefixes.
974
920
  # @option options [Array<Types::Ipv4PrefixSpecificationRequest>] :ipv_4_prefixes
975
921
  # The IPv4 prefixes assigned to the network interface.
976
922
  #
@@ -1000,19 +946,22 @@ module Aws::EC2
1000
946
  # @option options [String] :interface_type
1001
947
  # The type of network interface. The default is `interface`.
1002
948
  #
1003
- # The only supported values are `interface`, `efa`, and `trunk`.
1004
- # @option options [required, String] :subnet_id
1005
- # The ID of the subnet to associate with the network interface.
949
+ # If you specify `efa-only`, do not assign any IP addresses to the
950
+ # network interface. EFA-only network interfaces do not support IP
951
+ # addresses.
952
+ #
953
+ # The only supported values are `interface`, `efa`, `efa-only`, and
954
+ # `trunk`.
1006
955
  # @option options [Array<Types::TagSpecification>] :tag_specifications
1007
956
  # The tags to apply to the new network interface.
1008
957
  # @option options [String] :client_token
1009
958
  # Unique, case-sensitive identifier that you provide to ensure the
1010
959
  # idempotency of the request. For more information, see [Ensuring
1011
- # Idempotency][1].
960
+ # idempotency][1].
1012
961
  #
1013
962
  #
1014
963
  #
1015
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
964
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
1016
965
  # @option options [Boolean] :enable_primary_ipv_6
1017
966
  # If you’re creating a network interface in a dual-stack or IPv6-only
1018
967
  # subnet, you have the option to assign a primary IPv6 IP address. A
@@ -1031,9 +980,61 @@ module Aws::EC2
1031
980
  # the primary IPv6 address.
1032
981
  # @option options [Types::ConnectionTrackingSpecificationRequest] :connection_tracking_specification
1033
982
  # A connection tracking specification for the network interface.
983
+ # @option options [Types::OperatorRequest] :operator
984
+ # Reserved for internal use.
985
+ # @option options [required, String] :subnet_id
986
+ # The ID of the subnet to associate with the network interface.
987
+ # @option options [String] :description
988
+ # A description for the network interface.
989
+ # @option options [String] :private_ip_address
990
+ # The primary private IPv4 address of the network interface. If you
991
+ # don't specify an IPv4 address, Amazon EC2 selects one for you from
992
+ # the subnet's IPv4 CIDR range. If you specify an IP address, you
993
+ # cannot indicate any IP addresses specified in `privateIpAddresses` as
994
+ # primary (only one IP address can be designated as primary).
995
+ # @option options [Array<String>] :groups
996
+ # The IDs of the security groups.
997
+ # @option options [Array<Types::PrivateIpAddressSpecification>] :private_ip_addresses
998
+ # The private IPv4 addresses.
999
+ #
1000
+ # You can't specify private IPv4 addresses if you've specified one of
1001
+ # the following: a count of private IPv4 addresses, specific IPv4
1002
+ # prefixes, or a count of IPv4 prefixes.
1003
+ # @option options [Integer] :secondary_private_ip_address_count
1004
+ # The number of secondary private IPv4 addresses to assign to a network
1005
+ # interface. When you specify a number of secondary IPv4 addresses,
1006
+ # Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR
1007
+ # range. You can't specify this option and specify more than one
1008
+ # private IP address using `privateIpAddresses`.
1009
+ #
1010
+ # You can't specify a count of private IPv4 addresses if you've
1011
+ # specified one of the following: specific private IPv4 addresses,
1012
+ # specific IPv4 prefixes, or a count of IPv4 prefixes.
1013
+ # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
1014
+ # The IPv6 addresses from the IPv6 CIDR block range of your subnet.
1015
+ #
1016
+ # You can't specify IPv6 addresses using this parameter if you've
1017
+ # specified one of the following: a count of IPv6 addresses, specific
1018
+ # IPv6 prefixes, or a count of IPv6 prefixes.
1019
+ # @option options [Integer] :ipv_6_address_count
1020
+ # The number of IPv6 addresses to assign to a network interface. Amazon
1021
+ # EC2 automatically selects the IPv6 addresses from the subnet range.
1022
+ #
1023
+ # You can't specify a count of IPv6 addresses using this parameter if
1024
+ # you've specified one of the following: specific IPv6 addresses,
1025
+ # specific IPv6 prefixes, or a count of IPv6 prefixes.
1026
+ #
1027
+ # If your subnet has the `AssignIpv6AddressOnCreation` attribute set,
1028
+ # you can override that setting by specifying 0 as the IPv6 address
1029
+ # count.
1030
+ # @option options [Boolean] :dry_run
1031
+ # Checks whether you have the required permissions for the action,
1032
+ # without actually making the request, and provides an error response.
1033
+ # If you have the required permissions, the error response is
1034
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1034
1035
  # @return [NetworkInterface]
1035
1036
  def create_network_interface(options = {})
1036
- resp = Aws::Plugins::UserAgent.feature('resource') do
1037
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1037
1038
  @client.create_network_interface(options)
1038
1039
  end
1039
1040
  NetworkInterface.new(
@@ -1046,13 +1047,10 @@ module Aws::EC2
1046
1047
  # @example Request syntax with placeholder values
1047
1048
  #
1048
1049
  # placementgroup = ec2.create_placement_group({
1049
- # dry_run: false,
1050
- # group_name: "String",
1051
- # strategy: "cluster", # accepts cluster, spread, partition
1052
1050
  # partition_count: 1,
1053
1051
  # tag_specifications: [
1054
1052
  # {
1055
- # 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
1053
+ # 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
1056
1054
  # tags: [
1057
1055
  # {
1058
1056
  # key: "String",
@@ -1062,20 +1060,11 @@ module Aws::EC2
1062
1060
  # },
1063
1061
  # ],
1064
1062
  # spread_level: "host", # accepts host, rack
1063
+ # dry_run: false,
1064
+ # group_name: "String",
1065
+ # strategy: "cluster", # accepts cluster, spread, partition
1065
1066
  # })
1066
1067
  # @param [Hash] options ({})
1067
- # @option options [Boolean] :dry_run
1068
- # Checks whether you have the required permissions for the action,
1069
- # without actually making the request, and provides an error response.
1070
- # If you have the required permissions, the error response is
1071
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1072
- # @option options [String] :group_name
1073
- # A name for the placement group. Must be unique within the scope of
1074
- # your account for the Region.
1075
- #
1076
- # Constraints: Up to 255 ASCII characters
1077
- # @option options [String] :strategy
1078
- # The placement strategy.
1079
1068
  # @option options [Integer] :partition_count
1080
1069
  # The number of partitions. Valid only when **Strategy** is set to
1081
1070
  # `partition`.
@@ -1087,9 +1076,21 @@ module Aws::EC2
1087
1076
  # * Host – You can use `host` only with Outpost placement groups.
1088
1077
  #
1089
1078
  # * Rack – No usage restrictions.
1079
+ # @option options [Boolean] :dry_run
1080
+ # Checks whether you have the required permissions for the operation,
1081
+ # without actually making the request, and provides an error response.
1082
+ # If you have the required permissions, the error response is
1083
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1084
+ # @option options [String] :group_name
1085
+ # A name for the placement group. Must be unique within the scope of
1086
+ # your account for the Region.
1087
+ #
1088
+ # Constraints: Up to 255 ASCII characters
1089
+ # @option options [String] :strategy
1090
+ # The placement strategy.
1090
1091
  # @return [PlacementGroup]
1091
1092
  def create_placement_group(options = {})
1092
- Aws::Plugins::UserAgent.feature('resource') do
1093
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1093
1094
  @client.create_placement_group(options)
1094
1095
  end
1095
1096
  PlacementGroup.new(
@@ -1101,11 +1102,9 @@ module Aws::EC2
1101
1102
  # @example Request syntax with placeholder values
1102
1103
  #
1103
1104
  # routetable = ec2.create_route_table({
1104
- # dry_run: false,
1105
- # vpc_id: "VpcId", # required
1106
1105
  # tag_specifications: [
1107
1106
  # {
1108
- # 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
1107
+ # 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
1109
1108
  # tags: [
1110
1109
  # {
1111
1110
  # key: "String",
@@ -1114,8 +1113,21 @@ module Aws::EC2
1114
1113
  # ],
1115
1114
  # },
1116
1115
  # ],
1116
+ # client_token: "String",
1117
+ # dry_run: false,
1118
+ # vpc_id: "VpcId", # required
1117
1119
  # })
1118
1120
  # @param [Hash] options ({})
1121
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
1122
+ # The tags to assign to the route table.
1123
+ # @option options [String] :client_token
1124
+ # Unique, case-sensitive identifier that you provide to ensure the
1125
+ # idempotency of the request. For more information, see [Ensuring
1126
+ # idempotency][1].
1127
+ #
1128
+ #
1129
+ #
1130
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
1119
1131
  # @option options [Boolean] :dry_run
1120
1132
  # Checks whether you have the required permissions for the action,
1121
1133
  # without actually making the request, and provides an error response.
@@ -1123,11 +1135,9 @@ module Aws::EC2
1123
1135
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1124
1136
  # @option options [required, String] :vpc_id
1125
1137
  # The ID of the VPC.
1126
- # @option options [Array<Types::TagSpecification>] :tag_specifications
1127
- # The tags to assign to the route table.
1128
1138
  # @return [RouteTable]
1129
1139
  def create_route_table(options = {})
1130
- resp = Aws::Plugins::UserAgent.feature('resource') do
1140
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1131
1141
  @client.create_route_table(options)
1132
1142
  end
1133
1143
  RouteTable.new(
@@ -1145,7 +1155,7 @@ module Aws::EC2
1145
1155
  # vpc_id: "VpcId",
1146
1156
  # tag_specifications: [
1147
1157
  # {
1148
- # 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
1158
+ # 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
1149
1159
  # tags: [
1150
1160
  # {
1151
1161
  # key: "String",
@@ -1163,14 +1173,15 @@ module Aws::EC2
1163
1173
  # Constraints: Up to 255 characters in length
1164
1174
  #
1165
1175
  # Valid characters: a-z, A-Z, 0-9, spaces, and
1166
- # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
1176
+ # .\_-:/()#,@\[\]+=&amp;;\{}!$*
1167
1177
  # @option options [required, String] :group_name
1168
- # The name of the security group.
1178
+ # The name of the security group. Names are case-insensitive and must be
1179
+ # unique within the VPC.
1169
1180
  #
1170
- # Constraints: Up to 255 characters in length. Cannot start with `sg-`.
1181
+ # Constraints: Up to 255 characters in length. Can't start with `sg-`.
1171
1182
  #
1172
1183
  # Valid characters: a-z, A-Z, 0-9, spaces, and
1173
- # .\_-:/()#,@\[\]+=&amp;;\\\{\\}!$*
1184
+ # .\_-:/()#,@\[\]+=&amp;;\{}!$*
1174
1185
  # @option options [String] :vpc_id
1175
1186
  # The ID of the VPC. Required for a nondefault VPC.
1176
1187
  # @option options [Array<Types::TagSpecification>] :tag_specifications
@@ -1182,7 +1193,7 @@ module Aws::EC2
1182
1193
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1183
1194
  # @return [SecurityGroup]
1184
1195
  def create_security_group(options = {})
1185
- resp = Aws::Plugins::UserAgent.feature('resource') do
1196
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1186
1197
  @client.create_security_group(options)
1187
1198
  end
1188
1199
  SecurityGroup.new(
@@ -1199,7 +1210,7 @@ module Aws::EC2
1199
1210
  # volume_id: "VolumeId", # required
1200
1211
  # tag_specifications: [
1201
1212
  # {
1202
- # 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
1213
+ # 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
1203
1214
  # tags: [
1204
1215
  # {
1205
1216
  # key: "String",
@@ -1208,36 +1219,48 @@ module Aws::EC2
1208
1219
  # ],
1209
1220
  # },
1210
1221
  # ],
1222
+ # location: "regional", # accepts regional, local
1211
1223
  # dry_run: false,
1212
1224
  # })
1213
1225
  # @param [Hash] options ({})
1214
1226
  # @option options [String] :description
1215
1227
  # A description for the snapshot.
1216
1228
  # @option options [String] :outpost_arn
1217
- # The Amazon Resource Name (ARN) of the Outpost on which to create a
1218
- # local snapshot.
1229
+ # <note markdown="1"> Only supported for volumes on Outposts. If the source volume is not on
1230
+ # an Outpost, omit this parameter.
1219
1231
  #
1220
- # * To create a snapshot of a volume in a Region, omit this parameter.
1221
- # The snapshot is created in the same Region as the volume.
1232
+ # </note>
1222
1233
  #
1223
- # * To create a snapshot of a volume on an Outpost and store the
1224
- # snapshot in the Region, omit this parameter. The snapshot is created
1225
- # in the Region for the Outpost.
1234
+ # * To create the snapshot on the same Outpost as the source volume,
1235
+ # specify the ARN of that Outpost. The snapshot must be created on the
1236
+ # same Outpost as the volume.
1226
1237
  #
1227
- # * To create a snapshot of a volume on an Outpost and store the
1228
- # snapshot on an Outpost, specify the ARN of the destination Outpost.
1229
- # The snapshot must be created on the same Outpost as the volume.
1238
+ # * To create the snapshot in the parent Region of the Outpost, omit
1239
+ # this parameter.
1230
1240
  #
1231
1241
  # For more information, see [Create local snapshots from volumes on an
1232
- # Outpost][1] in the *Amazon Elastic Compute Cloud User Guide*.
1242
+ # Outpost][1] in the *Amazon EBS User Guide*.
1233
1243
  #
1234
1244
  #
1235
1245
  #
1236
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#create-snapshot
1246
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#create-snapshot
1237
1247
  # @option options [required, String] :volume_id
1238
1248
  # The ID of the Amazon EBS volume.
1239
1249
  # @option options [Array<Types::TagSpecification>] :tag_specifications
1240
1250
  # The tags to apply to the snapshot during creation.
1251
+ # @option options [String] :location
1252
+ # <note markdown="1"> Only supported for volumes in Local Zones. If the source volume is not
1253
+ # in a Local Zone, omit this parameter.
1254
+ #
1255
+ # </note>
1256
+ #
1257
+ # * To create a local snapshot in the same Local Zone as the source
1258
+ # volume, specify `local`.
1259
+ #
1260
+ # * To create a regional snapshot in the parent Region of the Local
1261
+ # Zone, specify `regional` or omit this parameter.
1262
+ #
1263
+ # Default value: `regional`
1241
1264
  # @option options [Boolean] :dry_run
1242
1265
  # Checks whether you have the required permissions for the action,
1243
1266
  # without actually making the request, and provides an error response.
@@ -1245,7 +1268,7 @@ module Aws::EC2
1245
1268
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1246
1269
  # @return [Snapshot]
1247
1270
  def create_snapshot(options = {})
1248
- resp = Aws::Plugins::UserAgent.feature('resource') do
1271
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1249
1272
  @client.create_snapshot(options)
1250
1273
  end
1251
1274
  Snapshot.new(
@@ -1260,7 +1283,7 @@ module Aws::EC2
1260
1283
  # subnet = ec2.create_subnet({
1261
1284
  # tag_specifications: [
1262
1285
  # {
1263
- # 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
1286
+ # 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
1264
1287
  # tags: [
1265
1288
  # {
1266
1289
  # key: "String",
@@ -1275,12 +1298,12 @@ module Aws::EC2
1275
1298
  # ipv_6_cidr_block: "String",
1276
1299
  # outpost_arn: "String",
1277
1300
  # vpc_id: "VpcId", # required
1278
- # dry_run: false,
1279
1301
  # ipv_6_native: false,
1280
1302
  # ipv_4_ipam_pool_id: "IpamPoolId",
1281
1303
  # ipv_4_netmask_length: 1,
1282
1304
  # ipv_6_ipam_pool_id: "IpamPoolId",
1283
1305
  # ipv_6_netmask_length: 1,
1306
+ # dry_run: false,
1284
1307
  # })
1285
1308
  # @param [Hash] options ({})
1286
1309
  # @option options [Array<Types::TagSpecification>] :tag_specifications
@@ -1294,14 +1317,14 @@ module Aws::EC2
1294
1317
  #
1295
1318
  # To create a subnet in a Local Zone, set this value to the Local Zone
1296
1319
  # ID, for example `us-west-2-lax-1a`. For information about the Regions
1297
- # that support Local Zones, see [Local Zones locations][1].
1320
+ # that support Local Zones, see [Available Local Zones][1].
1298
1321
  #
1299
1322
  # To create a subnet in an Outpost, set this value to the Availability
1300
1323
  # Zone for the Outpost and specify the Outpost ARN.
1301
1324
  #
1302
1325
  #
1303
1326
  #
1304
- # [1]: http://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/
1327
+ # [1]: https://docs.aws.amazon.com/local-zones/latest/ug/available-local-zones.html
1305
1328
  # @option options [String] :availability_zone_id
1306
1329
  # The AZ ID or the Local Zone ID of the subnet.
1307
1330
  # @option options [String] :cidr_block
@@ -1320,11 +1343,6 @@ module Aws::EC2
1320
1343
  # Outpost subnet.
1321
1344
  # @option options [required, String] :vpc_id
1322
1345
  # The ID of the VPC.
1323
- # @option options [Boolean] :dry_run
1324
- # Checks whether you have the required permissions for the action,
1325
- # without actually making the request, and provides an error response.
1326
- # If you have the required permissions, the error response is
1327
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1328
1346
  # @option options [Boolean] :ipv_6_native
1329
1347
  # Indicates whether to create an IPv6 only subnet.
1330
1348
  # @option options [String] :ipv_4_ipam_pool_id
@@ -1335,9 +1353,14 @@ module Aws::EC2
1335
1353
  # An IPv6 IPAM pool ID for the subnet.
1336
1354
  # @option options [Integer] :ipv_6_netmask_length
1337
1355
  # An IPv6 netmask length for the subnet.
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`.
1338
1361
  # @return [Subnet]
1339
1362
  def create_subnet(options = {})
1340
- resp = Aws::Plugins::UserAgent.feature('resource') do
1363
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1341
1364
  @client.create_subnet(options)
1342
1365
  end
1343
1366
  Subnet.new(
@@ -1376,7 +1399,7 @@ module Aws::EC2
1376
1399
  # set the value to an empty string.
1377
1400
  # @return [EmptyStructure]
1378
1401
  def create_tags(options = {})
1379
- resp = Aws::Plugins::UserAgent.feature('resource') do
1402
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1380
1403
  @client.create_tags(options)
1381
1404
  end
1382
1405
  resp.data
@@ -1419,7 +1442,7 @@ module Aws::EC2
1419
1442
  # Constraints: Up to 1000 tags.
1420
1443
  # @return [EmptyStructure]
1421
1444
  def delete_tags(options = {})
1422
- resp = Aws::Plugins::UserAgent.feature('resource') do
1445
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1423
1446
  @client.delete_tags(options)
1424
1447
  end
1425
1448
  resp.data
@@ -1436,10 +1459,9 @@ module Aws::EC2
1436
1459
  # size: 1,
1437
1460
  # snapshot_id: "SnapshotId",
1438
1461
  # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1, gp3
1439
- # dry_run: false,
1440
1462
  # tag_specifications: [
1441
1463
  # {
1442
- # 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
1464
+ # 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
1443
1465
  # tags: [
1444
1466
  # {
1445
1467
  # key: "String",
@@ -1451,6 +1473,11 @@ module Aws::EC2
1451
1473
  # multi_attach_enabled: false,
1452
1474
  # throughput: 1,
1453
1475
  # client_token: "String",
1476
+ # volume_initialization_rate: 1,
1477
+ # operator: {
1478
+ # principal: "String",
1479
+ # },
1480
+ # dry_run: false,
1454
1481
  # })
1455
1482
  # @param [Hash] options ({})
1456
1483
  # @option options [required, String] :availability_zone
@@ -1461,8 +1488,7 @@ module Aws::EC2
1461
1488
  # setting the encryption state to `true` depends on the volume origin
1462
1489
  # (new or from a snapshot), starting encryption state, ownership, and
1463
1490
  # whether encryption by default is enabled. For more information, see
1464
- # [Encryption by default][1] in the *Amazon Elastic Compute Cloud User
1465
- # Guide*.
1491
+ # [Encryption by default][1] in the *Amazon EBS User Guide*.
1466
1492
  #
1467
1493
  # Encrypted Amazon EBS volumes must be attached to instances that
1468
1494
  # support Amazon EBS encryption. For more information, see [Supported
@@ -1470,8 +1496,8 @@ module Aws::EC2
1470
1496
  #
1471
1497
  #
1472
1498
  #
1473
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
1474
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances
1499
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default
1500
+ # [2]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances
1475
1501
  # @option options [Integer] :iops
1476
1502
  # The number of I/O operations per second (IOPS). For `gp3`, `io1`, and
1477
1503
  # `io2` volumes, this represents the number of IOPS that are provisioned
@@ -1497,12 +1523,11 @@ module Aws::EC2
1497
1523
  #
1498
1524
  #
1499
1525
  #
1500
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
1526
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html
1501
1527
  # @option options [String] :kms_key_id
1502
- # The identifier of the Key Management Service (KMS) KMS key to use for
1503
- # Amazon EBS encryption. If this parameter is not specified, your KMS
1504
- # key for Amazon EBS is used. If `KmsKeyId` is specified, the encrypted
1505
- # state must be `true`.
1528
+ # The identifier of the KMS key to use for Amazon EBS encryption. If
1529
+ # this parameter is not specified, your KMS key for Amazon EBS is used.
1530
+ # If `KmsKeyId` is specified, the encrypted state must be `true`.
1506
1531
  #
1507
1532
  # You can specify the KMS key using any of the following:
1508
1533
  #
@@ -1520,7 +1545,14 @@ module Aws::EC2
1520
1545
  # Therefore, if you specify an ID, alias, or ARN that is not valid, the
1521
1546
  # action can appear to complete, but eventually fails.
1522
1547
  # @option options [String] :outpost_arn
1523
- # The Amazon Resource Name (ARN) of the Outpost.
1548
+ # The Amazon Resource Name (ARN) of the Outpost on which to create the
1549
+ # volume.
1550
+ #
1551
+ # If you intend to use a volume with an instance running on an outpost,
1552
+ # then you must create the volume on the same outpost as the instance.
1553
+ # You can't use a volume created in an Amazon Web Services Region with
1554
+ # an instance on an Amazon Web Services outpost, or the other way
1555
+ # around.
1524
1556
  # @option options [Integer] :size
1525
1557
  # The size of the volume, in GiBs. You must specify either a snapshot ID
1526
1558
  # or a volume size. If you specify a snapshot, the default is the
@@ -1558,18 +1590,13 @@ module Aws::EC2
1558
1590
  # be used as boot volumes.
1559
1591
  #
1560
1592
  # For more information, see [Amazon EBS volume types][1] in the *Amazon
1561
- # Elastic Compute Cloud User Guide*.
1593
+ # EBS User Guide*.
1562
1594
  #
1563
1595
  # Default: `gp2`
1564
1596
  #
1565
1597
  #
1566
1598
  #
1567
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
1568
- # @option options [Boolean] :dry_run
1569
- # Checks whether you have the required permissions for the action,
1570
- # without actually making the request, and provides an error response.
1571
- # If you have the required permissions, the error response is
1572
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1599
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html
1573
1600
  # @option options [Array<Types::TagSpecification>] :tag_specifications
1574
1601
  # The tags to apply to the volume during creation.
1575
1602
  # @option options [Boolean] :multi_attach_enabled
@@ -1577,13 +1604,12 @@ module Aws::EC2
1577
1604
  # Multi-Attach, you can attach the volume to up to 16 [Instances built
1578
1605
  # on the Nitro System][1] in the same Availability Zone. This parameter
1579
1606
  # is supported with `io1` and `io2` volumes only. For more information,
1580
- # see [ Amazon EBS Multi-Attach][2] in the *Amazon Elastic Compute Cloud
1581
- # User Guide*.
1607
+ # see [ Amazon EBS Multi-Attach][2] in the *Amazon EBS User Guide*.
1582
1608
  #
1583
1609
  #
1584
1610
  #
1585
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
1586
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html
1611
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html
1612
+ # [2]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html
1587
1613
  # @option options [Integer] :throughput
1588
1614
  # The throughput to provision for a volume, with a maximum of 1,000
1589
1615
  # MiB/s.
@@ -1598,10 +1624,48 @@ module Aws::EC2
1598
1624
  #
1599
1625
  #
1600
1626
  #
1601
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
1627
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
1628
+ # @option options [Integer] :volume_initialization_rate
1629
+ # Specifies the Amazon EBS Provisioned Rate for Volume Initialization
1630
+ # (volume initialization rate), in MiB/s, at which to download the
1631
+ # snapshot blocks from Amazon S3 to the volume. This is also known as
1632
+ # *volume initialization*. Specifying a volume initialization rate
1633
+ # ensures that the volume is initialized at a predictable and consistent
1634
+ # rate after creation.
1635
+ #
1636
+ # This parameter is supported only for volumes created from snapshots.
1637
+ # Omit this parameter if:
1638
+ #
1639
+ # * You want to create the volume using fast snapshot restore. You must
1640
+ # specify a snapshot that is enabled for fast snapshot restore. In
1641
+ # this case, the volume is fully initialized at creation.
1642
+ #
1643
+ # <note markdown="1"> If you specify a snapshot that is enabled for fast snapshot restore
1644
+ # and a volume initialization rate, the volume will be initialized at
1645
+ # the specified rate instead of fast snapshot restore.
1646
+ #
1647
+ # </note>
1648
+ #
1649
+ # * You want to create a volume that is initialized at the default rate.
1650
+ #
1651
+ # For more information, see [ Initialize Amazon EBS volumes][1] in the
1652
+ # *Amazon EC2 User Guide*.
1653
+ #
1654
+ # Valid range: 100 - 300 MiB/s
1655
+ #
1656
+ #
1657
+ #
1658
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html
1659
+ # @option options [Types::OperatorRequest] :operator
1660
+ # Reserved for internal use.
1661
+ # @option options [Boolean] :dry_run
1662
+ # Checks whether you have the required permissions for the action,
1663
+ # without actually making the request, and provides an error response.
1664
+ # If you have the required permissions, the error response is
1665
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1602
1666
  # @return [Volume]
1603
1667
  def create_volume(options = {})
1604
- resp = Aws::Plugins::UserAgent.feature('resource') do
1668
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1605
1669
  @client.create_volume(options)
1606
1670
  end
1607
1671
  Volume.new(
@@ -1615,19 +1679,16 @@ module Aws::EC2
1615
1679
  #
1616
1680
  # vpc = ec2.create_vpc({
1617
1681
  # cidr_block: "String",
1618
- # amazon_provided_ipv_6_cidr_block: false,
1619
1682
  # ipv_6_pool: "Ipv6PoolEc2Id",
1620
1683
  # ipv_6_cidr_block: "String",
1621
1684
  # ipv_4_ipam_pool_id: "IpamPoolId",
1622
1685
  # ipv_4_netmask_length: 1,
1623
1686
  # ipv_6_ipam_pool_id: "IpamPoolId",
1624
1687
  # ipv_6_netmask_length: 1,
1625
- # dry_run: false,
1626
- # instance_tenancy: "default", # accepts default, dedicated, host
1627
1688
  # ipv_6_cidr_block_network_border_group: "String",
1628
1689
  # tag_specifications: [
1629
1690
  # {
1630
- # 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
1691
+ # 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
1631
1692
  # tags: [
1632
1693
  # {
1633
1694
  # key: "String",
@@ -1636,6 +1697,9 @@ module Aws::EC2
1636
1697
  # ],
1637
1698
  # },
1638
1699
  # ],
1700
+ # dry_run: false,
1701
+ # instance_tenancy: "default", # accepts default, dedicated, host
1702
+ # amazon_provided_ipv_6_cidr_block: false,
1639
1703
  # })
1640
1704
  # @param [Hash] options ({})
1641
1705
  # @option options [String] :cidr_block
@@ -1643,10 +1707,6 @@ module Aws::EC2
1643
1707
  # `10.0.0.0/16`. We modify the specified CIDR block to its canonical
1644
1708
  # form; for example, if you specify `100.68.0.18/18`, we modify it to
1645
1709
  # `100.68.0.0/18`.
1646
- # @option options [Boolean] :amazon_provided_ipv_6_cidr_block
1647
- # Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length
1648
- # for the VPC. You cannot specify the range of IP addresses, or the size
1649
- # of the CIDR block.
1650
1710
  # @option options [String] :ipv_6_pool
1651
1711
  # The ID of an IPv6 address pool from which to allocate the IPv6 CIDR
1652
1712
  # block.
@@ -1693,6 +1753,14 @@ module Aws::EC2
1693
1753
  #
1694
1754
  #
1695
1755
  # [1]: https://docs.aws.amazon.com/vpc/latest/ipam/what-is-it-ipam.html
1756
+ # @option options [String] :ipv_6_cidr_block_network_border_group
1757
+ # The name of the location from which we advertise the IPV6 CIDR block.
1758
+ # Use this parameter to limit the address to this location.
1759
+ #
1760
+ # You must set `AmazonProvidedIpv6CidrBlock` to `true` to use this
1761
+ # parameter.
1762
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
1763
+ # The tags to assign to the VPC.
1696
1764
  # @option options [Boolean] :dry_run
1697
1765
  # Checks whether you have the required permissions for the action,
1698
1766
  # without actually making the request, and provides an error response.
@@ -1710,17 +1778,13 @@ module Aws::EC2
1710
1778
  # Use the `default` or `dedicated` values only.
1711
1779
  #
1712
1780
  # Default: `default`
1713
- # @option options [String] :ipv_6_cidr_block_network_border_group
1714
- # The name of the location from which we advertise the IPV6 CIDR block.
1715
- # Use this parameter to limit the address to this location.
1716
- #
1717
- # You must set `AmazonProvidedIpv6CidrBlock` to `true` to use this
1718
- # parameter.
1719
- # @option options [Array<Types::TagSpecification>] :tag_specifications
1720
- # The tags to assign to the VPC.
1781
+ # @option options [Boolean] :amazon_provided_ipv_6_cidr_block
1782
+ # Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length
1783
+ # for the VPC. You cannot specify the range of IP addresses, or the size
1784
+ # of the CIDR block.
1721
1785
  # @return [Vpc]
1722
1786
  def create_vpc(options = {})
1723
- resp = Aws::Plugins::UserAgent.feature('resource') do
1787
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1724
1788
  @client.create_vpc(options)
1725
1789
  end
1726
1790
  Vpc.new(
@@ -1733,14 +1797,10 @@ module Aws::EC2
1733
1797
  # @example Request syntax with placeholder values
1734
1798
  #
1735
1799
  # vpcpeeringconnection = ec2.create_vpc_peering_connection({
1736
- # dry_run: false,
1737
- # peer_owner_id: "String",
1738
- # peer_vpc_id: "String",
1739
- # vpc_id: "VpcId", # required
1740
1800
  # peer_region: "String",
1741
1801
  # tag_specifications: [
1742
1802
  # {
1743
- # 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
1803
+ # 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
1744
1804
  # tags: [
1745
1805
  # {
1746
1806
  # key: "String",
@@ -1749,33 +1809,37 @@ module Aws::EC2
1749
1809
  # ],
1750
1810
  # },
1751
1811
  # ],
1812
+ # dry_run: false,
1813
+ # vpc_id: "VpcId", # required
1814
+ # peer_vpc_id: "String",
1815
+ # peer_owner_id: "String",
1752
1816
  # })
1753
1817
  # @param [Hash] options ({})
1818
+ # @option options [String] :peer_region
1819
+ # The Region code for the accepter VPC, if the accepter VPC is located
1820
+ # in a Region other than the Region in which you make the request.
1821
+ #
1822
+ # Default: The Region in which you make the request.
1823
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
1824
+ # The tags to assign to the peering connection.
1754
1825
  # @option options [Boolean] :dry_run
1755
1826
  # Checks whether you have the required permissions for the action,
1756
1827
  # without actually making the request, and provides an error response.
1757
1828
  # If you have the required permissions, the error response is
1758
1829
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1759
- # @option options [String] :peer_owner_id
1760
- # The Amazon Web Services account ID of the owner of the accepter VPC.
1761
- #
1762
- # Default: Your Amazon Web Services account ID
1763
- # @option options [String] :peer_vpc_id
1764
- # The ID of the VPC with which you are creating the VPC peering
1765
- # connection. You must specify this parameter in the request.
1766
1830
  # @option options [required, String] :vpc_id
1767
1831
  # The ID of the requester VPC. You must specify this parameter in the
1768
1832
  # request.
1769
- # @option options [String] :peer_region
1770
- # The Region code for the accepter VPC, if the accepter VPC is located
1771
- # in a Region other than the Region in which you make the request.
1833
+ # @option options [String] :peer_vpc_id
1834
+ # The ID of the VPC with which you are creating the VPC peering
1835
+ # connection. You must specify this parameter in the request.
1836
+ # @option options [String] :peer_owner_id
1837
+ # The Amazon Web Services account ID of the owner of the accepter VPC.
1772
1838
  #
1773
- # Default: The Region in which you make the request.
1774
- # @option options [Array<Types::TagSpecification>] :tag_specifications
1775
- # The tags to assign to the peering connection.
1839
+ # Default: Your Amazon Web Services account ID
1776
1840
  # @return [VpcPeeringConnection]
1777
1841
  def create_vpc_peering_connection(options = {})
1778
- resp = Aws::Plugins::UserAgent.feature('resource') do
1842
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1779
1843
  @client.create_vpc_peering_connection(options)
1780
1844
  end
1781
1845
  VpcPeeringConnection.new(
@@ -1788,21 +1852,21 @@ module Aws::EC2
1788
1852
  # @example Request syntax with placeholder values
1789
1853
  #
1790
1854
  # ec2.disassociate_route_table({
1791
- # association_id: "RouteTableAssociationId", # required
1792
1855
  # dry_run: false,
1856
+ # association_id: "RouteTableAssociationId", # required
1793
1857
  # })
1794
1858
  # @param [Hash] options ({})
1795
- # @option options [required, String] :association_id
1796
- # The association ID representing the current association between the
1797
- # route table and subnet or gateway.
1798
1859
  # @option options [Boolean] :dry_run
1799
1860
  # Checks whether you have the required permissions for the action,
1800
1861
  # without actually making the request, and provides an error response.
1801
1862
  # If you have the required permissions, the error response is
1802
1863
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1864
+ # @option options [required, String] :association_id
1865
+ # The association ID representing the current association between the
1866
+ # route table and subnet or gateway.
1803
1867
  # @return [EmptyStructure]
1804
1868
  def disassociate_route_table(options = {})
1805
- resp = Aws::Plugins::UserAgent.feature('resource') do
1869
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1806
1870
  @client.disassociate_route_table(options)
1807
1871
  end
1808
1872
  resp.data
@@ -1811,12 +1875,9 @@ module Aws::EC2
1811
1875
  # @example Request syntax with placeholder values
1812
1876
  #
1813
1877
  # keypairinfo = ec2.import_key_pair({
1814
- # dry_run: false,
1815
- # key_name: "String", # required
1816
- # public_key_material: "data", # required
1817
1878
  # tag_specifications: [
1818
1879
  # {
1819
- # 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
1880
+ # 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
1820
1881
  # tags: [
1821
1882
  # {
1822
1883
  # key: "String",
@@ -1825,8 +1886,13 @@ module Aws::EC2
1825
1886
  # ],
1826
1887
  # },
1827
1888
  # ],
1889
+ # dry_run: false,
1890
+ # key_name: "String", # required
1891
+ # public_key_material: "data", # required
1828
1892
  # })
1829
1893
  # @param [Hash] options ({})
1894
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
1895
+ # The tags to apply to the imported key pair.
1830
1896
  # @option options [Boolean] :dry_run
1831
1897
  # Checks whether you have the required permissions for the action,
1832
1898
  # without actually making the request, and provides an error response.
@@ -1835,13 +1901,10 @@ module Aws::EC2
1835
1901
  # @option options [required, String] :key_name
1836
1902
  # A unique name for the key pair.
1837
1903
  # @option options [required, String, StringIO, File] :public_key_material
1838
- # The public key. For API calls, the text must be base64-encoded. For
1839
- # command line tools, base64 encoding is performed for you.
1840
- # @option options [Array<Types::TagSpecification>] :tag_specifications
1841
- # The tags to apply to the imported key pair.
1904
+ # The public key.
1842
1905
  # @return [KeyPairInfo]
1843
1906
  def import_key_pair(options = {})
1844
- resp = Aws::Plugins::UserAgent.feature('resource') do
1907
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1845
1908
  @client.import_key_pair(options)
1846
1909
  end
1847
1910
  KeyPairInfo.new(
@@ -1854,11 +1917,31 @@ module Aws::EC2
1854
1917
  #
1855
1918
  # image = ec2.register_image({
1856
1919
  # image_location: "String",
1920
+ # billing_products: ["String"],
1921
+ # boot_mode: "legacy-bios", # accepts legacy-bios, uefi, uefi-preferred
1922
+ # tpm_support: "v2.0", # accepts v2.0
1923
+ # uefi_data: "StringType",
1924
+ # imds_support: "v2.0", # accepts v2.0
1925
+ # tag_specifications: [
1926
+ # {
1927
+ # 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
1928
+ # tags: [
1929
+ # {
1930
+ # key: "String",
1931
+ # value: "String",
1932
+ # },
1933
+ # ],
1934
+ # },
1935
+ # ],
1936
+ # dry_run: false,
1937
+ # name: "String", # required
1938
+ # description: "String",
1857
1939
  # architecture: "i386", # accepts i386, x86_64, arm64, x86_64_mac, arm64_mac
1940
+ # kernel_id: "KernelId",
1941
+ # ramdisk_id: "RamdiskId",
1942
+ # root_device_name: "String",
1858
1943
  # block_device_mappings: [
1859
1944
  # {
1860
- # device_name: "String",
1861
- # virtual_name: "String",
1862
1945
  # ebs: {
1863
1946
  # delete_on_termination: false,
1864
1947
  # iops: 1,
@@ -1869,24 +1952,16 @@ module Aws::EC2
1869
1952
  # throughput: 1,
1870
1953
  # outpost_arn: "String",
1871
1954
  # encrypted: false,
1955
+ # volume_initialization_rate: 1,
1872
1956
  # },
1873
1957
  # no_device: "String",
1958
+ # device_name: "String",
1959
+ # virtual_name: "String",
1874
1960
  # },
1875
1961
  # ],
1876
- # description: "String",
1877
- # dry_run: false,
1878
- # ena_support: false,
1879
- # kernel_id: "KernelId",
1880
- # name: "String", # required
1881
- # billing_products: ["String"],
1882
- # ramdisk_id: "RamdiskId",
1883
- # root_device_name: "String",
1884
- # sriov_net_support: "String",
1885
1962
  # virtualization_type: "String",
1886
- # boot_mode: "legacy-bios", # accepts legacy-bios, uefi, uefi-preferred
1887
- # tpm_support: "v2.0", # accepts v2.0
1888
- # uefi_data: "StringType",
1889
- # imds_support: "v2.0", # accepts v2.0
1963
+ # sriov_net_support: "String",
1964
+ # ena_support: false,
1890
1965
  # })
1891
1966
  # @param [Hash] options ({})
1892
1967
  # @option options [String] :image_location
@@ -1898,47 +1973,6 @@ module Aws::EC2
1898
1973
  #
1899
1974
  #
1900
1975
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
1901
- # @option options [String] :architecture
1902
- # The architecture of the AMI.
1903
- #
1904
- # Default: For Amazon EBS-backed AMIs, `i386`. For instance store-backed
1905
- # AMIs, the architecture specified in the manifest file.
1906
- # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
1907
- # The block device mapping entries.
1908
- #
1909
- # If you specify an Amazon EBS volume using the ID of an Amazon EBS
1910
- # snapshot, you can't specify the encryption state of the volume.
1911
- #
1912
- # If you create an AMI on an Outpost, then all backing snapshots must be
1913
- # on the same Outpost or in the Region of that Outpost. AMIs on an
1914
- # Outpost that include local snapshots can be used to launch instances
1915
- # on the same Outpost only. For more information, [Amazon EBS local
1916
- # snapshots on Outposts][1] in the *Amazon EC2 User Guide*.
1917
- #
1918
- #
1919
- #
1920
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshots-outposts.html#ami
1921
- # @option options [String] :description
1922
- # A description for your AMI.
1923
- # @option options [Boolean] :dry_run
1924
- # Checks whether you have the required permissions for the action,
1925
- # without actually making the request, and provides an error response.
1926
- # If you have the required permissions, the error response is
1927
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1928
- # @option options [Boolean] :ena_support
1929
- # Set to `true` to enable enhanced networking with ENA for the AMI and
1930
- # any instances that you launch from the AMI.
1931
- #
1932
- # This option is supported only for HVM AMIs. Specifying this option
1933
- # with a PV AMI can make instances launched from the AMI unreachable.
1934
- # @option options [String] :kernel_id
1935
- # The ID of the kernel.
1936
- # @option options [required, String] :name
1937
- # A name for your AMI.
1938
- #
1939
- # Constraints: 3-128 alphanumeric characters, parentheses (()), square
1940
- # brackets (\[\]), spaces ( ), periods (.), slashes (/), dashes (-),
1941
- # single quotes ('), at-signs (@), or underscores(\_)
1942
1976
  # @option options [Array<String>] :billing_products
1943
1977
  # The billing product codes. Your account must be authorized to specify
1944
1978
  # billing product codes.
@@ -1954,23 +1988,6 @@ module Aws::EC2
1954
1988
  #
1955
1989
  # [1]: https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html
1956
1990
  # [2]: https://docs.aws.amazon.com/marketplace/latest/userguide/ami-products.html
1957
- # @option options [String] :ramdisk_id
1958
- # The ID of the RAM disk.
1959
- # @option options [String] :root_device_name
1960
- # The device name of the root device volume (for example, `/dev/sda1`).
1961
- # @option options [String] :sriov_net_support
1962
- # Set to `simple` to enable enhanced networking with the Intel 82599
1963
- # Virtual Function interface for the AMI and any instances that you
1964
- # launch from the AMI.
1965
- #
1966
- # There is no way to disable `sriovNetSupport` at this time.
1967
- #
1968
- # This option is supported only for HVM AMIs. Specifying this option
1969
- # with a PV AMI can make instances launched from the AMI unreachable.
1970
- # @option options [String] :virtualization_type
1971
- # The type of virtualization (`hvm` \| `paravirtual`).
1972
- #
1973
- # Default: `paravirtual`
1974
1991
  # @option options [String] :boot_mode
1975
1992
  # The boot mode of the AMI. A value of `uefi-preferred` indicates that
1976
1993
  # the AMI supports both UEFI and Legacy BIOS.
@@ -2002,28 +2019,97 @@ module Aws::EC2
2002
2019
  #
2003
2020
  #
2004
2021
  #
2005
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceUefiData
2006
- # [2]: https://github.com/awslabs/python-uefivars
2007
- # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html
2008
- # @option options [String] :imds_support
2009
- # Set to `v2.0` to indicate that IMDSv2 is specified in the AMI.
2010
- # Instances launched from this AMI will have `HttpTokens` automatically
2011
- # set to `required` so that, by default, the instance requires that
2012
- # IMDSv2 is used when requesting instance metadata. In addition,
2013
- # `HttpPutResponseHopLimit` is set to `2`. For more information, see
2014
- # [Configure the AMI][1] in the *Amazon EC2 User Guide*.
2022
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceUefiData
2023
+ # [2]: https://github.com/awslabs/python-uefivars
2024
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/uefi-secure-boot.html
2025
+ # @option options [String] :imds_support
2026
+ # Set to `v2.0` to indicate that IMDSv2 is specified in the AMI.
2027
+ # Instances launched from this AMI will have `HttpTokens` automatically
2028
+ # set to `required` so that, by default, the instance requires that
2029
+ # IMDSv2 is used when requesting instance metadata. In addition,
2030
+ # `HttpPutResponseHopLimit` is set to `2`. For more information, see
2031
+ # [Configure the AMI][1] in the *Amazon EC2 User Guide*.
2032
+ #
2033
+ # <note markdown="1"> If you set the value to `v2.0`, make sure that your AMI software can
2034
+ # support IMDSv2.
2035
+ #
2036
+ # </note>
2037
+ #
2038
+ #
2039
+ #
2040
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration
2041
+ # @option options [Array<Types::TagSpecification>] :tag_specifications
2042
+ # The tags to apply to the AMI.
2043
+ #
2044
+ # To tag the AMI, the value for `ResourceType` must be `image`. If you
2045
+ # specify another value for `ResourceType`, the request fails.
2046
+ #
2047
+ # To tag an AMI after it has been registered, see [CreateTags][1].
2048
+ #
2049
+ #
2050
+ #
2051
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
2052
+ # @option options [Boolean] :dry_run
2053
+ # Checks whether you have the required permissions for the action,
2054
+ # without actually making the request, and provides an error response.
2055
+ # If you have the required permissions, the error response is
2056
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2057
+ # @option options [required, String] :name
2058
+ # A name for your AMI.
2059
+ #
2060
+ # Constraints: 3-128 alphanumeric characters, parentheses (()), square
2061
+ # brackets (\[\]), spaces ( ), periods (.), slashes (/), dashes (-),
2062
+ # single quotes ('), at-signs (@), or underscores(\_)
2063
+ # @option options [String] :description
2064
+ # A description for your AMI.
2065
+ # @option options [String] :architecture
2066
+ # The architecture of the AMI.
2067
+ #
2068
+ # Default: For Amazon EBS-backed AMIs, `i386`. For instance store-backed
2069
+ # AMIs, the architecture specified in the manifest file.
2070
+ # @option options [String] :kernel_id
2071
+ # The ID of the kernel.
2072
+ # @option options [String] :ramdisk_id
2073
+ # The ID of the RAM disk.
2074
+ # @option options [String] :root_device_name
2075
+ # The device name of the root device volume (for example, `/dev/sda1`).
2076
+ # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
2077
+ # The block device mapping entries.
2078
+ #
2079
+ # If you specify an Amazon EBS volume using the ID of an Amazon EBS
2080
+ # snapshot, you can't specify the encryption state of the volume.
2081
+ #
2082
+ # If you create an AMI on an Outpost, then all backing snapshots must be
2083
+ # on the same Outpost or in the Region of that Outpost. AMIs on an
2084
+ # Outpost that include local snapshots can be used to launch instances
2085
+ # on the same Outpost only. For more information, [Amazon EBS local
2086
+ # snapshots on Outposts][1] in the *Amazon EBS User Guide*.
2087
+ #
2015
2088
  #
2016
- # <note markdown="1"> If you set the value to `v2.0`, make sure that your AMI software can
2017
- # support IMDSv2.
2018
2089
  #
2019
- # </note>
2090
+ # [1]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#ami
2091
+ # @option options [String] :virtualization_type
2092
+ # The type of virtualization (`hvm` \| `paravirtual`).
2020
2093
  #
2094
+ # Default: `paravirtual`
2095
+ # @option options [String] :sriov_net_support
2096
+ # Set to `simple` to enable enhanced networking with the Intel 82599
2097
+ # Virtual Function interface for the AMI and any instances that you
2098
+ # launch from the AMI.
2021
2099
  #
2100
+ # There is no way to disable `sriovNetSupport` at this time.
2022
2101
  #
2023
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration
2102
+ # This option is supported only for HVM AMIs. Specifying this option
2103
+ # with a PV AMI can make instances launched from the AMI unreachable.
2104
+ # @option options [Boolean] :ena_support
2105
+ # Set to `true` to enable enhanced networking with ENA for the AMI and
2106
+ # any instances that you launch from the AMI.
2107
+ #
2108
+ # This option is supported only for HVM AMIs. Specifying this option
2109
+ # with a PV AMI can make instances launched from the AMI unreachable.
2024
2110
  # @return [Image]
2025
2111
  def register_image(options = {})
2026
- resp = Aws::Plugins::UserAgent.feature('resource') do
2112
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2027
2113
  @client.register_image(options)
2028
2114
  end
2029
2115
  Image.new(
@@ -2037,17 +2123,26 @@ module Aws::EC2
2037
2123
  # @example Request syntax with placeholder values
2038
2124
  #
2039
2125
  # classic_addresses = ec2.classic_addresses({
2126
+ # public_ips: ["String"],
2127
+ # dry_run: false,
2040
2128
  # filters: [
2041
2129
  # {
2042
2130
  # name: "String",
2043
2131
  # values: ["String"],
2044
2132
  # },
2045
2133
  # ],
2046
- # public_ips: ["String"],
2047
2134
  # allocation_ids: ["AllocationId"],
2048
- # dry_run: false,
2049
2135
  # })
2050
2136
  # @param [Hash] options ({})
2137
+ # @option options [Array<String>] :public_ips
2138
+ # One or more Elastic IP addresses.
2139
+ #
2140
+ # Default: Describes all your Elastic IP addresses.
2141
+ # @option options [Boolean] :dry_run
2142
+ # Checks whether you have the required permissions for the action,
2143
+ # without actually making the request, and provides an error response.
2144
+ # If you have the required permissions, the error response is
2145
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2051
2146
  # @option options [Array<Types::Filter>] :filters
2052
2147
  # One or more filters. Filter names and values are case-sensitive.
2053
2148
  #
@@ -2082,17 +2177,8 @@ module Aws::EC2
2082
2177
  # * `tag-key` - The key of a tag assigned to the resource. Use this
2083
2178
  # filter to find all resources assigned a tag with a specific key,
2084
2179
  # regardless of the tag value.
2085
- # @option options [Array<String>] :public_ips
2086
- # One or more Elastic IP addresses.
2087
- #
2088
- # Default: Describes all your Elastic IP addresses.
2089
2180
  # @option options [Array<String>] :allocation_ids
2090
2181
  # Information about the allocation IDs.
2091
- # @option options [Boolean] :dry_run
2092
- # Checks whether you have the required permissions for the action,
2093
- # without actually making the request, and provides an error response.
2094
- # If you have the required permissions, the error response is
2095
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2096
2182
  # @return [ClassicAddress::Collection]
2097
2183
  def classic_addresses(options = {})
2098
2184
  batches = Enumerator.new do |y|
@@ -2101,7 +2187,7 @@ module Aws::EC2
2101
2187
  name: "domain",
2102
2188
  values: ["standard"]
2103
2189
  }])
2104
- resp = Aws::Plugins::UserAgent.feature('resource') do
2190
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2105
2191
  @client.describe_addresses(options)
2106
2192
  end
2107
2193
  resp.data.addresses.each do |a|
@@ -2129,19 +2215,22 @@ module Aws::EC2
2129
2215
  #
2130
2216
  # dhcp_options_sets = ec2.dhcp_options_sets({
2131
2217
  # dhcp_options_ids: ["DhcpOptionsId"],
2218
+ # dry_run: false,
2132
2219
  # filters: [
2133
2220
  # {
2134
2221
  # name: "String",
2135
2222
  # values: ["String"],
2136
2223
  # },
2137
2224
  # ],
2138
- # dry_run: false,
2139
2225
  # })
2140
2226
  # @param [Hash] options ({})
2141
2227
  # @option options [Array<String>] :dhcp_options_ids
2142
- # The IDs of one or more DHCP options sets.
2143
- #
2144
- # Default: Describes all your DHCP options sets.
2228
+ # The IDs of DHCP option sets.
2229
+ # @option options [Boolean] :dry_run
2230
+ # Checks whether you have the required permissions for the action,
2231
+ # without actually making the request, and provides an error response.
2232
+ # If you have the required permissions, the error response is
2233
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2145
2234
  # @option options [Array<Types::Filter>] :filters
2146
2235
  # The filters.
2147
2236
  #
@@ -2154,24 +2243,19 @@ module Aws::EC2
2154
2243
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
2155
2244
  # DHCP options set.
2156
2245
  #
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.
2246
+ # * `tag` - The key/value combination of a tag assigned to the resource.
2247
+ # Use the tag key in the filter name and the tag value as the filter
2248
+ # value. For example, to find all resources that have a tag with the
2249
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
2250
+ # filter name and `TeamA` for the filter value.
2162
2251
  #
2163
2252
  # * `tag-key` - The key of a tag assigned to the resource. Use this
2164
2253
  # filter to find all resources assigned a tag with a specific key,
2165
2254
  # regardless of the tag value.
2166
- # @option options [Boolean] :dry_run
2167
- # Checks whether you have the required permissions for the action,
2168
- # without actually making the request, and provides an error response.
2169
- # If you have the required permissions, the error response is
2170
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2171
2255
  # @return [DhcpOptions::Collection]
2172
2256
  def dhcp_options_sets(options = {})
2173
2257
  batches = Enumerator.new do |y|
2174
- resp = Aws::Plugins::UserAgent.feature('resource') do
2258
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2175
2259
  @client.describe_dhcp_options(options)
2176
2260
  end
2177
2261
  resp.each_page do |page|
@@ -2202,17 +2286,17 @@ module Aws::EC2
2202
2286
  #
2203
2287
  # images = ec2.images({
2204
2288
  # executable_users: ["String"],
2289
+ # image_ids: ["ImageId"],
2290
+ # owners: ["String"],
2291
+ # include_deprecated: false,
2292
+ # include_disabled: false,
2293
+ # dry_run: false,
2205
2294
  # filters: [
2206
2295
  # {
2207
2296
  # name: "String",
2208
2297
  # values: ["String"],
2209
2298
  # },
2210
2299
  # ],
2211
- # image_ids: ["ImageId"],
2212
- # owners: ["String"],
2213
- # include_deprecated: false,
2214
- # include_disabled: false,
2215
- # dry_run: false,
2216
2300
  # })
2217
2301
  # @param [Hash] options ({})
2218
2302
  # @option options [Array<String>] :executable_users
@@ -2231,6 +2315,34 @@ module Aws::EC2
2231
2315
  # also returned.
2232
2316
  #
2233
2317
  # * If you specify `all`, all public AMIs are returned.
2318
+ # @option options [Array<String>] :image_ids
2319
+ # The image IDs.
2320
+ #
2321
+ # Default: Describes all images available to you.
2322
+ # @option options [Array<String>] :owners
2323
+ # Scopes the results to images with the specified owners. You can
2324
+ # specify a combination of Amazon Web Services account IDs, `self`,
2325
+ # `amazon`, `aws-backup-vault`, and `aws-marketplace`. If you omit this
2326
+ # parameter, the results include all images for which you have launch
2327
+ # permissions, regardless of ownership.
2328
+ # @option options [Boolean] :include_deprecated
2329
+ # Specifies whether to include deprecated AMIs.
2330
+ #
2331
+ # Default: No deprecated AMIs are included in the response.
2332
+ #
2333
+ # <note markdown="1"> If you are the AMI owner, all deprecated AMIs appear in the response
2334
+ # regardless of what you specify for this parameter.
2335
+ #
2336
+ # </note>
2337
+ # @option options [Boolean] :include_disabled
2338
+ # Specifies whether to include disabled AMIs.
2339
+ #
2340
+ # Default: No disabled AMIs are included in the response.
2341
+ # @option options [Boolean] :dry_run
2342
+ # Checks whether you have the required permissions for the action,
2343
+ # without actually making the request, and provides an error response.
2344
+ # If you have the required permissions, the error response is
2345
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2234
2346
  # @option options [Array<Types::Filter>] :filters
2235
2347
  # The filters.
2236
2348
  #
@@ -2270,6 +2382,9 @@ module Aws::EC2
2270
2382
  #
2271
2383
  # * `hypervisor` - The hypervisor type (`ovm` \| `xen`).
2272
2384
  #
2385
+ # * `image-allowed` - A Boolean that indicates whether the image meets
2386
+ # the criteria specified for Allowed AMIs.
2387
+ #
2273
2388
  # * `image-id` - The ID of the image.
2274
2389
  #
2275
2390
  # * `image-type` - The image type (`machine` \| `kernel` \| `ramdisk`).
@@ -2282,11 +2397,11 @@ module Aws::EC2
2282
2397
  #
2283
2398
  # * `name` - The name of the AMI (provided during image creation).
2284
2399
  #
2285
- # * `owner-alias` - The owner alias (`amazon` \| `aws-marketplace`). The
2286
- # valid aliases are defined in an Amazon-maintained list. This is not
2287
- # the Amazon Web Services account alias that can be set using the IAM
2288
- # console. We recommend that you use the **Owner** request parameter
2289
- # instead of this filter.
2400
+ # * `owner-alias` - The owner alias (`amazon` \| `aws-backup-vault` \|
2401
+ # `aws-marketplace`). The valid aliases are defined in an
2402
+ # Amazon-maintained list. This is not the Amazon Web Services account
2403
+ # alias that can be set using the IAM console. We recommend that you
2404
+ # use the **Owner** request parameter instead of this filter.
2290
2405
  #
2291
2406
  # * `owner-id` - The Amazon Web Services account ID of the owner. We
2292
2407
  # recommend that you use the **Owner** request parameter instead of
@@ -2306,6 +2421,11 @@ module Aws::EC2
2306
2421
  # * `root-device-type` - The type of the root device volume (`ebs` \|
2307
2422
  # `instance-store`).
2308
2423
  #
2424
+ # * `source-image-id` - The ID of the source AMI from which the AMI was
2425
+ # created.
2426
+ #
2427
+ # * `source-image-region` - The Region of the source AMI.
2428
+ #
2309
2429
  # * `source-instance-id` - The ID of the instance that the AMI was
2310
2430
  # created from if the AMI was created using CreateImage. This filter
2311
2431
  # is applicable only if the AMI was created using [CreateImage][1].
@@ -2320,11 +2440,11 @@ module Aws::EC2
2320
2440
  # * `sriov-net-support` - A value of `simple` indicates that enhanced
2321
2441
  # networking with the Intel 82599 VF interface is enabled.
2322
2442
  #
2323
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
2324
- # the resource. Use the tag key in the filter name and the tag value
2325
- # as the filter value. For example, to find all resources that have a
2326
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
2327
- # for the filter name and `TeamA` for the filter value.
2443
+ # * `tag:<key>` - The key/value combination of a tag assigned to the
2444
+ # resource. Use the tag key in the filter name and the tag value as
2445
+ # the filter value. For example, to find all resources that have a tag
2446
+ # with the key `Owner` and the value `TeamA`, specify `tag:Owner` for
2447
+ # the filter name and `TeamA` for the filter value.
2328
2448
  #
2329
2449
  # * `tag-key` - The key of a tag assigned to the resource. Use this
2330
2450
  # filter to find all resources assigned a tag with a specific key,
@@ -2336,38 +2456,10 @@ module Aws::EC2
2336
2456
  #
2337
2457
  #
2338
2458
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html
2339
- # @option options [Array<String>] :image_ids
2340
- # The image IDs.
2341
- #
2342
- # Default: Describes all images available to you.
2343
- # @option options [Array<String>] :owners
2344
- # Scopes the results to images with the specified owners. You can
2345
- # specify a combination of Amazon Web Services account IDs, `self`,
2346
- # `amazon`, and `aws-marketplace`. If you omit this parameter, the
2347
- # results include all images for which you have launch permissions,
2348
- # regardless of ownership.
2349
- # @option options [Boolean] :include_deprecated
2350
- # Specifies whether to include deprecated AMIs.
2351
- #
2352
- # Default: No deprecated AMIs are included in the response.
2353
- #
2354
- # <note markdown="1"> If you are the AMI owner, all deprecated AMIs appear in the response
2355
- # regardless of what you specify for this parameter.
2356
- #
2357
- # </note>
2358
- # @option options [Boolean] :include_disabled
2359
- # Specifies whether to include disabled AMIs.
2360
- #
2361
- # Default: No disabled AMIs are included in the response.
2362
- # @option options [Boolean] :dry_run
2363
- # Checks whether you have the required permissions for the action,
2364
- # without actually making the request, and provides an error response.
2365
- # If you have the required permissions, the error response is
2366
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2367
2459
  # @return [Image::Collection]
2368
2460
  def images(options = {})
2369
2461
  batches = Enumerator.new do |y|
2370
- resp = Aws::Plugins::UserAgent.feature('resource') do
2462
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2371
2463
  @client.describe_images(options)
2372
2464
  end
2373
2465
  resp.each_page do |page|
@@ -2397,16 +2489,25 @@ module Aws::EC2
2397
2489
  # @example Request syntax with placeholder values
2398
2490
  #
2399
2491
  # instances = ec2.instances({
2492
+ # instance_ids: ["InstanceId"],
2493
+ # dry_run: false,
2400
2494
  # filters: [
2401
2495
  # {
2402
2496
  # name: "String",
2403
2497
  # values: ["String"],
2404
2498
  # },
2405
2499
  # ],
2406
- # instance_ids: ["InstanceId"],
2407
- # dry_run: false,
2408
2500
  # })
2409
2501
  # @param [Hash] options ({})
2502
+ # @option options [Array<String>] :instance_ids
2503
+ # The instance IDs.
2504
+ #
2505
+ # Default: Describes all your instances.
2506
+ # @option options [Boolean] :dry_run
2507
+ # Checks whether you have the required permissions for the operation,
2508
+ # without actually making the request, and provides an error response.
2509
+ # If you have the required permissions, the error response is
2510
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2410
2511
  # @option options [Array<Types::Filter>] :filters
2411
2512
  # The filters.
2412
2513
  #
@@ -2482,9 +2583,6 @@ module Aws::EC2
2482
2583
  # * `iam-instance-profile.id` - The instance profile associated with the
2483
2584
  # instance. Specified as an ID.
2484
2585
  #
2485
- # * `iam-instance-profile.name` - The instance profile associated with
2486
- # the instance. Specified as an name.
2487
- #
2488
2586
  # * `image-id` - The ID of the image used to launch the instance.
2489
2587
  #
2490
2588
  # * `instance-id` - The ID of the instance.
@@ -2675,6 +2773,13 @@ module Aws::EC2
2675
2773
  # * `network-interface.network-interface-id` - The ID of the network
2676
2774
  # interface.
2677
2775
  #
2776
+ # * `network-interface.operator.managed` - A Boolean that indicates
2777
+ # whether the instance has a managed network interface.
2778
+ #
2779
+ # * `network-interface.operator.principal` - The principal that manages
2780
+ # the network interface. Only valid for instances with managed network
2781
+ # interfaces, where `managed` is `true`.
2782
+ #
2678
2783
  # * `network-interface.outpost-arn` - The ARN of the Outpost.
2679
2784
  #
2680
2785
  # * `network-interface.owner-id` - The ID of the owner of the network
@@ -2714,6 +2819,16 @@ module Aws::EC2
2714
2819
  # * `network-interface.vpc-id` - The ID of the VPC for the network
2715
2820
  # interface.
2716
2821
  #
2822
+ # * `network-performance-options.bandwidth-weighting` - Where the
2823
+ # performance boost is applied, if applicable. Valid values:
2824
+ # `default`, `vpc-1`, `ebs-1`.
2825
+ #
2826
+ # * `operator.managed` - A Boolean that indicates whether this is a
2827
+ # managed instance.
2828
+ #
2829
+ # * `operator.principal` - The principal that manages the instance. Only
2830
+ # valid for managed instances, where `managed` is `true`.
2831
+ #
2717
2832
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
2718
2833
  #
2719
2834
  # * `owner-id` - The Amazon Web Services account ID of the instance
@@ -2754,6 +2869,10 @@ module Aws::EC2
2754
2869
  # (`ip-name` \| `resource-name`).
2755
2870
  #
2756
2871
  # * `private-ip-address` - The private IPv4 address of the instance.
2872
+ # This can only be used to filter by the primary IP address of the
2873
+ # network interface attached to the instance. To filter by additional
2874
+ # IP addresses assigned to the network interface, use the filter
2875
+ # `network-interface.addresses.private-ip-address`.
2757
2876
  #
2758
2877
  # * `product-code` - The product code associated with the AMI used to
2759
2878
  # launch the instance.
@@ -2832,19 +2951,10 @@ module Aws::EC2
2832
2951
  # (`paravirtual` \| `hvm`).
2833
2952
  #
2834
2953
  # * `vpc-id` - The ID of the VPC that the instance is running in.
2835
- # @option options [Array<String>] :instance_ids
2836
- # The instance IDs.
2837
- #
2838
- # Default: Describes all your instances.
2839
- # @option options [Boolean] :dry_run
2840
- # Checks whether you have the required permissions for the action,
2841
- # without actually making the request, and provides an error response.
2842
- # If you have the required permissions, the error response is
2843
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2844
2954
  # @return [Instance::Collection]
2845
2955
  def instances(options = {})
2846
2956
  batches = Enumerator.new do |y|
2847
- resp = Aws::Plugins::UserAgent.feature('resource') do
2957
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2848
2958
  @client.describe_instances(options)
2849
2959
  end
2850
2960
  resp.each_page do |page|
@@ -2876,16 +2986,25 @@ module Aws::EC2
2876
2986
  # @example Request syntax with placeholder values
2877
2987
  #
2878
2988
  # internet_gateways = ec2.internet_gateways({
2989
+ # dry_run: false,
2990
+ # internet_gateway_ids: ["InternetGatewayId"],
2879
2991
  # filters: [
2880
2992
  # {
2881
2993
  # name: "String",
2882
2994
  # values: ["String"],
2883
2995
  # },
2884
2996
  # ],
2885
- # dry_run: false,
2886
- # internet_gateway_ids: ["InternetGatewayId"],
2887
2997
  # })
2888
2998
  # @param [Hash] options ({})
2999
+ # @option options [Boolean] :dry_run
3000
+ # Checks whether you have the required permissions for the action,
3001
+ # without actually making the request, and provides an error response.
3002
+ # If you have the required permissions, the error response is
3003
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3004
+ # @option options [Array<String>] :internet_gateway_ids
3005
+ # The IDs of the internet gateways.
3006
+ #
3007
+ # Default: Describes all your internet gateways.
2889
3008
  # @option options [Array<Types::Filter>] :filters
2890
3009
  # The filters.
2891
3010
  #
@@ -2900,28 +3019,19 @@ module Aws::EC2
2900
3019
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
2901
3020
  # internet gateway.
2902
3021
  #
2903
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
2904
- # the resource. Use the tag key in the filter name and the tag value
2905
- # as the filter value. For example, to find all resources that have a
2906
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
2907
- # for the filter name and `TeamA` for the filter value.
3022
+ # * `tag` - The key/value combination of a tag assigned to the resource.
3023
+ # Use the tag key in the filter name and the tag value as the filter
3024
+ # value. For example, to find all resources that have a tag with the
3025
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
3026
+ # filter name and `TeamA` for the filter value.
2908
3027
  #
2909
3028
  # * `tag-key` - The key of a tag assigned to the resource. Use this
2910
3029
  # filter to find all resources assigned a tag with a specific key,
2911
3030
  # regardless of the tag value.
2912
- # @option options [Boolean] :dry_run
2913
- # Checks whether you have the required permissions for the action,
2914
- # without actually making the request, and provides an error response.
2915
- # If you have the required permissions, the error response is
2916
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2917
- # @option options [Array<String>] :internet_gateway_ids
2918
- # The IDs of the internet gateways.
2919
- #
2920
- # Default: Describes all your internet gateways.
2921
3031
  # @return [InternetGateway::Collection]
2922
3032
  def internet_gateways(options = {})
2923
3033
  batches = Enumerator.new do |y|
2924
- resp = Aws::Plugins::UserAgent.feature('resource') do
3034
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
2925
3035
  @client.describe_internet_gateways(options)
2926
3036
  end
2927
3037
  resp.each_page do |page|
@@ -2951,18 +3061,33 @@ module Aws::EC2
2951
3061
  # @example Request syntax with placeholder values
2952
3062
  #
2953
3063
  # key_pairs = ec2.key_pairs({
3064
+ # key_names: ["KeyPairName"],
3065
+ # key_pair_ids: ["KeyPairId"],
3066
+ # include_public_key: false,
3067
+ # dry_run: false,
2954
3068
  # filters: [
2955
3069
  # {
2956
3070
  # name: "String",
2957
3071
  # values: ["String"],
2958
3072
  # },
2959
3073
  # ],
2960
- # key_names: ["KeyPairName"],
2961
- # key_pair_ids: ["KeyPairId"],
2962
- # dry_run: false,
2963
- # include_public_key: false,
2964
3074
  # })
2965
3075
  # @param [Hash] options ({})
3076
+ # @option options [Array<String>] :key_names
3077
+ # The key pair names.
3078
+ #
3079
+ # Default: Describes all of your key pairs.
3080
+ # @option options [Array<String>] :key_pair_ids
3081
+ # The IDs of the key pairs.
3082
+ # @option options [Boolean] :include_public_key
3083
+ # If `true`, the public key material is included in the response.
3084
+ #
3085
+ # Default: `false`
3086
+ # @option options [Boolean] :dry_run
3087
+ # Checks whether you have the required permissions for the action,
3088
+ # without actually making the request, and provides an error response.
3089
+ # If you have the required permissions, the error response is
3090
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2966
3091
  # @option options [Array<Types::Filter>] :filters
2967
3092
  # The filters.
2968
3093
  #
@@ -2981,26 +3106,11 @@ module Aws::EC2
2981
3106
  # as the filter value. For example, to find all resources that have a
2982
3107
  # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
2983
3108
  # for the filter name and `TeamA` for the filter value.
2984
- # @option options [Array<String>] :key_names
2985
- # The key pair names.
2986
- #
2987
- # Default: Describes all of your key pairs.
2988
- # @option options [Array<String>] :key_pair_ids
2989
- # The IDs of the key pairs.
2990
- # @option options [Boolean] :dry_run
2991
- # Checks whether you have the required permissions for the action,
2992
- # without actually making the request, and provides an error response.
2993
- # If you have the required permissions, the error response is
2994
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
2995
- # @option options [Boolean] :include_public_key
2996
- # If `true`, the public key material is included in the response.
2997
- #
2998
- # Default: `false`
2999
3109
  # @return [KeyPairInfo::Collection]
3000
3110
  def key_pairs(options = {})
3001
3111
  batches = Enumerator.new do |y|
3002
3112
  batch = []
3003
- resp = Aws::Plugins::UserAgent.feature('resource') do
3113
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3004
3114
  @client.describe_key_pairs(options)
3005
3115
  end
3006
3116
  resp.data.key_pairs.each do |k|
@@ -3052,11 +3162,11 @@ module Aws::EC2
3052
3162
  #
3053
3163
  # * `subnet-id` - The ID of the subnet in which the NAT gateway resides.
3054
3164
  #
3055
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
3056
- # the resource. Use the tag key in the filter name and the tag value
3057
- # as the filter value. For example, to find all resources that have a
3058
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
3059
- # for the filter name and `TeamA` for the filter value.
3165
+ # * `tag` - The key/value combination of a tag assigned to the resource.
3166
+ # Use the tag key in the filter name and the tag value as the filter
3167
+ # value. For example, to find all resources that have a tag with the
3168
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
3169
+ # filter name and `TeamA` for the filter value.
3060
3170
  #
3061
3171
  # * `tag-key` - The key of a tag assigned to the resource. Use this
3062
3172
  # filter to find all resources assigned a tag with a specific key,
@@ -3068,7 +3178,7 @@ module Aws::EC2
3068
3178
  # @return [NatGateway::Collection]
3069
3179
  def nat_gateways(options = {})
3070
3180
  batches = Enumerator.new do |y|
3071
- resp = Aws::Plugins::UserAgent.feature('resource') do
3181
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3072
3182
  @client.describe_nat_gateways(options)
3073
3183
  end
3074
3184
  resp.each_page do |page|
@@ -3098,16 +3208,23 @@ module Aws::EC2
3098
3208
  # @example Request syntax with placeholder values
3099
3209
  #
3100
3210
  # network_acls = ec2.network_acls({
3211
+ # dry_run: false,
3212
+ # network_acl_ids: ["NetworkAclId"],
3101
3213
  # filters: [
3102
3214
  # {
3103
3215
  # name: "String",
3104
3216
  # values: ["String"],
3105
3217
  # },
3106
3218
  # ],
3107
- # dry_run: false,
3108
- # network_acl_ids: ["NetworkAclId"],
3109
3219
  # })
3110
3220
  # @param [Hash] options ({})
3221
+ # @option options [Boolean] :dry_run
3222
+ # Checks whether you have the required permissions for the action,
3223
+ # without actually making the request, and provides an error response.
3224
+ # If you have the required permissions, the error response is
3225
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3226
+ # @option options [Array<String>] :network_acl_ids
3227
+ # The IDs of the network ACLs.
3111
3228
  # @option options [Array<Types::Filter>] :filters
3112
3229
  # The filters.
3113
3230
  #
@@ -3154,30 +3271,21 @@ module Aws::EC2
3154
3271
  # * `owner-id` - The ID of the Amazon Web Services account that owns the
3155
3272
  # network ACL.
3156
3273
  #
3157
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
3158
- # the resource. Use the tag key in the filter name and the tag value
3159
- # as the filter value. For example, to find all resources that have a
3160
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
3161
- # for the filter name and `TeamA` for the filter value.
3274
+ # * `tag` - The key/value combination of a tag assigned to the resource.
3275
+ # Use the tag key in the filter name and the tag value as the filter
3276
+ # value. For example, to find all resources that have a tag with the
3277
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
3278
+ # filter name and `TeamA` for the filter value.
3162
3279
  #
3163
3280
  # * `tag-key` - The key of a tag assigned to the resource. Use this
3164
3281
  # filter to find all resources assigned a tag with a specific key,
3165
3282
  # regardless of the tag value.
3166
3283
  #
3167
3284
  # * `vpc-id` - The ID of the VPC for the network ACL.
3168
- # @option options [Boolean] :dry_run
3169
- # Checks whether you have the required permissions for the action,
3170
- # without actually making the request, and provides an error response.
3171
- # If you have the required permissions, the error response is
3172
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3173
- # @option options [Array<String>] :network_acl_ids
3174
- # The IDs of the network ACLs.
3175
- #
3176
- # Default: Describes all your network ACLs.
3177
3285
  # @return [NetworkAcl::Collection]
3178
3286
  def network_acls(options = {})
3179
3287
  batches = Enumerator.new do |y|
3180
- resp = Aws::Plugins::UserAgent.feature('resource') do
3288
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3181
3289
  @client.describe_network_acls(options)
3182
3290
  end
3183
3291
  resp.each_page do |page|
@@ -3207,16 +3315,25 @@ module Aws::EC2
3207
3315
  # @example Request syntax with placeholder values
3208
3316
  #
3209
3317
  # network_interfaces = ec2.network_interfaces({
3318
+ # dry_run: false,
3319
+ # network_interface_ids: ["NetworkInterfaceId"],
3210
3320
  # filters: [
3211
3321
  # {
3212
3322
  # name: "String",
3213
3323
  # values: ["String"],
3214
3324
  # },
3215
3325
  # ],
3216
- # dry_run: false,
3217
- # network_interface_ids: ["NetworkInterfaceId"],
3218
3326
  # })
3219
3327
  # @param [Hash] options ({})
3328
+ # @option options [Boolean] :dry_run
3329
+ # Checks whether you have the required permissions for the action,
3330
+ # without actually making the request, and provides an error response.
3331
+ # If you have the required permissions, the error response is
3332
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3333
+ # @option options [Array<String>] :network_interface_ids
3334
+ # The network interface IDs.
3335
+ #
3336
+ # Default: Describes all your network interfaces.
3220
3337
  # @option options [Array<Types::Filter>] :filters
3221
3338
  # One or more filters.
3222
3339
  #
@@ -3281,17 +3398,24 @@ module Aws::EC2
3281
3398
  #
3282
3399
  # * `interface-type` - The type of network interface
3283
3400
  # (`api_gateway_managed` \| `aws_codestar_connections_managed` \|
3284
- # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efs` \|
3285
- # `gateway_load_balancer` \| `gateway_load_balancer_endpoint` \|
3286
- # `global_accelerator_managed` \| `interface` \| `iot_rules_managed`
3287
- # \| `lambda` \| `load_balancer` \| `nat_gateway` \|
3288
- # `network_load_balancer` \| `quicksight` \| `transit_gateway` \|
3289
- # `trunk` \| `vpc_endpoint`).
3401
+ # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efa-only`
3402
+ # \| `efs` \| `gateway_load_balancer` \|
3403
+ # `gateway_load_balancer_endpoint` \| `global_accelerator_managed` \|
3404
+ # `interface` \| `iot_rules_managed` \| `lambda` \| `load_balancer` \|
3405
+ # `nat_gateway` \| `network_load_balancer` \| `quicksight` \|
3406
+ # `transit_gateway` \| `trunk` \| `vpc_endpoint`).
3290
3407
  #
3291
3408
  # * `mac-address` - The MAC address of the network interface.
3292
3409
  #
3293
3410
  # * `network-interface-id` - The ID of the network interface.
3294
3411
  #
3412
+ # * `operator.managed` - A Boolean that indicates whether this is a
3413
+ # managed network interface.
3414
+ #
3415
+ # * `operator.principal` - The principal that manages the network
3416
+ # interface. Only valid for managed network interfaces, where
3417
+ # `managed` is `true`.
3418
+ #
3295
3419
  # * `owner-id` - The Amazon Web Services account ID of the network
3296
3420
  # interface owner.
3297
3421
  #
@@ -3305,8 +3429,8 @@ module Aws::EC2
3305
3429
  # principal or service that created the network interface.
3306
3430
  #
3307
3431
  # * `requester-managed` - Indicates whether the network interface is
3308
- # being managed by an Amazon Web Service (for example, Amazon Web
3309
- # Services Management Console, Auto Scaling, and so on).
3432
+ # being managed by an Amazon Web Services service (for example, Amazon
3433
+ # Web Services Management Console, Auto Scaling, and so on).
3310
3434
  #
3311
3435
  # * `source-dest-check` - Indicates whether the network interface
3312
3436
  # performs source/destination checking. A value of `true` means
@@ -3332,19 +3456,10 @@ module Aws::EC2
3332
3456
  # regardless of the tag value.
3333
3457
  #
3334
3458
  # * `vpc-id` - The ID of the VPC for the network interface.
3335
- # @option options [Boolean] :dry_run
3336
- # Checks whether you have the required permissions for the action,
3337
- # without actually making the request, and provides an error response.
3338
- # If you have the required permissions, the error response is
3339
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3340
- # @option options [Array<String>] :network_interface_ids
3341
- # The network interface IDs.
3342
- #
3343
- # Default: Describes all your network interfaces.
3344
3459
  # @return [NetworkInterface::Collection]
3345
3460
  def network_interfaces(options = {})
3346
3461
  batches = Enumerator.new do |y|
3347
- resp = Aws::Plugins::UserAgent.feature('resource') do
3462
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3348
3463
  @client.describe_network_interfaces(options)
3349
3464
  end
3350
3465
  resp.each_page do |page|
@@ -3374,17 +3489,35 @@ module Aws::EC2
3374
3489
  # @example Request syntax with placeholder values
3375
3490
  #
3376
3491
  # placement_groups = ec2.placement_groups({
3492
+ # group_ids: ["PlacementGroupId"],
3493
+ # dry_run: false,
3494
+ # group_names: ["PlacementGroupName"],
3377
3495
  # filters: [
3378
3496
  # {
3379
3497
  # name: "String",
3380
3498
  # values: ["String"],
3381
3499
  # },
3382
3500
  # ],
3383
- # dry_run: false,
3384
- # group_names: ["PlacementGroupName"],
3385
- # group_ids: ["PlacementGroupId"],
3386
3501
  # })
3387
3502
  # @param [Hash] options ({})
3503
+ # @option options [Array<String>] :group_ids
3504
+ # The IDs of the placement groups.
3505
+ # @option options [Boolean] :dry_run
3506
+ # Checks whether you have the required permissions for the operation,
3507
+ # without actually making the request, and provides an error response.
3508
+ # If you have the required permissions, the error response is
3509
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3510
+ # @option options [Array<String>] :group_names
3511
+ # The names of the placement groups.
3512
+ #
3513
+ # Constraints:
3514
+ #
3515
+ # * You can specify a name only if the placement group is owned by your
3516
+ # account.
3517
+ #
3518
+ # * If a placement group is *shared* with your account, specifying the
3519
+ # name results in an error. You must use the `GroupId` parameter
3520
+ # instead.
3388
3521
  # @option options [Array<Types::Filter>] :filters
3389
3522
  # The filters.
3390
3523
  #
@@ -3410,23 +3543,11 @@ module Aws::EC2
3410
3543
  # * `tag-key` - The key of a tag assigned to the resource. Use this
3411
3544
  # filter to find all resources that have a tag with a specific key,
3412
3545
  # regardless of the tag value.
3413
- # @option options [Boolean] :dry_run
3414
- # Checks whether you have the required permissions for the action,
3415
- # without actually making the request, and provides an error response.
3416
- # If you have the required permissions, the error response is
3417
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3418
- # @option options [Array<String>] :group_names
3419
- # The names of the placement groups.
3420
- #
3421
- # Default: Describes all your placement groups, or only those otherwise
3422
- # specified.
3423
- # @option options [Array<String>] :group_ids
3424
- # The IDs of the placement groups.
3425
3546
  # @return [PlacementGroup::Collection]
3426
3547
  def placement_groups(options = {})
3427
3548
  batches = Enumerator.new do |y|
3428
3549
  batch = []
3429
- resp = Aws::Plugins::UserAgent.feature('resource') do
3550
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3430
3551
  @client.describe_placement_groups(options)
3431
3552
  end
3432
3553
  resp.data.placement_groups.each do |p|
@@ -3462,19 +3583,29 @@ module Aws::EC2
3462
3583
  # @example Request syntax with placeholder values
3463
3584
  #
3464
3585
  # route_tables = ec2.route_tables({
3586
+ # dry_run: false,
3587
+ # route_table_ids: ["RouteTableId"],
3465
3588
  # filters: [
3466
3589
  # {
3467
3590
  # name: "String",
3468
3591
  # values: ["String"],
3469
3592
  # },
3470
3593
  # ],
3471
- # dry_run: false,
3472
- # route_table_ids: ["RouteTableId"],
3473
3594
  # })
3474
3595
  # @param [Hash] options ({})
3596
+ # @option options [Boolean] :dry_run
3597
+ # Checks whether you have the required permissions for the action,
3598
+ # without actually making the request, and provides an error response.
3599
+ # If you have the required permissions, the error response is
3600
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3601
+ # @option options [Array<String>] :route_table_ids
3602
+ # The IDs of the route tables.
3475
3603
  # @option options [Array<Types::Filter>] :filters
3476
3604
  # The filters.
3477
3605
  #
3606
+ # * `association.gateway-id` - The ID of the gateway involved in the
3607
+ # association.
3608
+ #
3478
3609
  # * `association.route-table-association-id` - The ID of an association
3479
3610
  # ID for the route table.
3480
3611
  #
@@ -3500,7 +3631,7 @@ module Aws::EC2
3500
3631
  # in a route in the route table.
3501
3632
  #
3502
3633
  # * `route.destination-prefix-list-id` - The ID (prefix) of the Amazon
3503
- # Web Service specified in a route in the table.
3634
+ # Web Services service specified in a route in the table.
3504
3635
  #
3505
3636
  # * `route.egress-only-internet-gateway-id` - The ID of an egress-only
3506
3637
  # Internet gateway specified in a route in the route table.
@@ -3531,30 +3662,21 @@ module Aws::EC2
3531
3662
  # * `route.vpc-peering-connection-id` - The ID of a VPC peering
3532
3663
  # connection specified in a route in the table.
3533
3664
  #
3534
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
3535
- # the resource. Use the tag key in the filter name and the tag value
3536
- # as the filter value. For example, to find all resources that have a
3537
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
3538
- # for the filter name and `TeamA` for the filter value.
3665
+ # * `tag` - The key/value combination of a tag assigned to the resource.
3666
+ # Use the tag key in the filter name and the tag value as the filter
3667
+ # value. For example, to find all resources that have a tag with the
3668
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
3669
+ # filter name and `TeamA` for the filter value.
3539
3670
  #
3540
3671
  # * `tag-key` - The key of a tag assigned to the resource. Use this
3541
3672
  # filter to find all resources assigned a tag with a specific key,
3542
3673
  # regardless of the tag value.
3543
3674
  #
3544
3675
  # * `vpc-id` - The ID of the VPC for the route table.
3545
- # @option options [Boolean] :dry_run
3546
- # Checks whether you have the required permissions for the action,
3547
- # without actually making the request, and provides an error response.
3548
- # If you have the required permissions, the error response is
3549
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3550
- # @option options [Array<String>] :route_table_ids
3551
- # The IDs of the route tables.
3552
- #
3553
- # Default: Describes all your route tables.
3554
3676
  # @return [RouteTable::Collection]
3555
3677
  def route_tables(options = {})
3556
3678
  batches = Enumerator.new do |y|
3557
- resp = Aws::Plugins::UserAgent.feature('resource') do
3679
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3558
3680
  @client.describe_route_tables(options)
3559
3681
  end
3560
3682
  resp.each_page do |page|
@@ -3584,17 +3706,32 @@ module Aws::EC2
3584
3706
  # @example Request syntax with placeholder values
3585
3707
  #
3586
3708
  # security_groups = ec2.security_groups({
3709
+ # group_ids: ["SecurityGroupId"],
3710
+ # group_names: ["SecurityGroupName"],
3711
+ # dry_run: false,
3587
3712
  # filters: [
3588
3713
  # {
3589
3714
  # name: "String",
3590
3715
  # values: ["String"],
3591
3716
  # },
3592
3717
  # ],
3593
- # group_ids: ["SecurityGroupId"],
3594
- # group_names: ["SecurityGroupName"],
3595
- # dry_run: false,
3596
3718
  # })
3597
3719
  # @param [Hash] options ({})
3720
+ # @option options [Array<String>] :group_ids
3721
+ # The IDs of the security groups. Required for security groups in a
3722
+ # nondefault VPC.
3723
+ #
3724
+ # Default: Describes all of your security groups.
3725
+ # @option options [Array<String>] :group_names
3726
+ # \[Default VPC\] The names of the security groups. You can specify
3727
+ # either the security group name or the security group ID.
3728
+ #
3729
+ # Default: Describes all of your security groups.
3730
+ # @option options [Boolean] :dry_run
3731
+ # Checks whether you have the required permissions for the action,
3732
+ # without actually making the request, and provides an error response.
3733
+ # If you have the required permissions, the error response is
3734
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3598
3735
  # @option options [Array<Types::Filter>] :filters
3599
3736
  # The filters. If using multiple filters for rules, the results include
3600
3737
  # security groups for which any combination of rules - not necessarily a
@@ -3677,25 +3814,10 @@ module Aws::EC2
3677
3814
  #
3678
3815
  # * `vpc-id` - The ID of the VPC specified when the security group was
3679
3816
  # created.
3680
- # @option options [Array<String>] :group_ids
3681
- # The IDs of the security groups. Required for security groups in a
3682
- # nondefault VPC.
3683
- #
3684
- # Default: Describes all of your security groups.
3685
- # @option options [Array<String>] :group_names
3686
- # \[Default VPC\] The names of the security groups. You can specify
3687
- # either the security group name or the security group ID.
3688
- #
3689
- # Default: Describes all of your security groups.
3690
- # @option options [Boolean] :dry_run
3691
- # Checks whether you have the required permissions for the action,
3692
- # without actually making the request, and provides an error response.
3693
- # If you have the required permissions, the error response is
3694
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3695
3817
  # @return [SecurityGroup::Collection]
3696
3818
  def security_groups(options = {})
3697
3819
  batches = Enumerator.new do |y|
3698
- resp = Aws::Plugins::UserAgent.feature('resource') do
3820
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3699
3821
  @client.describe_security_groups(options)
3700
3822
  end
3701
3823
  resp.each_page do |page|
@@ -3725,18 +3847,35 @@ module Aws::EC2
3725
3847
  # @example Request syntax with placeholder values
3726
3848
  #
3727
3849
  # snapshots = ec2.snapshots({
3850
+ # owner_ids: ["String"],
3851
+ # restorable_by_user_ids: ["String"],
3852
+ # snapshot_ids: ["SnapshotId"],
3853
+ # dry_run: false,
3728
3854
  # filters: [
3729
3855
  # {
3730
3856
  # name: "String",
3731
3857
  # values: ["String"],
3732
3858
  # },
3733
3859
  # ],
3734
- # owner_ids: ["String"],
3735
- # restorable_by_user_ids: ["String"],
3736
- # snapshot_ids: ["SnapshotId"],
3737
- # dry_run: false,
3738
3860
  # })
3739
3861
  # @param [Hash] options ({})
3862
+ # @option options [Array<String>] :owner_ids
3863
+ # Scopes the results to snapshots with the specified owners. You can
3864
+ # specify a combination of Amazon Web Services account IDs, `self`, and
3865
+ # `amazon`.
3866
+ # @option options [Array<String>] :restorable_by_user_ids
3867
+ # The IDs of the Amazon Web Services accounts that can create volumes
3868
+ # from the snapshot.
3869
+ # @option options [Array<String>] :snapshot_ids
3870
+ # The snapshot IDs.
3871
+ #
3872
+ # Default: Describes the snapshots for which you have create volume
3873
+ # permissions.
3874
+ # @option options [Boolean] :dry_run
3875
+ # Checks whether you have the required permissions for the action,
3876
+ # without actually making the request, and provides an error response.
3877
+ # If you have the required permissions, the error response is
3878
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3740
3879
  # @option options [Array<Types::Filter>] :filters
3741
3880
  # The filters.
3742
3881
  #
@@ -3766,6 +3905,9 @@ module Aws::EC2
3766
3905
  # * `storage-tier` - The storage tier of the snapshot (`archive` \|
3767
3906
  # `standard`).
3768
3907
  #
3908
+ # * `transfer-type` - The type of operation used to create the snapshot
3909
+ # (`time-based` \| `standard`).
3910
+ #
3769
3911
  # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
3770
3912
  # the resource. Use the tag key in the filter name and the tag value
3771
3913
  # as the filter value. For example, to find all resources that have a
@@ -3779,27 +3921,10 @@ module Aws::EC2
3779
3921
  # * `volume-id` - The ID of the volume the snapshot is for.
3780
3922
  #
3781
3923
  # * `volume-size` - The size of the volume, in GiB.
3782
- # @option options [Array<String>] :owner_ids
3783
- # Scopes the results to snapshots with the specified owners. You can
3784
- # specify a combination of Amazon Web Services account IDs, `self`, and
3785
- # `amazon`.
3786
- # @option options [Array<String>] :restorable_by_user_ids
3787
- # The IDs of the Amazon Web Services accounts that can create volumes
3788
- # from the snapshot.
3789
- # @option options [Array<String>] :snapshot_ids
3790
- # The snapshot IDs.
3791
- #
3792
- # Default: Describes the snapshots for which you have create volume
3793
- # permissions.
3794
- # @option options [Boolean] :dry_run
3795
- # Checks whether you have the required permissions for the action,
3796
- # without actually making the request, and provides an error response.
3797
- # If you have the required permissions, the error response is
3798
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3799
3924
  # @return [Snapshot::Collection]
3800
3925
  def snapshots(options = {})
3801
3926
  batches = Enumerator.new do |y|
3802
- resp = Aws::Plugins::UserAgent.feature('resource') do
3927
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3803
3928
  @client.describe_snapshots(options)
3804
3929
  end
3805
3930
  resp.each_page do |page|
@@ -3917,11 +4042,11 @@ module Aws::EC2
3917
4042
  #
3918
4043
  # * `subnet-id` - The ID of the subnet.
3919
4044
  #
3920
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
3921
- # the resource. Use the tag key in the filter name and the tag value
3922
- # as the filter value. For example, to find all resources that have a
3923
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
3924
- # for the filter name and `TeamA` for the filter value.
4045
+ # * `tag` - The key/value combination of a tag assigned to the resource.
4046
+ # Use the tag key in the filter name and the tag value as the filter
4047
+ # value. For example, to find all resources that have a tag with the
4048
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
4049
+ # filter name and `TeamA` for the filter value.
3925
4050
  #
3926
4051
  # * `tag-key` - The key of a tag assigned to the resource. Use this
3927
4052
  # filter to find all resources assigned a tag with a specific key,
@@ -3940,7 +4065,7 @@ module Aws::EC2
3940
4065
  # @return [Subnet::Collection]
3941
4066
  def subnets(options = {})
3942
4067
  batches = Enumerator.new do |y|
3943
- resp = Aws::Plugins::UserAgent.feature('resource') do
4068
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
3944
4069
  @client.describe_subnets(options)
3945
4070
  end
3946
4071
  resp.each_page do |page|
@@ -3970,16 +4095,24 @@ module Aws::EC2
3970
4095
  # @example Request syntax with placeholder values
3971
4096
  #
3972
4097
  # volumes = ec2.volumes({
4098
+ # volume_ids: ["VolumeId"],
4099
+ # dry_run: false,
3973
4100
  # filters: [
3974
4101
  # {
3975
4102
  # name: "String",
3976
4103
  # values: ["String"],
3977
4104
  # },
3978
4105
  # ],
3979
- # volume_ids: ["VolumeId"],
3980
- # dry_run: false,
3981
4106
  # })
3982
4107
  # @param [Hash] options ({})
4108
+ # @option options [Array<String>] :volume_ids
4109
+ # The volume IDs. If not specified, then all volumes are included in the
4110
+ # response.
4111
+ # @option options [Boolean] :dry_run
4112
+ # Checks whether you have the required permissions for the action,
4113
+ # without actually making the request, and provides an error response.
4114
+ # If you have the required permissions, the error response is
4115
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3983
4116
  # @option options [Array<Types::Filter>] :filters
3984
4117
  # The filters.
3985
4118
  #
@@ -4006,13 +4139,19 @@ module Aws::EC2
4006
4139
  # * `encrypted` - Indicates whether the volume is encrypted (`true` \|
4007
4140
  # `false`)
4008
4141
  #
4009
- # * `multi-attach-enabled` - Indicates whether the volume is enabled for
4010
- # Multi-Attach (`true` \| `false`)
4011
- #
4012
4142
  # * `fast-restored` - Indicates whether the volume was created from a
4013
4143
  # snapshot that is enabled for fast snapshot restore (`true` \|
4014
4144
  # `false`).
4015
4145
  #
4146
+ # * `multi-attach-enabled` - Indicates whether the volume is enabled for
4147
+ # Multi-Attach (`true` \| `false`)
4148
+ #
4149
+ # * `operator.managed` - A Boolean that indicates whether this is a
4150
+ # managed volume.
4151
+ #
4152
+ # * `operator.principal` - The principal that manages the volume. Only
4153
+ # valid for managed volumes, where `managed` is `true`.
4154
+ #
4016
4155
  # * `size` - The size of the volume, in GiB.
4017
4156
  #
4018
4157
  # * `snapshot-id` - The snapshot from which the volume was created.
@@ -4034,17 +4173,10 @@ module Aws::EC2
4034
4173
  #
4035
4174
  # * `volume-type` - The Amazon EBS volume type (`gp2` \| `gp3` \| `io1`
4036
4175
  # \| `io2` \| `st1` \| `sc1`\| `standard`)
4037
- # @option options [Array<String>] :volume_ids
4038
- # The volume IDs.
4039
- # @option options [Boolean] :dry_run
4040
- # Checks whether you have the required permissions for the action,
4041
- # without actually making the request, and provides an error response.
4042
- # If you have the required permissions, the error response is
4043
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4044
4176
  # @return [Volume::Collection]
4045
4177
  def volumes(options = {})
4046
4178
  batches = Enumerator.new do |y|
4047
- resp = Aws::Plugins::UserAgent.feature('resource') do
4179
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
4048
4180
  @client.describe_volumes(options)
4049
4181
  end
4050
4182
  resp.each_page do |page|
@@ -4074,17 +4206,26 @@ module Aws::EC2
4074
4206
  # @example Request syntax with placeholder values
4075
4207
  #
4076
4208
  # vpc_addresses = ec2.vpc_addresses({
4209
+ # public_ips: ["String"],
4210
+ # dry_run: false,
4077
4211
  # filters: [
4078
4212
  # {
4079
4213
  # name: "String",
4080
4214
  # values: ["String"],
4081
4215
  # },
4082
4216
  # ],
4083
- # public_ips: ["String"],
4084
4217
  # allocation_ids: ["AllocationId"],
4085
- # dry_run: false,
4086
4218
  # })
4087
4219
  # @param [Hash] options ({})
4220
+ # @option options [Array<String>] :public_ips
4221
+ # One or more Elastic IP addresses.
4222
+ #
4223
+ # Default: Describes all your Elastic IP addresses.
4224
+ # @option options [Boolean] :dry_run
4225
+ # Checks whether you have the required permissions for the action,
4226
+ # without actually making the request, and provides an error response.
4227
+ # If you have the required permissions, the error response is
4228
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4088
4229
  # @option options [Array<Types::Filter>] :filters
4089
4230
  # One or more filters. Filter names and values are case-sensitive.
4090
4231
  #
@@ -4119,17 +4260,8 @@ module Aws::EC2
4119
4260
  # * `tag-key` - The key of a tag assigned to the resource. Use this
4120
4261
  # filter to find all resources assigned a tag with a specific key,
4121
4262
  # regardless of the tag value.
4122
- # @option options [Array<String>] :public_ips
4123
- # One or more Elastic IP addresses.
4124
- #
4125
- # Default: Describes all your Elastic IP addresses.
4126
4263
  # @option options [Array<String>] :allocation_ids
4127
4264
  # Information about the allocation IDs.
4128
- # @option options [Boolean] :dry_run
4129
- # Checks whether you have the required permissions for the action,
4130
- # without actually making the request, and provides an error response.
4131
- # If you have the required permissions, the error response is
4132
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4133
4265
  # @return [VpcAddress::Collection]
4134
4266
  def vpc_addresses(options = {})
4135
4267
  batches = Enumerator.new do |y|
@@ -4138,7 +4270,7 @@ module Aws::EC2
4138
4270
  name: "domain",
4139
4271
  values: ["vpc"]
4140
4272
  }])
4141
- resp = Aws::Plugins::UserAgent.feature('resource') do
4273
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
4142
4274
  @client.describe_addresses(options)
4143
4275
  end
4144
4276
  resp.data.addresses.each do |a|
@@ -4165,16 +4297,25 @@ module Aws::EC2
4165
4297
  # @example Request syntax with placeholder values
4166
4298
  #
4167
4299
  # vpc_peering_connections = ec2.vpc_peering_connections({
4300
+ # dry_run: false,
4301
+ # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
4168
4302
  # filters: [
4169
4303
  # {
4170
4304
  # name: "String",
4171
4305
  # values: ["String"],
4172
4306
  # },
4173
4307
  # ],
4174
- # dry_run: false,
4175
- # vpc_peering_connection_ids: ["VpcPeeringConnectionId"],
4176
4308
  # })
4177
4309
  # @param [Hash] options ({})
4310
+ # @option options [Boolean] :dry_run
4311
+ # Checks whether you have the required permissions for the action,
4312
+ # without actually making the request, and provides an error response.
4313
+ # If you have the required permissions, the error response is
4314
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4315
+ # @option options [Array<String>] :vpc_peering_connection_ids
4316
+ # The IDs of the VPC peering connections.
4317
+ #
4318
+ # Default: Describes all your VPC peering connections.
4178
4319
  # @option options [Array<Types::Filter>] :filters
4179
4320
  # The filters.
4180
4321
  #
@@ -4204,30 +4345,21 @@ module Aws::EC2
4204
4345
  # * `status-message` - A message that provides more information about
4205
4346
  # the status of the VPC peering connection, if applicable.
4206
4347
  #
4207
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
4208
- # the resource. Use the tag key in the filter name and the tag value
4209
- # as the filter value. For example, to find all resources that have a
4210
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
4211
- # for the filter name and `TeamA` for the filter value.
4348
+ # * `tag` - The key/value combination of a tag assigned to the resource.
4349
+ # Use the tag key in the filter name and the tag value as the filter
4350
+ # value. For example, to find all resources that have a tag with the
4351
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
4352
+ # filter name and `TeamA` for the filter value.
4212
4353
  #
4213
4354
  # * `tag-key` - The key of a tag assigned to the resource. Use this
4214
4355
  # filter to find all resources assigned a tag with a specific key,
4215
4356
  # regardless of the tag value.
4216
4357
  #
4217
4358
  # * `vpc-peering-connection-id` - The ID of the VPC peering connection.
4218
- # @option options [Boolean] :dry_run
4219
- # Checks whether you have the required permissions for the action,
4220
- # without actually making the request, and provides an error response.
4221
- # If you have the required permissions, the error response is
4222
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4223
- # @option options [Array<String>] :vpc_peering_connection_ids
4224
- # The IDs of the VPC peering connections.
4225
- #
4226
- # Default: Describes all your VPC peering connections.
4227
4359
  # @return [VpcPeeringConnection::Collection]
4228
4360
  def vpc_peering_connections(options = {})
4229
4361
  batches = Enumerator.new do |y|
4230
- resp = Aws::Plugins::UserAgent.feature('resource') do
4362
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
4231
4363
  @client.describe_vpc_peering_connections(options)
4232
4364
  end
4233
4365
  resp.each_page do |page|
@@ -4296,11 +4428,11 @@ module Aws::EC2
4296
4428
  #
4297
4429
  # * `state` - The state of the VPC (`pending` \| `available`).
4298
4430
  #
4299
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
4300
- # the resource. Use the tag key in the filter name and the tag value
4301
- # as the filter value. For example, to find all resources that have a
4302
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
4303
- # for the filter name and `TeamA` for the filter value.
4431
+ # * `tag` - The key/value combination of a tag assigned to the resource.
4432
+ # Use the tag key in the filter name and the tag value as the filter
4433
+ # value. For example, to find all resources that have a tag with the
4434
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
4435
+ # filter name and `TeamA` for the filter value.
4304
4436
  #
4305
4437
  # * `tag-key` - The key of a tag assigned to the resource. Use this
4306
4438
  # filter to find all resources assigned a tag with a specific key,
@@ -4309,8 +4441,6 @@ module Aws::EC2
4309
4441
  # * `vpc-id` - The ID of the VPC.
4310
4442
  # @option options [Array<String>] :vpc_ids
4311
4443
  # The IDs of the VPCs.
4312
- #
4313
- # Default: Describes all your VPCs.
4314
4444
  # @option options [Boolean] :dry_run
4315
4445
  # Checks whether you have the required permissions for the action,
4316
4446
  # without actually making the request, and provides an error response.
@@ -4319,7 +4449,7 @@ module Aws::EC2
4319
4449
  # @return [Vpc::Collection]
4320
4450
  def vpcs(options = {})
4321
4451
  batches = Enumerator.new do |y|
4322
- resp = Aws::Plugins::UserAgent.feature('resource') do
4452
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
4323
4453
  @client.describe_vpcs(options)
4324
4454
  end
4325
4455
  resp.each_page do |page|
@@ -4339,3 +4469,6 @@ module Aws::EC2
4339
4469
 
4340
4470
  end
4341
4471
  end
4472
+
4473
+ # Load customizations if they exist
4474
+ require 'aws-sdk-ec2/customizations/resource'