aws-sdk-ec2 1.402.0 → 1.547.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +735 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-ec2/classic_address.rb +32 -20
  5. data/lib/aws-sdk-ec2/client.rb +14212 -4429
  6. data/lib/aws-sdk-ec2/client_api.rb +4004 -515
  7. data/lib/aws-sdk-ec2/customizations/instance.rb +18 -1
  8. data/lib/aws-sdk-ec2/customizations/resource.rb +46 -3
  9. data/lib/aws-sdk-ec2/customizations/tag.rb +13 -0
  10. data/lib/aws-sdk-ec2/customizations.rb +0 -22
  11. data/lib/aws-sdk-ec2/dhcp_options.rb +12 -12
  12. data/lib/aws-sdk-ec2/endpoint_parameters.rb +9 -6
  13. data/lib/aws-sdk-ec2/endpoint_provider.rb +16 -20
  14. data/lib/aws-sdk-ec2/endpoints.rb +2 -8314
  15. data/lib/aws-sdk-ec2/image.rb +207 -98
  16. data/lib/aws-sdk-ec2/instance.rb +514 -348
  17. data/lib/aws-sdk-ec2/internet_gateway.rb +7 -7
  18. data/lib/aws-sdk-ec2/key_pair.rb +14 -14
  19. data/lib/aws-sdk-ec2/key_pair_info.rb +30 -30
  20. data/lib/aws-sdk-ec2/nat_gateway.rb +7 -8
  21. data/lib/aws-sdk-ec2/network_acl.rb +70 -70
  22. data/lib/aws-sdk-ec2/network_interface.rb +150 -78
  23. data/lib/aws-sdk-ec2/network_interface_association.rb +3 -3
  24. data/lib/aws-sdk-ec2/placement_group.rb +123 -42
  25. data/lib/aws-sdk-ec2/plugins/endpoints.rb +23 -1202
  26. data/lib/aws-sdk-ec2/resource.rb +1118 -864
  27. data/lib/aws-sdk-ec2/route.rb +50 -34
  28. data/lib/aws-sdk-ec2/route_table.rb +47 -44
  29. data/lib/aws-sdk-ec2/route_table_association.rb +3 -3
  30. data/lib/aws-sdk-ec2/security_group.rb +212 -201
  31. data/lib/aws-sdk-ec2/snapshot.rb +169 -105
  32. data/lib/aws-sdk-ec2/subnet.rb +534 -406
  33. data/lib/aws-sdk-ec2/tag.rb +7 -4
  34. data/lib/aws-sdk-ec2/types.rb +18252 -4766
  35. data/lib/aws-sdk-ec2/volume.rb +160 -116
  36. data/lib/aws-sdk-ec2/vpc.rb +387 -262
  37. data/lib/aws-sdk-ec2/vpc_address.rb +37 -25
  38. data/lib/aws-sdk-ec2/vpc_peering_connection.rb +6 -6
  39. data/lib/aws-sdk-ec2/waiters.rb +146 -38
  40. data/lib/aws-sdk-ec2.rb +40 -36
  41. data/sig/classic_address.rbs +108 -0
  42. data/sig/client.rbs +14833 -0
  43. data/sig/dhcp_options.rbs +84 -0
  44. data/sig/errors.rbs +16 -0
  45. data/sig/image.rbs +232 -0
  46. data/sig/instance.rbs +576 -0
  47. data/sig/internet_gateway.rbs +91 -0
  48. data/sig/key_pair.rbs +54 -0
  49. data/sig/key_pair_info.rbs +63 -0
  50. data/sig/nat_gateway.rbs +107 -0
  51. data/sig/network_acl.rbs +144 -0
  52. data/sig/network_interface.rbs +249 -0
  53. data/sig/network_interface_association.rbs +62 -0
  54. data/sig/placement_group.rbs +78 -0
  55. data/sig/resource.rbs +1049 -0
  56. data/sig/route.rbs +120 -0
  57. data/sig/route_table.rbs +118 -0
  58. data/sig/route_table_association.rbs +69 -0
  59. data/sig/security_group.rbs +311 -0
  60. data/sig/snapshot.rbs +204 -0
  61. data/sig/subnet.rbs +442 -0
  62. data/sig/tag.rbs +63 -0
  63. data/sig/types.rbs +17078 -0
  64. data/sig/volume.rbs +213 -0
  65. data/sig/vpc.rbs +404 -0
  66. data/sig/vpc_address.rbs +104 -0
  67. data/sig/vpc_peering_connection.rbs +84 -0
  68. data/sig/waiters.rbs +700 -0
  69. metadata +45 -19
@@ -35,38 +35,12 @@ module Aws::EC2
35
35
  end
36
36
  alias :subnet_id :id
37
37
 
38
- # The Availability Zone of the subnet.
39
- # @return [String]
40
- def availability_zone
41
- data[:availability_zone]
42
- end
43
-
44
38
  # The AZ ID of the subnet.
45
39
  # @return [String]
46
40
  def availability_zone_id
47
41
  data[:availability_zone_id]
48
42
  end
49
43
 
50
- # The number of unused private IPv4 addresses in the subnet. The IPv4
51
- # addresses for any stopped instances are considered unavailable.
52
- # @return [Integer]
53
- def available_ip_address_count
54
- data[:available_ip_address_count]
55
- end
56
-
57
- # The IPv4 CIDR block assigned to the subnet.
58
- # @return [String]
59
- def cidr_block
60
- data[:cidr_block]
61
- end
62
-
63
- # Indicates whether this is the default subnet for the Availability
64
- # Zone.
65
- # @return [Boolean]
66
- def default_for_az
67
- data[:default_for_az]
68
- end
69
-
70
44
  # Indicates the device position for local network interfaces in this
71
45
  # subnet. For example, `1` indicates local network interfaces in this
72
46
  # subnet are the secondary network interface (eth1).
@@ -75,13 +49,6 @@ module Aws::EC2
75
49
  data[:enable_lni_at_device_index]
76
50
  end
77
51
 
78
- # Indicates whether instances launched in this subnet receive a public
79
- # IPv4 address.
80
- # @return [Boolean]
81
- def map_public_ip_on_launch
82
- data[:map_public_ip_on_launch]
83
- end
84
-
85
52
  # Indicates whether a network interface created in this subnet
86
53
  # (including a network interface created by RunInstances) receives a
87
54
  # customer-owned IPv4 address.
@@ -96,18 +63,6 @@ module Aws::EC2
96
63
  data[:customer_owned_ipv_4_pool]
97
64
  end
98
65
 
99
- # The current state of the subnet.
100
- # @return [String]
101
- def state
102
- data[:state]
103
- end
104
-
105
- # The ID of the VPC the subnet is in.
106
- # @return [String]
107
- def vpc_id
108
- data[:vpc_id]
109
- end
110
-
111
66
  # The ID of the Amazon Web Services account that owns the subnet.
112
67
  # @return [String]
113
68
  def owner_id
@@ -168,6 +123,86 @@ module Aws::EC2
168
123
  data[:private_dns_name_options_on_launch]
169
124
  end
170
125
 
126
+ # The state of VPC Block Public Access (BPA).
127
+ # @return [Types::BlockPublicAccessStates]
128
+ def block_public_access_states
129
+ data[:block_public_access_states]
130
+ end
131
+
132
+ # Indicates if this is a subnet used with Amazon Elastic VMware Service
133
+ # (EVS). Possible values are `Elastic VMware Service` or no value. For
134
+ # more information about Amazon EVS, see [ *Amazon Elastic VMware
135
+ # Service API Reference* ][1].
136
+ #
137
+ #
138
+ #
139
+ # [1]: https://docs.aws.amazon.com/evs/latest/APIReference/Welcome.html
140
+ # @return [String]
141
+ def type
142
+ data[:type]
143
+ end
144
+
145
+ # The current state of the subnet.
146
+ #
147
+ # * `failed`: The underlying infrastructure to support the subnet failed
148
+ # to provision as expected.
149
+ #
150
+ # * `failed-insufficient-capacity`: The underlying infrastructure to
151
+ # support the subnet failed to provision due to a shortage of EC2
152
+ # instance capacity.
153
+ # @return [String]
154
+ def state
155
+ data[:state]
156
+ end
157
+
158
+ # The ID of the VPC the subnet is in.
159
+ # @return [String]
160
+ def vpc_id
161
+ data[:vpc_id]
162
+ end
163
+
164
+ # The IPv4 CIDR block assigned to the subnet.
165
+ # @return [String]
166
+ def cidr_block
167
+ data[:cidr_block]
168
+ end
169
+
170
+ # The number of unused private IPv4 addresses in the subnet. The IPv4
171
+ # addresses for any stopped instances are considered unavailable.
172
+ # @return [Integer]
173
+ def available_ip_address_count
174
+ data[:available_ip_address_count]
175
+ end
176
+
177
+ # The Availability Zone of the subnet.
178
+ # @return [String]
179
+ def availability_zone
180
+ data[:availability_zone]
181
+ end
182
+
183
+ # Indicates whether this is the default subnet for the Availability
184
+ # Zone.
185
+ # @return [Boolean]
186
+ def default_for_az
187
+ data[:default_for_az]
188
+ end
189
+
190
+ # Indicates whether instances launched in this subnet receive a public
191
+ # IPv4 address.
192
+ #
193
+ # Amazon Web Services charges for all public IPv4 addresses, including
194
+ # public IPv4 addresses associated with running instances and Elastic IP
195
+ # addresses. For more information, see the *Public IPv4 Address* tab on
196
+ # the [Amazon VPC pricing page][1].
197
+ #
198
+ #
199
+ #
200
+ # [1]: http://aws.amazon.com/vpc/pricing/
201
+ # @return [Boolean]
202
+ def map_public_ip_on_launch
203
+ data[:map_public_ip_on_launch]
204
+ end
205
+
171
206
  # @!endgroup
172
207
 
173
208
  # @return [Client]
@@ -182,7 +217,7 @@ module Aws::EC2
182
217
  #
183
218
  # @return [self]
184
219
  def load
185
- resp = Aws::Plugins::UserAgent.feature('resource') do
220
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
186
221
  @client.describe_subnets(subnet_ids: [@id])
187
222
  end
188
223
  @data = resp.subnets[0]
@@ -299,7 +334,7 @@ module Aws::EC2
299
334
  :retry
300
335
  end
301
336
  end
302
- Aws::Plugins::UserAgent.feature('resource') do
337
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
303
338
  Aws::Waiters::Waiter.new(options).wait({})
304
339
  end
305
340
  end
@@ -311,8 +346,6 @@ module Aws::EC2
311
346
  # instance = subnet.create_instances({
312
347
  # block_device_mappings: [
313
348
  # {
314
- # device_name: "String",
315
- # virtual_name: "String",
316
349
  # ebs: {
317
350
  # delete_on_termination: false,
318
351
  # iops: 1,
@@ -322,13 +355,18 @@ module Aws::EC2
322
355
  # kms_key_id: "String",
323
356
  # throughput: 1,
324
357
  # outpost_arn: "String",
358
+ # availability_zone: "String",
325
359
  # encrypted: false,
360
+ # volume_initialization_rate: 1,
361
+ # availability_zone_id: "String",
326
362
  # },
327
363
  # no_device: "String",
364
+ # device_name: "String",
365
+ # virtual_name: "String",
328
366
  # },
329
367
  # ],
330
368
  # image_id: "ImageId",
331
- # 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
369
+ # 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, c7i-flex.12xlarge, c7i-flex.16xlarge, m7i-flex.12xlarge, m7i-flex.16xlarge, i7ie.metal-24xl, i7ie.metal-48xl, i8g.48xlarge, c8gd.medium, c8gd.large, c8gd.xlarge, c8gd.2xlarge, c8gd.4xlarge, c8gd.8xlarge, c8gd.12xlarge, c8gd.16xlarge, c8gd.24xlarge, c8gd.48xlarge, c8gd.metal-24xl, c8gd.metal-48xl, i7i.large, i7i.xlarge, i7i.2xlarge, i7i.4xlarge, i7i.8xlarge, i7i.12xlarge, i7i.16xlarge, i7i.24xlarge, i7i.48xlarge, i7i.metal-24xl, i7i.metal-48xl, p6-b200.48xlarge, m8gd.medium, m8gd.large, m8gd.xlarge, m8gd.2xlarge, m8gd.4xlarge, m8gd.8xlarge, m8gd.12xlarge, m8gd.16xlarge, m8gd.24xlarge, m8gd.48xlarge, m8gd.metal-24xl, m8gd.metal-48xl, r8gd.medium, r8gd.large, r8gd.xlarge, r8gd.2xlarge, r8gd.4xlarge, r8gd.8xlarge, r8gd.12xlarge, r8gd.16xlarge, r8gd.24xlarge, r8gd.48xlarge, r8gd.metal-24xl, r8gd.metal-48xl, c8gn.medium, c8gn.large, c8gn.xlarge, c8gn.2xlarge, c8gn.4xlarge, c8gn.8xlarge, c8gn.12xlarge, c8gn.16xlarge, c8gn.24xlarge, c8gn.48xlarge, c8gn.metal-24xl, c8gn.metal-48xl, f2.6xlarge, p6e-gb200.36xlarge
332
370
  # ipv_6_address_count: 1,
333
371
  # ipv_6_addresses: [
334
372
  # {
@@ -344,7 +382,7 @@ module Aws::EC2
344
382
  # enabled: false, # required
345
383
  # },
346
384
  # placement: {
347
- # availability_zone: "String",
385
+ # availability_zone_id: "AvailabilityZoneId",
348
386
  # affinity: "String",
349
387
  # group_name: "PlacementGroupName",
350
388
  # partition_number: 1,
@@ -353,64 +391,12 @@ module Aws::EC2
353
391
  # spread_domain: "String",
354
392
  # host_resource_group_arn: "String",
355
393
  # group_id: "PlacementGroupId",
394
+ # availability_zone: "String",
356
395
  # },
357
396
  # ramdisk_id: "RamdiskId",
358
397
  # security_group_ids: ["SecurityGroupId"],
359
398
  # security_groups: ["SecurityGroupName"],
360
399
  # user_data: "RunInstancesUserData",
361
- # additional_info: "String",
362
- # client_token: "String",
363
- # disable_api_termination: false,
364
- # dry_run: false,
365
- # ebs_optimized: false,
366
- # iam_instance_profile: {
367
- # arn: "String",
368
- # name: "String",
369
- # },
370
- # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
371
- # network_interfaces: [
372
- # {
373
- # associate_public_ip_address: false,
374
- # delete_on_termination: false,
375
- # description: "String",
376
- # device_index: 1,
377
- # groups: ["SecurityGroupId"],
378
- # ipv_6_address_count: 1,
379
- # ipv_6_addresses: [
380
- # {
381
- # ipv_6_address: "String",
382
- # is_primary_ipv_6: false,
383
- # },
384
- # ],
385
- # network_interface_id: "NetworkInterfaceId",
386
- # private_ip_address: "String",
387
- # private_ip_addresses: [
388
- # {
389
- # primary: false,
390
- # private_ip_address: "String",
391
- # },
392
- # ],
393
- # secondary_private_ip_address_count: 1,
394
- # subnet_id: "String",
395
- # associate_carrier_ip_address: false,
396
- # interface_type: "String",
397
- # network_card_index: 1,
398
- # ipv_4_prefixes: [
399
- # {
400
- # ipv_4_prefix: "String",
401
- # },
402
- # ],
403
- # ipv_4_prefix_count: 1,
404
- # ipv_6_prefixes: [
405
- # {
406
- # ipv_6_prefix: "String",
407
- # },
408
- # ],
409
- # ipv_6_prefix_count: 1,
410
- # primary_ipv_6: false,
411
- # },
412
- # ],
413
- # private_ip_address: "String",
414
400
  # elastic_gpu_specification: [
415
401
  # {
416
402
  # type: "String", # required
@@ -424,7 +410,7 @@ module Aws::EC2
424
410
  # ],
425
411
  # tag_specifications: [
426
412
  # {
427
- # 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
413
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
428
414
  # tags: [
429
415
  # {
430
416
  # key: "String",
@@ -439,7 +425,7 @@ module Aws::EC2
439
425
  # version: "String",
440
426
  # },
441
427
  # instance_market_options: {
442
- # market_type: "spot", # accepts spot
428
+ # market_type: "spot", # accepts spot, capacity-block
443
429
  # spot_options: {
444
430
  # max_price: "String",
445
431
  # spot_instance_type: "one-time", # accepts one-time, persistent
@@ -457,7 +443,7 @@ module Aws::EC2
457
443
  # amd_sev_snp: "enabled", # accepts enabled, disabled
458
444
  # },
459
445
  # capacity_reservation_specification: {
460
- # capacity_reservation_preference: "open", # accepts open, none
446
+ # capacity_reservation_preference: "capacity-reservations-only", # accepts capacity-reservations-only, open, none
461
447
  # capacity_reservation_target: {
462
448
  # capacity_reservation_id: "CapacityReservationId",
463
449
  # capacity_reservation_resource_group_arn: "String",
@@ -491,6 +477,77 @@ module Aws::EC2
491
477
  # },
492
478
  # disable_api_stop: false,
493
479
  # enable_primary_ipv_6: false,
480
+ # network_performance_options: {
481
+ # bandwidth_weighting: "default", # accepts default, vpc-1, ebs-1
482
+ # },
483
+ # operator: {
484
+ # principal: "String",
485
+ # },
486
+ # dry_run: false,
487
+ # disable_api_termination: false,
488
+ # instance_initiated_shutdown_behavior: "stop", # accepts stop, terminate
489
+ # private_ip_address: "String",
490
+ # client_token: "String",
491
+ # additional_info: "String",
492
+ # network_interfaces: [
493
+ # {
494
+ # associate_public_ip_address: false,
495
+ # delete_on_termination: false,
496
+ # description: "String",
497
+ # device_index: 1,
498
+ # groups: ["SecurityGroupId"],
499
+ # ipv_6_address_count: 1,
500
+ # ipv_6_addresses: [
501
+ # {
502
+ # ipv_6_address: "String",
503
+ # is_primary_ipv_6: false,
504
+ # },
505
+ # ],
506
+ # network_interface_id: "NetworkInterfaceId",
507
+ # private_ip_address: "String",
508
+ # private_ip_addresses: [
509
+ # {
510
+ # primary: false,
511
+ # private_ip_address: "String",
512
+ # },
513
+ # ],
514
+ # secondary_private_ip_address_count: 1,
515
+ # subnet_id: "String",
516
+ # associate_carrier_ip_address: false,
517
+ # interface_type: "String",
518
+ # network_card_index: 1,
519
+ # ipv_4_prefixes: [
520
+ # {
521
+ # ipv_4_prefix: "String",
522
+ # },
523
+ # ],
524
+ # ipv_4_prefix_count: 1,
525
+ # ipv_6_prefixes: [
526
+ # {
527
+ # ipv_6_prefix: "String",
528
+ # },
529
+ # ],
530
+ # ipv_6_prefix_count: 1,
531
+ # primary_ipv_6: false,
532
+ # ena_srd_specification: {
533
+ # ena_srd_enabled: false,
534
+ # ena_srd_udp_specification: {
535
+ # ena_srd_udp_enabled: false,
536
+ # },
537
+ # },
538
+ # connection_tracking_specification: {
539
+ # tcp_established_timeout: 1,
540
+ # udp_stream_timeout: 1,
541
+ # udp_timeout: 1,
542
+ # },
543
+ # ena_queue_count: 1,
544
+ # },
545
+ # ],
546
+ # iam_instance_profile: {
547
+ # arn: "String",
548
+ # name: "String",
549
+ # },
550
+ # ebs_optimized: false,
494
551
  # })
495
552
  # @param [Hash] options ({})
496
553
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
@@ -506,12 +563,12 @@ module Aws::EC2
506
563
  # The ID of the AMI. An AMI ID is required to launch an instance and
507
564
  # must be specified here or in a launch template.
508
565
  # @option options [String] :instance_type
509
- # The instance type. For more information, see [Instance types][1] in
510
- # the *Amazon EC2 User Guide*.
566
+ # The instance type. For more information, see [Amazon EC2 Instance
567
+ # Types Guide][1].
511
568
  #
512
569
  #
513
570
  #
514
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
571
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html
515
572
  # @option options [Integer] :ipv_6_address_count
516
573
  # The number of IPv6 addresses to associate with the primary network
517
574
  # interface. Amazon EC2 chooses the IPv6 addresses from the range of
@@ -540,8 +597,8 @@ module Aws::EC2
540
597
  #
541
598
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
542
599
  # @option options [String] :key_name
543
- # The name of the key pair. You can create a key pair using
544
- # [CreateKeyPair][1] or [ImportKeyPair][2].
600
+ # The name of the key pair. For more information, see [Create a key pair
601
+ # for your EC2 instance][1].
545
602
  #
546
603
  # If you do not specify a key pair, you can't connect to the instance
547
604
  # unless you choose an AMI that is configured to allow users another way
@@ -549,35 +606,32 @@ module Aws::EC2
549
606
  #
550
607
  #
551
608
  #
552
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html
553
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html
609
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html
554
610
  # @option options [required, Integer] :max_count
555
- # The maximum number of instances to launch. If you specify more
556
- # instances than Amazon EC2 can launch in the target Availability Zone,
557
- # Amazon EC2 launches the largest possible number of instances above
558
- # `MinCount`.
611
+ # The maximum number of instances to launch. If you specify a value that
612
+ # is more capacity than Amazon EC2 can launch in the target Availability
613
+ # Zone, Amazon EC2 launches the largest possible number of instances
614
+ # above the specified minimum count.
559
615
  #
560
- # Constraints: Between 1 and the maximum number you're allowed for the
561
- # specified instance type. For more information about the default
562
- # limits, and how to request an increase, see [How many instances can I
563
- # run in Amazon EC2][1] in the Amazon EC2 FAQ.
616
+ # Constraints: Between 1 and the quota for the specified instance type
617
+ # for your account for this Region. For more information, see [Amazon
618
+ # EC2 instance type quotas][1].
564
619
  #
565
620
  #
566
621
  #
567
- # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
622
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-quotas.html
568
623
  # @option options [required, Integer] :min_count
569
- # The minimum number of instances to launch. If you specify a minimum
570
- # that is more instances than Amazon EC2 can launch in the target
571
- # Availability Zone, Amazon EC2 launches no instances.
624
+ # The minimum number of instances to launch. If you specify a value that
625
+ # is more capacity than Amazon EC2 can provide in the target
626
+ # Availability Zone, Amazon EC2 does not launch any instances.
572
627
  #
573
- # Constraints: Between 1 and the maximum number you're allowed for the
574
- # specified instance type. For more information about the default
575
- # limits, and how to request an increase, see [How many instances can I
576
- # run in Amazon EC2][1] in the Amazon EC2 General FAQ.
628
+ # Constraints: Between 1 and the quota for the specified instance type
629
+ # for your account for this Region. For more information, see [Amazon
630
+ # EC2 instance type quotas][1].
577
631
  #
578
632
  #
579
633
  #
580
- # [1]: http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2
634
+ # [1]: https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-quotas.html
581
635
  # @option options [Types::RunInstancesMonitoringEnabled] :monitoring
582
636
  # Specifies whether detailed monitoring is enabled for the instance.
583
637
  # @option options [Types::Placement] :placement
@@ -596,126 +650,38 @@ module Aws::EC2
596
650
  #
597
651
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html
598
652
  # @option options [Array<String>] :security_group_ids
599
- # The IDs of the security groups. You can create a security group using
600
- # [CreateSecurityGroup][1].
653
+ # The IDs of the security groups.
601
654
  #
602
655
  # If you specify a network interface, you must specify any security
603
- # groups as part of the network interface.
604
- #
605
- #
606
- #
607
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html
656
+ # groups as part of the network interface instead of using this
657
+ # parameter.
608
658
  # @option options [Array<String>] :security_groups
609
659
  # \[Default VPC\] The names of the security groups.
610
660
  #
611
661
  # If you specify a network interface, you must specify any security
612
- # groups as part of the network interface.
662
+ # groups as part of the network interface instead of using this
663
+ # parameter.
613
664
  #
614
665
  # Default: Amazon EC2 uses the default security group.
615
666
  # @option options [String] :user_data
616
- # The user data script to make available to the instance. For more
617
- # information, see [Run commands on your Linux instance at launch][1]
618
- # and [Run commands on your Windows instance at launch][2]. If you are
619
- # using a command line tool, base64-encoding is performed for you, and
620
- # you can load the text from a file. Otherwise, you must provide
621
- # base64-encoded text. User data is limited to 16 KB.
667
+ # The user data to make available to the instance. User data must be
668
+ # base64-encoded. Depending on the tool or SDK that you're using, the
669
+ # base64-encoding might be performed for you. For more information, see
670
+ # [Run commands at launch using instance user data][1].
622
671
  #
623
672
  #
624
673
  #
625
674
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html
626
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html
627
- # @option options [String] :additional_info
628
- # Reserved.
629
- # @option options [String] :client_token
630
- # Unique, case-sensitive identifier you provide to ensure the
631
- # idempotency of the request. If you do not specify a client token, a
632
- # randomly generated token is used for the request to ensure
633
- # idempotency.
634
- #
635
- # For more information, see [Ensuring Idempotency][1].
636
- #
637
- # Constraints: Maximum 64 ASCII characters
638
- #
639
- #
640
- #
641
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
642
- # @option options [Boolean] :disable_api_termination
643
- # If you set this parameter to `true`, you can't terminate the instance
644
- # using the Amazon EC2 console, CLI, or API; otherwise, you can. To
645
- # change this attribute after launch, use [ModifyInstanceAttribute][1].
646
- # Alternatively, if you set `InstanceInitiatedShutdownBehavior` to
647
- # `terminate`, you can terminate the instance by running the shutdown
648
- # command from the instance.
649
- #
650
- # Default: `false`
651
- #
652
- #
653
- #
654
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html
655
- # @option options [Boolean] :dry_run
656
- # Checks whether you have the required permissions for the action,
657
- # without actually making the request, and provides an error response.
658
- # If you have the required permissions, the error response is
659
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
660
- # @option options [Boolean] :ebs_optimized
661
- # Indicates whether the instance is optimized for Amazon EBS I/O. This
662
- # optimization provides dedicated throughput to Amazon EBS and an
663
- # optimized configuration stack to provide optimal Amazon EBS I/O
664
- # performance. This optimization isn't available with all instance
665
- # types. Additional usage charges apply when using an EBS-optimized
666
- # instance.
667
- #
668
- # Default: `false`
669
- # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
670
- # The name or Amazon Resource Name (ARN) of an IAM instance profile.
671
- # @option options [String] :instance_initiated_shutdown_behavior
672
- # Indicates whether an instance stops or terminates when you initiate
673
- # shutdown from the instance (using the operating system command for
674
- # system shutdown).
675
- #
676
- # Default: `stop`
677
- # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
678
- # The network interfaces to associate with the instance. If you specify
679
- # a network interface, you must specify any security groups and subnets
680
- # as part of the network interface.
681
- # @option options [String] :private_ip_address
682
- # The primary IPv4 address. You must specify a value from the IPv4
683
- # address range of the subnet.
684
- #
685
- # Only one private IP address can be designated as primary. You can't
686
- # specify this option if you've specified the option to designate a
687
- # private IP address as the primary IP address in a network interface
688
- # specification. You cannot specify this option if you're launching
689
- # more than one instance in the request.
690
- #
691
- # You cannot specify this option and the network interfaces option in
692
- # the same request.
693
675
  # @option options [Array<Types::ElasticGpuSpecification>] :elastic_gpu_specification
694
- # An elastic GPU to associate with the instance. An Elastic GPU is a GPU
695
- # resource that you can attach to your Windows instance to accelerate
696
- # the graphics performance of your applications. For more information,
697
- # see [Amazon EC2 Elastic GPUs][1] in the *Amazon EC2 User Guide*.
698
- #
676
+ # An elastic GPU to associate with the instance.
699
677
  #
678
+ # <note markdown="1"> Amazon Elastic Graphics reached end of life on January 8, 2024.
700
679
  #
701
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html
680
+ # </note>
702
681
  # @option options [Array<Types::ElasticInferenceAccelerator>] :elastic_inference_accelerators
703
682
  # An elastic inference accelerator to associate with the instance.
704
- # Elastic inference accelerators are a resource you can attach to your
705
- # Amazon EC2 instances to accelerate your Deep Learning (DL) inference
706
- # workloads.
707
- #
708
- # You cannot specify accelerators from different generations in the same
709
- # request.
710
- #
711
- # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
712
- # customers to Amazon Elastic Inference (EI), and will help current
713
- # customers migrate their workloads to options that offer better price
714
- # and performance. After April 15, 2023, new customers will not be able
715
- # to launch instances with Amazon EI accelerators in Amazon SageMaker,
716
- # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
717
- # at least once during the past 30-day period are considered current
718
- # customers and will be able to continue using the service.
683
+ #
684
+ # <note markdown="1"> Amazon Elastic Inference is no longer available.
719
685
  #
720
686
  # </note>
721
687
  # @option options [Array<Types::TagSpecification>] :tag_specifications
@@ -728,8 +694,6 @@ module Aws::EC2
728
694
  #
729
695
  # * Volumes
730
696
  #
731
- # * Elastic graphics
732
- #
733
697
  # * Spot Instance requests
734
698
  #
735
699
  # * Network interfaces
@@ -740,10 +704,9 @@ module Aws::EC2
740
704
  #
741
705
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html
742
706
  # @option options [Types::LaunchTemplateSpecification] :launch_template
743
- # The launch template to use to launch the instances. Any parameters
744
- # that you specify in RunInstances override the same parameters in the
745
- # launch template. You can specify either the name or ID of a launch
746
- # template, but not both.
707
+ # The launch template. Any additional parameters that you specify for
708
+ # the new instance overwrite the corresponding parameters included in
709
+ # the launch template.
747
710
  # @option options [Types::InstanceMarketOptionsRequest] :instance_market_options
748
711
  # The market (purchasing) option for the instances.
749
712
  #
@@ -778,12 +741,12 @@ module Aws::EC2
778
741
  # not specify this parameter, the instance's Capacity Reservation
779
742
  # preference defaults to `open`, which enables it to run in any open
780
743
  # Capacity Reservation that has matching attributes (instance type,
781
- # platform, Availability Zone).
744
+ # platform, Availability Zone, and tenancy).
782
745
  # @option options [Types::HibernationOptionsRequest] :hibernation_options
783
746
  # Indicates whether an instance is enabled for hibernation. This
784
747
  # parameter is valid only if the instance meets the [hibernation
785
- # prerequisites][1]. For more information, see [Hibernate your
786
- # instance][2] in the *Amazon EC2 User Guide*.
748
+ # prerequisites][1]. For more information, see [Hibernate your Amazon
749
+ # EC2 instance][2] in the *Amazon EC2 User Guide*.
787
750
  #
788
751
  # You can't enable hibernation and Amazon Web Services Nitro Enclaves
789
752
  # on the same instance.
@@ -796,23 +759,22 @@ module Aws::EC2
796
759
  # The license configurations.
797
760
  # @option options [Types::InstanceMetadataOptionsRequest] :metadata_options
798
761
  # The metadata options for the instance. For more information, see
799
- # [Instance metadata and user data][1].
762
+ # [Configure the Instance Metadata Service options][1].
800
763
  #
801
764
  #
802
765
  #
803
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
766
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html
804
767
  # @option options [Types::EnclaveOptionsRequest] :enclave_options
805
768
  # Indicates whether the instance is enabled for Amazon Web Services
806
- # Nitro Enclaves. For more information, see [What is Amazon Web Services
807
- # Nitro Enclaves?][1] in the *Amazon Web Services Nitro Enclaves User
808
- # Guide*.
769
+ # Nitro Enclaves. For more information, see [Amazon Web Services Nitro
770
+ # Enclaves User Guide][1].
809
771
  #
810
772
  # You can't enable Amazon Web Services Nitro Enclaves and hibernation
811
773
  # on the same instance.
812
774
  #
813
775
  #
814
776
  #
815
- # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html
777
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/
816
778
  # @option options [Types::PrivateDnsNameOptionsRequest] :private_dns_name_options
817
779
  # The options for the instance hostname. The default values are
818
780
  # inherited from the subnet. Applies only if creating a network
@@ -821,11 +783,11 @@ module Aws::EC2
821
783
  # The maintenance and recovery options for the instance.
822
784
  # @option options [Boolean] :disable_api_stop
823
785
  # Indicates whether an instance is enabled for stop protection. For more
824
- # information, see [Stop protection][1].
786
+ # information, see [Enable stop protection for your EC2 instances][1].
825
787
  #
826
788
  #
827
789
  #
828
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection
790
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html
829
791
  # @option options [Boolean] :enable_primary_ipv_6
830
792
  # If you’re launching an instance into a dual-stack or IPv6-only subnet,
831
793
  # you can enable assigning a primary IPv6 address. A primary IPv6
@@ -842,11 +804,74 @@ module Aws::EC2
842
804
  # attached to your instance and you enable a primary IPv6 address, the
843
805
  # first IPv6 GUA address associated with the ENI becomes the primary
844
806
  # IPv6 address.
807
+ # @option options [Types::InstanceNetworkPerformanceOptionsRequest] :network_performance_options
808
+ # Contains settings for the network performance options for the
809
+ # instance.
810
+ # @option options [Types::OperatorRequest] :operator
811
+ # Reserved for internal use.
812
+ # @option options [Boolean] :dry_run
813
+ # Checks whether you have the required permissions for the operation,
814
+ # without actually making the request, and provides an error response.
815
+ # If you have the required permissions, the error response is
816
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
817
+ # @option options [Boolean] :disable_api_termination
818
+ # Indicates whether termination protection is enabled for the instance.
819
+ # The default is `false`, which means that you can terminate the
820
+ # instance using the Amazon EC2 console, command line tools, or API. You
821
+ # can enable termination protection when you launch an instance, while
822
+ # the instance is running, or while the instance is stopped.
823
+ # @option options [String] :instance_initiated_shutdown_behavior
824
+ # Indicates whether an instance stops or terminates when you initiate
825
+ # shutdown from the instance (using the operating system command for
826
+ # system shutdown).
827
+ #
828
+ # Default: `stop`
829
+ # @option options [String] :private_ip_address
830
+ # The primary IPv4 address. You must specify a value from the IPv4
831
+ # address range of the subnet.
832
+ #
833
+ # Only one private IP address can be designated as primary. You can't
834
+ # specify this option if you've specified the option to designate a
835
+ # private IP address as the primary IP address in a network interface
836
+ # specification. You cannot specify this option if you're launching
837
+ # more than one instance in the request.
838
+ #
839
+ # You cannot specify this option and the network interfaces option in
840
+ # the same request.
841
+ # @option options [String] :client_token
842
+ # Unique, case-sensitive identifier you provide to ensure the
843
+ # idempotency of the request. If you do not specify a client token, a
844
+ # randomly generated token is used for the request to ensure
845
+ # idempotency.
846
+ #
847
+ # For more information, see [Ensuring idempotency in Amazon EC2 API
848
+ # requests][1].
849
+ #
850
+ # Constraints: Maximum 64 ASCII characters
851
+ #
852
+ #
853
+ #
854
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
855
+ # @option options [String] :additional_info
856
+ # Reserved.
857
+ # @option options [Array<Types::InstanceNetworkInterfaceSpecification>] :network_interfaces
858
+ # The network interfaces to associate with the instance.
859
+ # @option options [Types::IamInstanceProfileSpecification] :iam_instance_profile
860
+ # The name or Amazon Resource Name (ARN) of an IAM instance profile.
861
+ # @option options [Boolean] :ebs_optimized
862
+ # Indicates whether the instance is optimized for Amazon EBS I/O. This
863
+ # optimization provides dedicated throughput to Amazon EBS and an
864
+ # optimized configuration stack to provide optimal Amazon EBS I/O
865
+ # performance. This optimization isn't available with all instance
866
+ # types. Additional usage charges apply when using an EBS-optimized
867
+ # instance.
868
+ #
869
+ # Default: `false`
845
870
  # @return [Instance::Collection]
846
871
  def create_instances(options = {})
847
872
  batch = []
848
873
  options = options.merge(subnet_id: @id)
849
- resp = Aws::Plugins::UserAgent.feature('resource') do
874
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
850
875
  @client.run_instances(options)
851
876
  end
852
877
  resp.data.instances.each do |i|
@@ -862,24 +887,6 @@ module Aws::EC2
862
887
  # @example Request syntax with placeholder values
863
888
  #
864
889
  # networkinterface = subnet.create_network_interface({
865
- # description: "String",
866
- # dry_run: false,
867
- # groups: ["SecurityGroupId"],
868
- # ipv_6_address_count: 1,
869
- # ipv_6_addresses: [
870
- # {
871
- # ipv_6_address: "String",
872
- # is_primary_ipv_6: false,
873
- # },
874
- # ],
875
- # private_ip_address: "String",
876
- # private_ip_addresses: [
877
- # {
878
- # primary: false,
879
- # private_ip_address: "String",
880
- # },
881
- # ],
882
- # secondary_private_ip_address_count: 1,
883
890
  # ipv_4_prefixes: [
884
891
  # {
885
892
  # ipv_4_prefix: "String",
@@ -892,10 +899,10 @@ module Aws::EC2
892
899
  # },
893
900
  # ],
894
901
  # ipv_6_prefix_count: 1,
895
- # interface_type: "efa", # accepts efa, branch, trunk
902
+ # interface_type: "efa", # accepts efa, efa-only, branch, trunk
896
903
  # tag_specifications: [
897
904
  # {
898
- # 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
905
+ # resource_type: "capacity-reservation", # accepts capacity-reservation, client-vpn-endpoint, customer-gateway, carrier-gateway, coip-pool, declarative-policies-report, dedicated-host, dhcp-options, egress-only-internet-gateway, elastic-ip, elastic-gpu, export-image-task, export-instance-task, fleet, fpga-image, host-reservation, image, import-image-task, import-snapshot-task, instance, instance-event-window, internet-gateway, ipam, ipam-pool, ipam-scope, ipv4pool-ec2, ipv6pool-ec2, key-pair, launch-template, local-gateway, local-gateway-route-table, local-gateway-virtual-interface, local-gateway-virtual-interface-group, local-gateway-route-table-vpc-association, local-gateway-route-table-virtual-interface-group-association, natgateway, network-acl, network-interface, network-insights-analysis, network-insights-path, network-insights-access-scope, network-insights-access-scope-analysis, outpost-lag, placement-group, prefix-list, replace-root-volume-task, reserved-instances, route-table, security-group, security-group-rule, service-link-virtual-interface, snapshot, spot-fleet-request, spot-instances-request, subnet, subnet-cidr-reservation, traffic-mirror-filter, traffic-mirror-session, traffic-mirror-target, transit-gateway, transit-gateway-attachment, transit-gateway-connect-peer, transit-gateway-multicast-domain, transit-gateway-policy-table, transit-gateway-route-table, transit-gateway-route-table-announcement, volume, vpc, vpc-endpoint, vpc-endpoint-connection, vpc-endpoint-service, vpc-endpoint-service-permission, vpc-peering-connection, vpn-connection, vpn-gateway, vpc-flow-log, capacity-reservation-fleet, traffic-mirror-filter-rule, vpc-endpoint-connection-device-type, verified-access-instance, verified-access-group, verified-access-endpoint, verified-access-policy, verified-access-trust-provider, vpn-connection-device-type, vpc-block-public-access-exclusion, route-server, route-server-endpoint, route-server-peer, ipam-resource-discovery, ipam-resource-discovery-association, instance-connect-endpoint, verified-access-endpoint-target, ipam-external-resource-verification-token, capacity-block, mac-modification-task
899
906
  # tags: [
900
907
  # {
901
908
  # key: "String",
@@ -904,58 +911,36 @@ module Aws::EC2
904
911
  # ],
905
912
  # },
906
913
  # ],
907
- # client_token: "String",
908
- # enable_primary_ipv_6: false,
914
+ # client_token: "String",
915
+ # enable_primary_ipv_6: false,
916
+ # connection_tracking_specification: {
917
+ # tcp_established_timeout: 1,
918
+ # udp_stream_timeout: 1,
919
+ # udp_timeout: 1,
920
+ # },
921
+ # operator: {
922
+ # principal: "String",
923
+ # },
924
+ # description: "String",
925
+ # private_ip_address: "String",
926
+ # groups: ["SecurityGroupId"],
927
+ # private_ip_addresses: [
928
+ # {
929
+ # primary: false,
930
+ # private_ip_address: "String",
931
+ # },
932
+ # ],
933
+ # secondary_private_ip_address_count: 1,
934
+ # ipv_6_addresses: [
935
+ # {
936
+ # ipv_6_address: "String",
937
+ # is_primary_ipv_6: false,
938
+ # },
939
+ # ],
940
+ # ipv_6_address_count: 1,
941
+ # dry_run: false,
909
942
  # })
910
943
  # @param [Hash] options ({})
911
- # @option options [String] :description
912
- # A description for the network interface.
913
- # @option options [Boolean] :dry_run
914
- # Checks whether you have the required permissions for the action,
915
- # without actually making the request, and provides an error response.
916
- # If you have the required permissions, the error response is
917
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
918
- # @option options [Array<String>] :groups
919
- # The IDs of one or more security groups.
920
- # @option options [Integer] :ipv_6_address_count
921
- # The number of IPv6 addresses to assign to a network interface. Amazon
922
- # EC2 automatically selects the IPv6 addresses from the subnet range.
923
- #
924
- # You can't specify a count of IPv6 addresses using this parameter if
925
- # you've specified one of the following: specific IPv6 addresses,
926
- # specific IPv6 prefixes, or a count of IPv6 prefixes.
927
- #
928
- # If your subnet has the `AssignIpv6AddressOnCreation` attribute set,
929
- # you can override that setting by specifying 0 as the IPv6 address
930
- # count.
931
- # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
932
- # The IPv6 addresses from the IPv6 CIDR block range of your subnet.
933
- #
934
- # You can't specify IPv6 addresses using this parameter if you've
935
- # specified one of the following: a count of IPv6 addresses, specific
936
- # IPv6 prefixes, or a count of IPv6 prefixes.
937
- # @option options [String] :private_ip_address
938
- # The primary private IPv4 address of the network interface. If you
939
- # don't specify an IPv4 address, Amazon EC2 selects one for you from
940
- # the subnet's IPv4 CIDR range. If you specify an IP address, you
941
- # cannot indicate any IP addresses specified in `privateIpAddresses` as
942
- # primary (only one IP address can be designated as primary).
943
- # @option options [Array<Types::PrivateIpAddressSpecification>] :private_ip_addresses
944
- # The private IPv4 addresses.
945
- #
946
- # You can't specify private IPv4 addresses if you've specified one of
947
- # the following: a count of private IPv4 addresses, specific IPv4
948
- # prefixes, or a count of IPv4 prefixes.
949
- # @option options [Integer] :secondary_private_ip_address_count
950
- # The number of secondary private IPv4 addresses to assign to a network
951
- # interface. When you specify a number of secondary IPv4 addresses,
952
- # Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR
953
- # range. You can't specify this option and specify more than one
954
- # private IP address using `privateIpAddresses`.
955
- #
956
- # You can't specify a count of private IPv4 addresses if you've
957
- # specified one of the following: specific private IPv4 addresses,
958
- # specific IPv4 prefixes, or a count of IPv4 prefixes.
959
944
  # @option options [Array<Types::Ipv4PrefixSpecificationRequest>] :ipv_4_prefixes
960
945
  # The IPv4 prefixes assigned to the network interface.
961
946
  #
@@ -985,17 +970,22 @@ module Aws::EC2
985
970
  # @option options [String] :interface_type
986
971
  # The type of network interface. The default is `interface`.
987
972
  #
988
- # The only supported values are `interface`, `efa`, and `trunk`.
973
+ # If you specify `efa-only`, do not assign any IP addresses to the
974
+ # network interface. EFA-only network interfaces do not support IP
975
+ # addresses.
976
+ #
977
+ # The only supported values are `interface`, `efa`, `efa-only`, and
978
+ # `trunk`.
989
979
  # @option options [Array<Types::TagSpecification>] :tag_specifications
990
980
  # The tags to apply to the new network interface.
991
981
  # @option options [String] :client_token
992
982
  # Unique, case-sensitive identifier that you provide to ensure the
993
983
  # idempotency of the request. For more information, see [Ensuring
994
- # Idempotency][1].
984
+ # idempotency][1].
995
985
  #
996
986
  #
997
987
  #
998
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
988
+ # [1]: https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html
999
989
  # @option options [Boolean] :enable_primary_ipv_6
1000
990
  # If you’re creating a network interface in a dual-stack or IPv6-only
1001
991
  # subnet, you have the option to assign a primary IPv6 IP address. A
@@ -1012,10 +1002,62 @@ module Aws::EC2
1012
1002
  # with an ENI attached to your instance and you enable a primary IPv6
1013
1003
  # address, the first IPv6 GUA address associated with the ENI becomes
1014
1004
  # the primary IPv6 address.
1005
+ # @option options [Types::ConnectionTrackingSpecificationRequest] :connection_tracking_specification
1006
+ # A connection tracking specification for the network interface.
1007
+ # @option options [Types::OperatorRequest] :operator
1008
+ # Reserved for internal use.
1009
+ # @option options [String] :description
1010
+ # A description for the network interface.
1011
+ # @option options [String] :private_ip_address
1012
+ # The primary private IPv4 address of the network interface. If you
1013
+ # don't specify an IPv4 address, Amazon EC2 selects one for you from
1014
+ # the subnet's IPv4 CIDR range. If you specify an IP address, you
1015
+ # cannot indicate any IP addresses specified in `privateIpAddresses` as
1016
+ # primary (only one IP address can be designated as primary).
1017
+ # @option options [Array<String>] :groups
1018
+ # The IDs of the security groups.
1019
+ # @option options [Array<Types::PrivateIpAddressSpecification>] :private_ip_addresses
1020
+ # The private IPv4 addresses.
1021
+ #
1022
+ # You can't specify private IPv4 addresses if you've specified one of
1023
+ # the following: a count of private IPv4 addresses, specific IPv4
1024
+ # prefixes, or a count of IPv4 prefixes.
1025
+ # @option options [Integer] :secondary_private_ip_address_count
1026
+ # The number of secondary private IPv4 addresses to assign to a network
1027
+ # interface. When you specify a number of secondary IPv4 addresses,
1028
+ # Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR
1029
+ # range. You can't specify this option and specify more than one
1030
+ # private IP address using `privateIpAddresses`.
1031
+ #
1032
+ # You can't specify a count of private IPv4 addresses if you've
1033
+ # specified one of the following: specific private IPv4 addresses,
1034
+ # specific IPv4 prefixes, or a count of IPv4 prefixes.
1035
+ # @option options [Array<Types::InstanceIpv6Address>] :ipv_6_addresses
1036
+ # The IPv6 addresses from the IPv6 CIDR block range of your subnet.
1037
+ #
1038
+ # You can't specify IPv6 addresses using this parameter if you've
1039
+ # specified one of the following: a count of IPv6 addresses, specific
1040
+ # IPv6 prefixes, or a count of IPv6 prefixes.
1041
+ # @option options [Integer] :ipv_6_address_count
1042
+ # The number of IPv6 addresses to assign to a network interface. Amazon
1043
+ # EC2 automatically selects the IPv6 addresses from the subnet range.
1044
+ #
1045
+ # You can't specify a count of IPv6 addresses using this parameter if
1046
+ # you've specified one of the following: specific IPv6 addresses,
1047
+ # specific IPv6 prefixes, or a count of IPv6 prefixes.
1048
+ #
1049
+ # If your subnet has the `AssignIpv6AddressOnCreation` attribute set,
1050
+ # you can override that setting by specifying 0 as the IPv6 address
1051
+ # count.
1052
+ # @option options [Boolean] :dry_run
1053
+ # Checks whether you have the required permissions for the action,
1054
+ # without actually making the request, and provides an error response.
1055
+ # If you have the required permissions, the error response is
1056
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1015
1057
  # @return [NetworkInterface]
1016
1058
  def create_network_interface(options = {})
1017
1059
  options = options.merge(subnet_id: @id)
1018
- resp = Aws::Plugins::UserAgent.feature('resource') do
1060
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1019
1061
  @client.create_network_interface(options)
1020
1062
  end
1021
1063
  NetworkInterface.new(
@@ -1050,7 +1092,7 @@ module Aws::EC2
1050
1092
  def create_tags(options = {})
1051
1093
  batch = []
1052
1094
  options = Aws::Util.deep_merge(options, resources: [@id])
1053
- resp = Aws::Plugins::UserAgent.feature('resource') do
1095
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1054
1096
  @client.create_tags(options)
1055
1097
  end
1056
1098
  options[:tags].each do |t|
@@ -1097,7 +1139,7 @@ module Aws::EC2
1097
1139
  def delete_tags(options = {})
1098
1140
  batch = []
1099
1141
  options = Aws::Util.deep_merge(options, resources: [@id])
1100
- resp = Aws::Plugins::UserAgent.feature('resource') do
1142
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1101
1143
  @client.delete_tags(options)
1102
1144
  end
1103
1145
  options[:tags].each do |t|
@@ -1125,7 +1167,7 @@ module Aws::EC2
1125
1167
  # @return [EmptyStructure]
1126
1168
  def delete(options = {})
1127
1169
  options = options.merge(subnet_id: @id)
1128
- resp = Aws::Plugins::UserAgent.feature('resource') do
1170
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1129
1171
  @client.delete_subnet(options)
1130
1172
  end
1131
1173
  resp.data
@@ -1136,16 +1178,25 @@ module Aws::EC2
1136
1178
  # @example Request syntax with placeholder values
1137
1179
  #
1138
1180
  # instances = subnet.instances({
1181
+ # instance_ids: ["InstanceId"],
1182
+ # dry_run: false,
1139
1183
  # filters: [
1140
1184
  # {
1141
1185
  # name: "String",
1142
1186
  # values: ["String"],
1143
1187
  # },
1144
1188
  # ],
1145
- # instance_ids: ["InstanceId"],
1146
- # dry_run: false,
1147
1189
  # })
1148
1190
  # @param [Hash] options ({})
1191
+ # @option options [Array<String>] :instance_ids
1192
+ # The instance IDs.
1193
+ #
1194
+ # Default: Describes all your instances.
1195
+ # @option options [Boolean] :dry_run
1196
+ # Checks whether you have the required permissions for the operation,
1197
+ # without actually making the request, and provides an error response.
1198
+ # If you have the required permissions, the error response is
1199
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1149
1200
  # @option options [Array<Types::Filter>] :filters
1150
1201
  # The filters.
1151
1202
  #
@@ -1157,6 +1208,9 @@ module Aws::EC2
1157
1208
  #
1158
1209
  # * `availability-zone` - The Availability Zone of the instance.
1159
1210
  #
1211
+ # * `availability-zone-id` - The ID of the Availability Zone of the
1212
+ # instance.
1213
+ #
1160
1214
  # * `block-device-mapping.attach-time` - The attach time for an EBS
1161
1215
  # volume mapped to the instance, for example,
1162
1216
  # `2022-09-15T17:15:20.000Z`.
@@ -1221,15 +1275,13 @@ module Aws::EC2
1221
1275
  # * `iam-instance-profile.id` - The instance profile associated with the
1222
1276
  # instance. Specified as an ID.
1223
1277
  #
1224
- # * `iam-instance-profile.name` - The instance profile associated with
1225
- # the instance. Specified as an name.
1226
- #
1227
1278
  # * `image-id` - The ID of the image used to launch the instance.
1228
1279
  #
1229
1280
  # * `instance-id` - The ID of the instance.
1230
1281
  #
1231
- # * `instance-lifecycle` - Indicates whether this is a Spot Instance or
1232
- # a Scheduled Instance (`spot` \| `scheduled`).
1282
+ # * `instance-lifecycle` - Indicates whether this is a Spot Instance, a
1283
+ # Scheduled Instance, or a Capacity Block (`spot` \| `scheduled` \|
1284
+ # `capacity-block`).
1233
1285
  #
1234
1286
  # * `instance-state-code` - The state of the instance, as a 16-bit
1235
1287
  # unsigned integer. The high byte is used for internal purposes and
@@ -1266,8 +1318,6 @@ module Aws::EC2
1266
1318
  # example, `2021-09-29T11:04:43.305Z`. You can use a wildcard (`*`),
1267
1319
  # for example, `2021-09-29T*`, which matches an entire day.
1268
1320
  #
1269
- # * `license-pool` -
1270
- #
1271
1321
  # * `maintenance-options.auto-recovery` - The current automatic recovery
1272
1322
  # behavior of the instance (`disabled` \| `default`).
1273
1323
  #
@@ -1296,25 +1346,37 @@ module Aws::EC2
1296
1346
  # * `monitoring-state` - Indicates whether detailed monitoring is
1297
1347
  # enabled (`disabled` \| `enabled`).
1298
1348
  #
1299
- # * `network-interface.addresses.primary` - Specifies whether the IPv4
1300
- # address of the network interface is the primary private IPv4
1301
- # address.
1349
+ # * `network-interface.addresses.association.allocation-id` - The
1350
+ # allocation ID.
1302
1351
  #
1303
- # * `network-interface.addresses.private-ip-address` - The private IPv4
1304
- # address associated with the network interface.
1352
+ # * `network-interface.addresses.association.association-id` - The
1353
+ # association ID.
1354
+ #
1355
+ # * `network-interface.addresses.association.carrier-ip` - The carrier
1356
+ # IP address.
1357
+ #
1358
+ # * `network-interface.addresses.association.customer-owned-ip` - The
1359
+ # customer-owned IP address.
1360
+ #
1361
+ # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1362
+ # of the private IPv4 address associated with the network interface.
1363
+ #
1364
+ # * `network-interface.addresses.association.public-dns-name` - The
1365
+ # public DNS name.
1305
1366
  #
1306
1367
  # * `network-interface.addresses.association.public-ip` - The ID of the
1307
1368
  # association of an Elastic IP address (IPv4) with a network
1308
1369
  # interface.
1309
1370
  #
1310
- # * `network-interface.addresses.association.ip-owner-id` - The owner ID
1311
- # of the private IPv4 address associated with the network interface.
1371
+ # * `network-interface.addresses.primary` - Specifies whether the IPv4
1372
+ # address of the network interface is the primary private IPv4
1373
+ # address.
1312
1374
  #
1313
- # * `network-interface.association.public-ip` - The address of the
1314
- # Elastic IP address (IPv4) bound to the network interface.
1375
+ # * `network-interface.addresses.private-dns-name` - The private DNS
1376
+ # name.
1315
1377
  #
1316
- # * `network-interface.association.ip-owner-id` - The owner of the
1317
- # Elastic IP address (IPv4) associated with the network interface.
1378
+ # * `network-interface.addresses.private-ip-address` - The private IPv4
1379
+ # address associated with the network interface.
1318
1380
  #
1319
1381
  # * `network-interface.association.allocation-id` - The allocation ID
1320
1382
  # returned when you allocated the Elastic IP address (IPv4) for your
@@ -1324,30 +1386,52 @@ module Aws::EC2
1324
1386
  # returned when the network interface was associated with an IPv4
1325
1387
  # address.
1326
1388
  #
1389
+ # * `network-interface.association.carrier-ip` - The customer-owned IP
1390
+ # address.
1391
+ #
1392
+ # * `network-interface.association.customer-owned-ip` - The
1393
+ # customer-owned IP address.
1394
+ #
1395
+ # * `network-interface.association.ip-owner-id` - The owner of the
1396
+ # Elastic IP address (IPv4) associated with the network interface.
1397
+ #
1398
+ # * `network-interface.association.public-dns-name` - The public DNS
1399
+ # name.
1400
+ #
1401
+ # * `network-interface.association.public-ip` - The address of the
1402
+ # Elastic IP address (IPv4) bound to the network interface.
1403
+ #
1404
+ # * `network-interface.attachment.attach-time` - The time that the
1405
+ # network interface was attached to an instance.
1406
+ #
1327
1407
  # * `network-interface.attachment.attachment-id` - The ID of the
1328
1408
  # interface attachment.
1329
1409
  #
1410
+ # * `network-interface.attachment.delete-on-termination` - Specifies
1411
+ # whether the attachment is deleted when an instance is terminated.
1412
+ #
1413
+ # * `network-interface.attachment.device-index` - The device index to
1414
+ # which the network interface is attached.
1415
+ #
1330
1416
  # * `network-interface.attachment.instance-id` - The ID of the instance
1331
1417
  # to which the network interface is attached.
1332
1418
  #
1333
1419
  # * `network-interface.attachment.instance-owner-id` - The owner ID of
1334
1420
  # the instance to which the network interface is attached.
1335
1421
  #
1336
- # * `network-interface.attachment.device-index` - The device index to
1337
- # which the network interface is attached.
1422
+ # * `network-interface.attachment.network-card-index` - The index of the
1423
+ # network card.
1338
1424
  #
1339
1425
  # * `network-interface.attachment.status` - The status of the attachment
1340
1426
  # (`attaching` \| `attached` \| `detaching` \| `detached`).
1341
1427
  #
1342
- # * `network-interface.attachment.attach-time` - The time that the
1343
- # network interface was attached to an instance.
1344
- #
1345
- # * `network-interface.attachment.delete-on-termination` - Specifies
1346
- # whether the attachment is deleted when an instance is terminated.
1347
- #
1348
1428
  # * `network-interface.availability-zone` - The Availability Zone for
1349
1429
  # the network interface.
1350
1430
  #
1431
+ # * `network-interface.deny-all-igw-traffic` - A Boolean that indicates
1432
+ # whether a network interface with an IPv6 address is unreachable from
1433
+ # the public internet.
1434
+ #
1351
1435
  # * `network-interface.description` - The description of the network
1352
1436
  # interface.
1353
1437
  #
@@ -1357,21 +1441,49 @@ module Aws::EC2
1357
1441
  # * `network-interface.group-name` - The name of a security group
1358
1442
  # associated with the network interface.
1359
1443
  #
1444
+ # * `network-interface.ipv4-prefixes.ipv4-prefix` - The IPv4 prefixes
1445
+ # that are assigned to the network interface.
1446
+ #
1447
+ # * `network-interface.ipv6-address` - The IPv6 address associated with
1448
+ # the network interface.
1449
+ #
1360
1450
  # * `network-interface.ipv6-addresses.ipv6-address` - The IPv6 address
1361
1451
  # associated with the network interface.
1362
1452
  #
1453
+ # * `network-interface.ipv6-addresses.is-primary-ipv6` - A Boolean that
1454
+ # indicates whether this is the primary IPv6 address.
1455
+ #
1456
+ # * `network-interface.ipv6-native` - A Boolean that indicates whether
1457
+ # this is an IPv6 only network interface.
1458
+ #
1459
+ # * `network-interface.ipv6-prefixes.ipv6-prefix` - The IPv6 prefix
1460
+ # assigned to the network interface.
1461
+ #
1363
1462
  # * `network-interface.mac-address` - The MAC address of the network
1364
1463
  # interface.
1365
1464
  #
1366
1465
  # * `network-interface.network-interface-id` - The ID of the network
1367
1466
  # interface.
1368
1467
  #
1468
+ # * `network-interface.operator.managed` - A Boolean that indicates
1469
+ # whether the instance has a managed network interface.
1470
+ #
1471
+ # * `network-interface.operator.principal` - The principal that manages
1472
+ # the network interface. Only valid for instances with managed network
1473
+ # interfaces, where `managed` is `true`.
1474
+ #
1475
+ # * `network-interface.outpost-arn` - The ARN of the Outpost.
1476
+ #
1369
1477
  # * `network-interface.owner-id` - The ID of the owner of the network
1370
1478
  # interface.
1371
1479
  #
1372
1480
  # * `network-interface.private-dns-name` - The private DNS name of the
1373
1481
  # network interface.
1374
1482
  #
1483
+ # * `network-interface.private-ip-address` - The private IPv4 address.
1484
+ #
1485
+ # * `network-interface.public-dns-name` - The public DNS name.
1486
+ #
1375
1487
  # * `network-interface.requester-id` - The requester ID for the network
1376
1488
  # interface.
1377
1489
  #
@@ -1390,9 +1502,25 @@ module Aws::EC2
1390
1502
  # * `network-interface.subnet-id` - The ID of the subnet for the network
1391
1503
  # interface.
1392
1504
  #
1505
+ # * `network-interface.tag-key` - The key of a tag assigned to the
1506
+ # network interface.
1507
+ #
1508
+ # * `network-interface.tag-value` - The value of a tag assigned to the
1509
+ # network interface.
1510
+ #
1393
1511
  # * `network-interface.vpc-id` - The ID of the VPC for the network
1394
1512
  # interface.
1395
1513
  #
1514
+ # * `network-performance-options.bandwidth-weighting` - Where the
1515
+ # performance boost is applied, if applicable. Valid values:
1516
+ # `default`, `vpc-1`, `ebs-1`.
1517
+ #
1518
+ # * `operator.managed` - A Boolean that indicates whether this is a
1519
+ # managed instance.
1520
+ #
1521
+ # * `operator.principal` - The principal that manages the instance. Only
1522
+ # valid for managed instances, where `managed` is `true`.
1523
+ #
1396
1524
  # * `outpost-arn` - The Amazon Resource Name (ARN) of the Outpost.
1397
1525
  #
1398
1526
  # * `owner-id` - The Amazon Web Services account ID of the instance
@@ -1433,6 +1561,10 @@ module Aws::EC2
1433
1561
  # (`ip-name` \| `resource-name`).
1434
1562
  #
1435
1563
  # * `private-ip-address` - The private IPv4 address of the instance.
1564
+ # This can only be used to filter by the primary IP address of the
1565
+ # network interface attached to the instance. To filter by additional
1566
+ # IP addresses assigned to the network interface, use the filter
1567
+ # `network-interface.addresses.private-ip-address`.
1436
1568
  #
1437
1569
  # * `product-code` - The product code associated with the AMI used to
1438
1570
  # launch the instance.
@@ -1511,15 +1643,6 @@ module Aws::EC2
1511
1643
  # (`paravirtual` \| `hvm`).
1512
1644
  #
1513
1645
  # * `vpc-id` - The ID of the VPC that the instance is running in.
1514
- # @option options [Array<String>] :instance_ids
1515
- # The instance IDs.
1516
- #
1517
- # Default: Describes all your instances.
1518
- # @option options [Boolean] :dry_run
1519
- # Checks whether you have the required permissions for the action,
1520
- # without actually making the request, and provides an error response.
1521
- # If you have the required permissions, the error response is
1522
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1523
1646
  # @return [Instance::Collection]
1524
1647
  def instances(options = {})
1525
1648
  batches = Enumerator.new do |y|
@@ -1527,7 +1650,7 @@ module Aws::EC2
1527
1650
  name: "subnet-id",
1528
1651
  values: [@id]
1529
1652
  }])
1530
- resp = Aws::Plugins::UserAgent.feature('resource') do
1653
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1531
1654
  @client.describe_instances(options)
1532
1655
  end
1533
1656
  resp.each_page do |page|
@@ -1575,11 +1698,11 @@ module Aws::EC2
1575
1698
  #
1576
1699
  # * `subnet-id` - The ID of the subnet in which the NAT gateway resides.
1577
1700
  #
1578
- # * `tag`:&lt;key&gt; - The key/value combination of a tag assigned to
1579
- # the resource. Use the tag key in the filter name and the tag value
1580
- # as the filter value. For example, to find all resources that have a
1581
- # tag with the key `Owner` and the value `TeamA`, specify `tag:Owner`
1582
- # for the filter name and `TeamA` for the filter value.
1701
+ # * `tag` - The key/value combination of a tag assigned to the resource.
1702
+ # Use the tag key in the filter name and the tag value as the filter
1703
+ # value. For example, to find all resources that have a tag with the
1704
+ # key `Owner` and the value `TeamA`, specify `tag:Owner` for the
1705
+ # filter name and `TeamA` for the filter value.
1583
1706
  #
1584
1707
  # * `tag-key` - The key of a tag assigned to the resource. Use this
1585
1708
  # filter to find all resources assigned a tag with a specific key,
@@ -1595,7 +1718,7 @@ module Aws::EC2
1595
1718
  name: "subnet-id",
1596
1719
  values: [@id]
1597
1720
  }])
1598
- resp = Aws::Plugins::UserAgent.feature('resource') do
1721
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1599
1722
  @client.describe_nat_gateways(options)
1600
1723
  end
1601
1724
  resp.each_page do |page|
@@ -1616,37 +1739,46 @@ module Aws::EC2
1616
1739
  # @example Request syntax with placeholder values
1617
1740
  #
1618
1741
  # network_interfaces = subnet.network_interfaces({
1742
+ # dry_run: false,
1743
+ # network_interface_ids: ["NetworkInterfaceId"],
1619
1744
  # filters: [
1620
1745
  # {
1621
1746
  # name: "String",
1622
1747
  # values: ["String"],
1623
1748
  # },
1624
1749
  # ],
1625
- # dry_run: false,
1626
- # network_interface_ids: ["NetworkInterfaceId"],
1627
1750
  # })
1628
1751
  # @param [Hash] options ({})
1752
+ # @option options [Boolean] :dry_run
1753
+ # Checks whether you have the required permissions for the action,
1754
+ # without actually making the request, and provides an error response.
1755
+ # If you have the required permissions, the error response is
1756
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1757
+ # @option options [Array<String>] :network_interface_ids
1758
+ # The network interface IDs.
1759
+ #
1760
+ # Default: Describes all your network interfaces.
1629
1761
  # @option options [Array<Types::Filter>] :filters
1630
1762
  # One or more filters.
1631
1763
  #
1632
- # * `addresses.private-ip-address` - The private IPv4 addresses
1633
- # associated with the network interface.
1764
+ # * `association.allocation-id` - The allocation ID returned when you
1765
+ # allocated the Elastic IP address (IPv4) for your network interface.
1634
1766
  #
1635
- # * `addresses.primary` - Whether the private IPv4 address is the
1636
- # primary IP address associated with the network interface.
1767
+ # * `association.association-id` - The association ID returned when the
1768
+ # network interface was associated with an IPv4 address.
1769
+ #
1770
+ # * `addresses.association.owner-id` - The owner ID of the addresses
1771
+ # associated with the network interface.
1637
1772
  #
1638
1773
  # * `addresses.association.public-ip` - The association ID returned when
1639
1774
  # the network interface was associated with the Elastic IP address
1640
1775
  # (IPv4).
1641
1776
  #
1642
- # * `addresses.association.owner-id` - The owner ID of the addresses
1643
- # associated with the network interface.
1644
- #
1645
- # * `association.association-id` - The association ID returned when the
1646
- # network interface was associated with an IPv4 address.
1777
+ # * `addresses.primary` - Whether the private IPv4 address is the
1778
+ # primary IP address associated with the network interface.
1647
1779
  #
1648
- # * `association.allocation-id` - The allocation ID returned when you
1649
- # allocated the Elastic IP address (IPv4) for your network interface.
1780
+ # * `addresses.private-ip-address` - The private IPv4 addresses
1781
+ # associated with the network interface.
1650
1782
  #
1651
1783
  # * `association.ip-owner-id` - The owner of the Elastic IP address
1652
1784
  # (IPv4) associated with the network interface.
@@ -1657,11 +1789,11 @@ module Aws::EC2
1657
1789
  # * `association.public-dns-name` - The public DNS name for the network
1658
1790
  # interface (IPv4).
1659
1791
  #
1660
- # * `attachment.attachment-id` - The ID of the interface attachment.
1661
- #
1662
1792
  # * `attachment.attach-time` - The time that the network interface was
1663
1793
  # attached to an instance.
1664
1794
  #
1795
+ # * `attachment.attachment-id` - The ID of the interface attachment.
1796
+ #
1665
1797
  # * `attachment.delete-on-termination` - Indicates whether the
1666
1798
  # attachment is deleted when an instance is terminated.
1667
1799
  #
@@ -1685,15 +1817,13 @@ module Aws::EC2
1685
1817
  # * `group-id` - The ID of a security group associated with the network
1686
1818
  # interface.
1687
1819
  #
1688
- # * `group-name` - The name of a security group associated with the
1689
- # network interface.
1690
- #
1691
1820
  # * `ipv6-addresses.ipv6-address` - An IPv6 address associated with the
1692
1821
  # network interface.
1693
1822
  #
1694
1823
  # * `interface-type` - The type of network interface
1695
1824
  # (`api_gateway_managed` \| `aws_codestar_connections_managed` \|
1696
- # `branch` \| `efa` \| `gateway_load_balancer` \|
1825
+ # `branch` \| `ec2_instance_connect_endpoint` \| `efa` \| `efa-only`
1826
+ # \| `efs` \| `evs` \| `gateway_load_balancer` \|
1697
1827
  # `gateway_load_balancer_endpoint` \| `global_accelerator_managed` \|
1698
1828
  # `interface` \| `iot_rules_managed` \| `lambda` \| `load_balancer` \|
1699
1829
  # `nat_gateway` \| `network_load_balancer` \| `quicksight` \|
@@ -1703,21 +1833,28 @@ module Aws::EC2
1703
1833
  #
1704
1834
  # * `network-interface-id` - The ID of the network interface.
1705
1835
  #
1836
+ # * `operator.managed` - A Boolean that indicates whether this is a
1837
+ # managed network interface.
1838
+ #
1839
+ # * `operator.principal` - The principal that manages the network
1840
+ # interface. Only valid for managed network interfaces, where
1841
+ # `managed` is `true`.
1842
+ #
1706
1843
  # * `owner-id` - The Amazon Web Services account ID of the network
1707
1844
  # interface owner.
1708
1845
  #
1709
- # * `private-ip-address` - The private IPv4 address or addresses of the
1710
- # network interface.
1711
- #
1712
1846
  # * `private-dns-name` - The private DNS name of the network interface
1713
1847
  # (IPv4).
1714
1848
  #
1849
+ # * `private-ip-address` - The private IPv4 address or addresses of the
1850
+ # network interface.
1851
+ #
1715
1852
  # * `requester-id` - The alias or Amazon Web Services account ID of the
1716
1853
  # principal or service that created the network interface.
1717
1854
  #
1718
1855
  # * `requester-managed` - Indicates whether the network interface is
1719
- # being managed by an Amazon Web Service (for example, Amazon Web
1720
- # Services Management Console, Auto Scaling, and so on).
1856
+ # being managed by an Amazon Web Services service (for example, Amazon
1857
+ # Web Services Management Console, Auto Scaling, and so on).
1721
1858
  #
1722
1859
  # * `source-dest-check` - Indicates whether the network interface
1723
1860
  # performs source/destination checking. A value of `true` means
@@ -1743,15 +1880,6 @@ module Aws::EC2
1743
1880
  # regardless of the tag value.
1744
1881
  #
1745
1882
  # * `vpc-id` - The ID of the VPC for the network interface.
1746
- # @option options [Boolean] :dry_run
1747
- # Checks whether you have the required permissions for the action,
1748
- # without actually making the request, and provides an error response.
1749
- # If you have the required permissions, the error response is
1750
- # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
1751
- # @option options [Array<String>] :network_interface_ids
1752
- # The network interface IDs.
1753
- #
1754
- # Default: Describes all your network interfaces.
1755
1883
  # @return [NetworkInterface::Collection]
1756
1884
  def network_interfaces(options = {})
1757
1885
  batches = Enumerator.new do |y|
@@ -1759,7 +1887,7 @@ module Aws::EC2
1759
1887
  name: "subnet-id",
1760
1888
  values: [@id]
1761
1889
  }])
1762
- resp = Aws::Plugins::UserAgent.feature('resource') do
1890
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1763
1891
  @client.describe_network_interfaces(options)
1764
1892
  end
1765
1893
  resp.each_page do |page|