@aws-sdk/client-ec2 3.410.0 → 3.411.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 (52) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/EC2.js +6 -0
  3. package/dist-cjs/commands/DisableImageBlockPublicAccessCommand.js +46 -0
  4. package/dist-cjs/commands/EnableImageBlockPublicAccessCommand.js +46 -0
  5. package/dist-cjs/commands/GetImageBlockPublicAccessStateCommand.js +46 -0
  6. package/dist-cjs/commands/GetVpnConnectionDeviceSampleConfigurationCommand.js +2 -2
  7. package/dist-cjs/commands/RunInstancesCommand.js +2 -2
  8. package/dist-cjs/commands/index.js +3 -0
  9. package/dist-cjs/models/models_5.js +7 -6
  10. package/dist-cjs/models/models_6.js +6 -6
  11. package/dist-cjs/models/models_7.js +6 -1
  12. package/dist-cjs/protocols/Aws_ec2.js +176 -17
  13. package/dist-es/EC2.js +6 -0
  14. package/dist-es/commands/DisableImageBlockPublicAccessCommand.js +42 -0
  15. package/dist-es/commands/EnableImageBlockPublicAccessCommand.js +42 -0
  16. package/dist-es/commands/GetImageBlockPublicAccessStateCommand.js +42 -0
  17. package/dist-es/commands/GetVpnConnectionDeviceSampleConfigurationCommand.js +1 -1
  18. package/dist-es/commands/RunInstancesCommand.js +1 -1
  19. package/dist-es/commands/index.js +3 -0
  20. package/dist-es/models/models_5.js +6 -4
  21. package/dist-es/models/models_6.js +4 -4
  22. package/dist-es/models/models_7.js +4 -0
  23. package/dist-es/protocols/Aws_ec2.js +153 -0
  24. package/dist-types/EC2.d.ts +21 -0
  25. package/dist-types/EC2Client.d.ts +5 -2
  26. package/dist-types/commands/DisableImageBlockPublicAccessCommand.d.ts +82 -0
  27. package/dist-types/commands/EnableImageBlockPublicAccessCommand.d.ts +82 -0
  28. package/dist-types/commands/GetImageBlockPublicAccessStateCommand.d.ts +76 -0
  29. package/dist-types/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +1 -1
  30. package/dist-types/commands/GetVpnConnectionDeviceTypesCommand.d.ts +1 -1
  31. package/dist-types/commands/GetVpnTunnelReplacementStatusCommand.d.ts +1 -1
  32. package/dist-types/commands/RunInstancesCommand.d.ts +1 -1
  33. package/dist-types/commands/index.d.ts +3 -0
  34. package/dist-types/models/models_5.d.ts +111 -204
  35. package/dist-types/models/models_6.d.ts +203 -585
  36. package/dist-types/models/models_7.d.ts +590 -4
  37. package/dist-types/protocols/Aws_ec2.d.ts +27 -0
  38. package/dist-types/ts3.4/EC2.d.ts +51 -0
  39. package/dist-types/ts3.4/EC2Client.d.ts +18 -0
  40. package/dist-types/ts3.4/commands/DisableImageBlockPublicAccessCommand.d.ts +42 -0
  41. package/dist-types/ts3.4/commands/EnableImageBlockPublicAccessCommand.d.ts +42 -0
  42. package/dist-types/ts3.4/commands/GetImageBlockPublicAccessStateCommand.d.ts +42 -0
  43. package/dist-types/ts3.4/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +1 -1
  44. package/dist-types/ts3.4/commands/GetVpnConnectionDeviceTypesCommand.d.ts +1 -1
  45. package/dist-types/ts3.4/commands/GetVpnTunnelReplacementStatusCommand.d.ts +1 -1
  46. package/dist-types/ts3.4/commands/RunInstancesCommand.d.ts +1 -1
  47. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  48. package/dist-types/ts3.4/models/models_5.d.ts +32 -45
  49. package/dist-types/ts3.4/models/models_6.d.ts +45 -85
  50. package/dist-types/ts3.4/models/models_7.d.ts +109 -4
  51. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +36 -0
  52. package/package.json +1 -1
@@ -1,9 +1,591 @@
1
- import { ByoipCidr, IpPermission, NatGatewayAddress, TagSpecification, TransitGatewayAttachmentResourceType } from "./models_0";
2
- import { LocalGatewayRoute } from "./models_1";
1
+ import { _InstanceType, ByoipCidr, IamInstanceProfileSpecification, IpPermission, NatGatewayAddress, TagSpecification, TransitGatewayAttachmentResourceType } from "./models_0";
2
+ import { BlockDeviceMapping, CreditSpecificationRequest, ElasticGpuSpecification, HostnameType, InstanceIpv6Address, LocalGatewayRoute, Placement, ShutdownBehavior } from "./models_1";
3
3
  import { TransitGatewayRoute } from "./models_2";
4
4
  import { ClientVpnConnectionStatus, Filter } from "./models_3";
5
- import { InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis } from "./models_4";
6
- import { InstanceMonitoring, ScheduledInstancesBlockDeviceMapping, ScheduledInstancesIamInstanceProfile, ScheduledInstancesMonitoring } from "./models_6";
5
+ import { HttpTokensState, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis, RunInstancesMonitoringEnabled } from "./models_4";
6
+ import { CapacityReservationSpecification, CpuOptionsRequest, ElasticInferenceAccelerator, EnclaveOptionsRequest, HibernationOptionsRequest, InstanceMarketOptionsRequest, InstanceMonitoring, LaunchTemplateSpecification, LicenseConfigurationRequest } from "./models_6";
7
+ /**
8
+ * @public
9
+ * <p>The maintenance options for the instance.</p>
10
+ */
11
+ export interface InstanceMaintenanceOptionsRequest {
12
+ /**
13
+ * @public
14
+ * <p>Disables the automatic recovery behavior of your instance or sets it to default. For
15
+ * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html#instance-configuration-recovery">Simplified automatic recovery</a>.</p>
16
+ */
17
+ AutoRecovery?: InstanceAutoRecoveryState | string;
18
+ }
19
+ /**
20
+ * @public
21
+ * <p>The metadata options for the instance.</p>
22
+ */
23
+ export interface InstanceMetadataOptionsRequest {
24
+ /**
25
+ * @public
26
+ * <p>IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to <code>optional</code>
27
+ * (in other words, set the use of IMDSv2 to <code>optional</code>) or
28
+ * <code>required</code> (in other words, set the use of IMDSv2 to
29
+ * <code>required</code>).</p>
30
+ * <ul>
31
+ * <li>
32
+ * <p>
33
+ * <code>optional</code> - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without
34
+ * a session token in your request. If you retrieve the IAM role credentials
35
+ * without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials
36
+ * using a valid session token, the IMDSv2 role credentials are returned.</p>
37
+ * </li>
38
+ * <li>
39
+ * <p>
40
+ * <code>required</code> - When IMDSv2 is required, you must send a session token
41
+ * with any instance metadata retrieval requests. In this state, retrieving the IAM role
42
+ * credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.</p>
43
+ * </li>
44
+ * </ul>
45
+ * <p>Default: <code>optional</code>
46
+ * </p>
47
+ */
48
+ HttpTokens?: HttpTokensState | string;
49
+ /**
50
+ * @public
51
+ * <p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the
52
+ * number, the further instance metadata requests can travel.</p>
53
+ * <p>Default: 1</p>
54
+ * <p>Possible values: Integers from 1 to 64</p>
55
+ */
56
+ HttpPutResponseHopLimit?: number;
57
+ /**
58
+ * @public
59
+ * <p>Enables or disables the HTTP metadata endpoint on your instances.</p>
60
+ * <p>If you specify a value of <code>disabled</code>, you cannot access your instance
61
+ * metadata.</p>
62
+ * <p>Default: <code>enabled</code>
63
+ * </p>
64
+ */
65
+ HttpEndpoint?: InstanceMetadataEndpointState | string;
66
+ /**
67
+ * @public
68
+ * <p>Enables or disables the IPv6 endpoint for the instance metadata service.</p>
69
+ */
70
+ HttpProtocolIpv6?: InstanceMetadataProtocolState | string;
71
+ /**
72
+ * @public
73
+ * <p>Set to <code>enabled</code> to allow access to instance tags from the instance
74
+ * metadata. Set to <code>disabled</code> to turn off access to instance tags from the
75
+ * instance metadata. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS">Work with
76
+ * instance tags using the instance metadata</a>.</p>
77
+ * <p>Default: <code>disabled</code>
78
+ * </p>
79
+ */
80
+ InstanceMetadataTags?: InstanceMetadataTagsState | string;
81
+ }
82
+ /**
83
+ * @public
84
+ * <p>Describes the options for instance hostnames.</p>
85
+ */
86
+ export interface PrivateDnsNameOptionsRequest {
87
+ /**
88
+ * @public
89
+ * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name
90
+ * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name
91
+ * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS
92
+ * names use the instance IPv4 address or the instance ID.</p>
93
+ */
94
+ HostnameType?: HostnameType | string;
95
+ /**
96
+ * @public
97
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
98
+ * records.</p>
99
+ */
100
+ EnableResourceNameDnsARecord?: boolean;
101
+ /**
102
+ * @public
103
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA
104
+ * records.</p>
105
+ */
106
+ EnableResourceNameDnsAAAARecord?: boolean;
107
+ }
108
+ /**
109
+ * @public
110
+ */
111
+ export interface RunInstancesRequest {
112
+ /**
113
+ * @public
114
+ * <p>The block device mapping, which defines the EBS volumes and instance store volumes to
115
+ * attach to the instance at launch. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html">Block device
116
+ * mappings</a> in the <i>Amazon EC2 User Guide</i>.</p>
117
+ */
118
+ BlockDeviceMappings?: BlockDeviceMapping[];
119
+ /**
120
+ * @public
121
+ * <p>The ID of the AMI. An AMI ID is required to launch an instance and must be specified
122
+ * here or in a launch template.</p>
123
+ */
124
+ ImageId?: string;
125
+ /**
126
+ * @public
127
+ * <p>The instance type. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance types</a> in the
128
+ * <i>Amazon EC2 User Guide</i>.</p>
129
+ */
130
+ InstanceType?: _InstanceType | string;
131
+ /**
132
+ * @public
133
+ * <p>The number of IPv6 addresses to associate with the primary network
134
+ * interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You
135
+ * cannot specify this option and the option to assign specific IPv6 addresses in the same
136
+ * request. You can specify this option if you've specified a minimum number of instances
137
+ * to launch.</p>
138
+ * <p>You cannot specify this option and the network interfaces option in the same
139
+ * request.</p>
140
+ */
141
+ Ipv6AddressCount?: number;
142
+ /**
143
+ * @public
144
+ * <p>The IPv6 addresses from the range of the subnet to associate with the
145
+ * primary network interface. You cannot specify this option and the option to assign a
146
+ * number of IPv6 addresses in the same request. You cannot specify this option if you've
147
+ * specified a minimum number of instances to launch.</p>
148
+ * <p>You cannot specify this option and the network interfaces option in the same
149
+ * request.</p>
150
+ */
151
+ Ipv6Addresses?: InstanceIpv6Address[];
152
+ /**
153
+ * @public
154
+ * <p>The ID of the kernel.</p>
155
+ * <important>
156
+ * <p>We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
157
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html">PV-GRUB</a> in the
158
+ * <i>Amazon EC2 User Guide</i>.</p>
159
+ * </important>
160
+ */
161
+ KernelId?: string;
162
+ /**
163
+ * @public
164
+ * <p>The name of the key pair. You can create a key pair using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html">CreateKeyPair</a> or
165
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html">ImportKeyPair</a>.</p>
166
+ * <important>
167
+ * <p>If you do not specify a key pair, you can't connect to the instance unless you
168
+ * choose an AMI that is configured to allow users another way to log in.</p>
169
+ * </important>
170
+ */
171
+ KeyName?: string;
172
+ /**
173
+ * @public
174
+ * <p>The maximum number of instances to launch. If you specify more instances than Amazon
175
+ * EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible
176
+ * number of instances above <code>MinCount</code>.</p>
177
+ * <p>Constraints: Between 1 and the maximum number you're allowed for the specified
178
+ * instance type. For more information about the default limits, and how to request an
179
+ * increase, see <a href="http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2">How many instances can I
180
+ * run in Amazon EC2</a> in the Amazon EC2 FAQ.</p>
181
+ */
182
+ MaxCount: number | undefined;
183
+ /**
184
+ * @public
185
+ * <p>The minimum number of instances to launch. If you specify a minimum that is more
186
+ * instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2
187
+ * launches no instances.</p>
188
+ * <p>Constraints: Between 1 and the maximum number you're allowed for the specified
189
+ * instance type. For more information about the default limits, and how to request an
190
+ * increase, see <a href="http://aws.amazon.com/ec2/faqs/#How_many_instances_can_I_run_in_Amazon_EC2">How many instances can I
191
+ * run in Amazon EC2</a> in the Amazon EC2 General FAQ.</p>
192
+ */
193
+ MinCount: number | undefined;
194
+ /**
195
+ * @public
196
+ * <p>Specifies whether detailed monitoring is enabled for the instance.</p>
197
+ */
198
+ Monitoring?: RunInstancesMonitoringEnabled;
199
+ /**
200
+ * @public
201
+ * <p>The placement for the instance.</p>
202
+ */
203
+ Placement?: Placement;
204
+ /**
205
+ * @public
206
+ * <p>The ID of the RAM disk to select. Some kernels require additional drivers at launch.
207
+ * Check the kernel requirements for information about whether you need to specify a RAM
208
+ * disk. To find kernel requirements, go to the Amazon Web Services Resource Center and
209
+ * search for the kernel ID.</p>
210
+ * <important>
211
+ * <p>We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
212
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html">PV-GRUB</a> in the
213
+ * <i>Amazon EC2 User Guide</i>.</p>
214
+ * </important>
215
+ */
216
+ RamdiskId?: string;
217
+ /**
218
+ * @public
219
+ * <p>The IDs of the security groups. You can create a security group using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html">CreateSecurityGroup</a>.</p>
220
+ * <p>If you specify a network interface, you must specify any security groups as part of
221
+ * the network interface.</p>
222
+ */
223
+ SecurityGroupIds?: string[];
224
+ /**
225
+ * @public
226
+ * <p>[Default VPC] The names of the security groups.</p>
227
+ * <p>If you specify a network interface, you must specify any security groups as part of
228
+ * the network interface.</p>
229
+ * <p>Default: Amazon EC2 uses the default security group.</p>
230
+ */
231
+ SecurityGroups?: string[];
232
+ /**
233
+ * @public
234
+ * <p>The ID of the subnet to launch the instance into.</p>
235
+ * <p>If you specify a network interface, you must specify any subnets as part of the
236
+ * network interface.</p>
237
+ */
238
+ SubnetId?: string;
239
+ /**
240
+ * @public
241
+ * <p>The user data script to make available to the instance. For more information, see
242
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html">Run
243
+ * commands on your Linux instance at launch</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html">Run commands on your
244
+ * Windows instance at launch</a>. If you are using a command line tool,
245
+ * base64-encoding is performed for you, and you can load the text from a file. Otherwise,
246
+ * you must provide base64-encoded text. User data is limited to 16 KB.</p>
247
+ */
248
+ UserData?: string;
249
+ /**
250
+ * @public
251
+ * <p>Reserved.</p>
252
+ */
253
+ AdditionalInfo?: string;
254
+ /**
255
+ * @public
256
+ * <p>Unique, case-sensitive identifier you provide to ensure the idempotency of the
257
+ * request. If you do not specify a client token, a randomly generated token is used for
258
+ * the request to ensure idempotency.</p>
259
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring
260
+ * Idempotency</a>.</p>
261
+ * <p>Constraints: Maximum 64 ASCII characters</p>
262
+ */
263
+ ClientToken?: string;
264
+ /**
265
+ * @public
266
+ * <p>If you set this parameter to <code>true</code>, you can't terminate the instance using
267
+ * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after
268
+ * launch, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>. Alternatively, if you set
269
+ * <code>InstanceInitiatedShutdownBehavior</code> to <code>terminate</code>, you can
270
+ * terminate the instance by running the shutdown command from the instance.</p>
271
+ * <p>Default: <code>false</code>
272
+ * </p>
273
+ */
274
+ DisableApiTermination?: boolean;
275
+ /**
276
+ * @public
277
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
278
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
279
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
280
+ */
281
+ DryRun?: boolean;
282
+ /**
283
+ * @public
284
+ * <p>Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
285
+ * provides dedicated throughput to Amazon EBS and an optimized configuration stack to
286
+ * provide optimal Amazon EBS I/O performance. This optimization isn't available with all
287
+ * instance types. Additional usage charges apply when using an EBS-optimized
288
+ * instance.</p>
289
+ * <p>Default: <code>false</code>
290
+ * </p>
291
+ */
292
+ EbsOptimized?: boolean;
293
+ /**
294
+ * @public
295
+ * <p>The name or Amazon Resource Name (ARN) of an IAM instance
296
+ * profile.</p>
297
+ */
298
+ IamInstanceProfile?: IamInstanceProfileSpecification;
299
+ /**
300
+ * @public
301
+ * <p>Indicates whether an instance stops or terminates when you initiate shutdown from the
302
+ * instance (using the operating system command for system shutdown).</p>
303
+ * <p>Default: <code>stop</code>
304
+ * </p>
305
+ */
306
+ InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string;
307
+ /**
308
+ * @public
309
+ * <p>The network interfaces to associate with the instance. If you specify a network
310
+ * interface, you must specify any security groups and subnets as part of the network
311
+ * interface.</p>
312
+ */
313
+ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
314
+ /**
315
+ * @public
316
+ * <p>The primary IPv4 address. You must specify a value from the IPv4 address
317
+ * range of the subnet.</p>
318
+ * <p>Only one private IP address can be designated as primary. You can't specify this
319
+ * option if you've specified the option to designate a private IP address as the primary
320
+ * IP address in a network interface specification. You cannot specify this option if
321
+ * you're launching more than one instance in the request.</p>
322
+ * <p>You cannot specify this option and the network interfaces option in the same
323
+ * request.</p>
324
+ */
325
+ PrivateIpAddress?: string;
326
+ /**
327
+ * @public
328
+ * <p>An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that
329
+ * you can attach to your Windows instance to accelerate the graphics performance of your
330
+ * applications. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon EC2 Elastic GPUs</a> in
331
+ * the <i>Amazon EC2 User Guide</i>.</p>
332
+ */
333
+ ElasticGpuSpecification?: ElasticGpuSpecification[];
334
+ /**
335
+ * @public
336
+ * <p>An elastic inference accelerator to associate with the instance. Elastic inference
337
+ * accelerators are a resource you can attach to your Amazon EC2 instances to accelerate
338
+ * your Deep Learning (DL) inference workloads.</p>
339
+ * <p>You cannot specify accelerators from different generations in the same request.</p>
340
+ * <note>
341
+ * <p>Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon
342
+ * Elastic Inference (EI), and will help current customers migrate their workloads to
343
+ * options that offer better price and performance. After April 15, 2023, new customers
344
+ * will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker,
345
+ * Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during
346
+ * the past 30-day period are considered current customers and will be able to continue
347
+ * using the service.</p>
348
+ * </note>
349
+ */
350
+ ElasticInferenceAccelerators?: ElasticInferenceAccelerator[];
351
+ /**
352
+ * @public
353
+ * <p>The tags to apply to the resources that are created during instance launch.</p>
354
+ * <p>You can specify tags for the following resources only:</p>
355
+ * <ul>
356
+ * <li>
357
+ * <p>Instances</p>
358
+ * </li>
359
+ * <li>
360
+ * <p>Volumes</p>
361
+ * </li>
362
+ * <li>
363
+ * <p>Elastic graphics</p>
364
+ * </li>
365
+ * <li>
366
+ * <p>Spot Instance requests</p>
367
+ * </li>
368
+ * <li>
369
+ * <p>Network interfaces</p>
370
+ * </li>
371
+ * </ul>
372
+ * <p>To tag a resource after it has been created, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html">CreateTags</a>.</p>
373
+ */
374
+ TagSpecifications?: TagSpecification[];
375
+ /**
376
+ * @public
377
+ * <p>The launch template to use to launch the instances. Any parameters that you specify in
378
+ * <a>RunInstances</a> override the same parameters in the launch template.
379
+ * You can specify either the name or ID of a launch template, but not both.</p>
380
+ */
381
+ LaunchTemplate?: LaunchTemplateSpecification;
382
+ /**
383
+ * @public
384
+ * <p>The market (purchasing) option for the instances.</p>
385
+ * <p>For <a>RunInstances</a>, persistent Spot Instance requests are
386
+ * only supported when <b>InstanceInterruptionBehavior</b> is set
387
+ * to either <code>hibernate</code> or <code>stop</code>.</p>
388
+ */
389
+ InstanceMarketOptions?: InstanceMarketOptionsRequest;
390
+ /**
391
+ * @public
392
+ * <p>The credit option for CPU usage of the burstable performance instance. Valid values
393
+ * are <code>standard</code> and <code>unlimited</code>. To change this attribute after
394
+ * launch, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html">
395
+ * ModifyInstanceCreditSpecification</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
396
+ * performance instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
397
+ * <p>Default: <code>standard</code> (T2 instances) or <code>unlimited</code> (T3/T3a/T4g
398
+ * instances)</p>
399
+ * <p>For T3 instances with <code>host</code> tenancy, only <code>standard</code> is
400
+ * supported.</p>
401
+ */
402
+ CreditSpecification?: CreditSpecificationRequest;
403
+ /**
404
+ * @public
405
+ * <p>The CPU options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimize CPU options</a> in the <i>Amazon EC2 User Guide</i>.</p>
406
+ */
407
+ CpuOptions?: CpuOptionsRequest;
408
+ /**
409
+ * @public
410
+ * <p>Information about the Capacity Reservation targeting option. If you do not specify this parameter, the
411
+ * instance's Capacity Reservation preference defaults to <code>open</code>, which enables
412
+ * it to run in any open Capacity Reservation that has matching attributes (instance type,
413
+ * platform, Availability Zone).</p>
414
+ */
415
+ CapacityReservationSpecification?: CapacityReservationSpecification;
416
+ /**
417
+ * @public
418
+ * <p>Indicates whether an instance is enabled for hibernation. This parameter is valid only
419
+ * if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html">hibernation
420
+ * prerequisites</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate your instance</a> in the
421
+ * <i>Amazon EC2 User Guide</i>.</p>
422
+ * <p>You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same
423
+ * instance.</p>
424
+ */
425
+ HibernationOptions?: HibernationOptionsRequest;
426
+ /**
427
+ * @public
428
+ * <p>The license configurations.</p>
429
+ */
430
+ LicenseSpecifications?: LicenseConfigurationRequest[];
431
+ /**
432
+ * @public
433
+ * <p>The metadata options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance metadata and user data</a>.</p>
434
+ */
435
+ MetadataOptions?: InstanceMetadataOptionsRequest;
436
+ /**
437
+ * @public
438
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For
439
+ * more information, see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">What is Amazon Web Services Nitro
440
+ * Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User
441
+ * Guide</i>.</p>
442
+ * <p>You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same
443
+ * instance.</p>
444
+ */
445
+ EnclaveOptions?: EnclaveOptionsRequest;
446
+ /**
447
+ * @public
448
+ * <p>The options for the instance hostname.
449
+ * The default values are inherited from the subnet.
450
+ * Applies only if creating a network interface, not attaching an existing one.</p>
451
+ */
452
+ PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest;
453
+ /**
454
+ * @public
455
+ * <p>The maintenance and recovery options for the instance.</p>
456
+ */
457
+ MaintenanceOptions?: InstanceMaintenanceOptionsRequest;
458
+ /**
459
+ * @public
460
+ * <p>Indicates whether an instance is enabled for stop protection. For more information,
461
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection">Stop
462
+ * protection</a>. </p>
463
+ */
464
+ DisableApiStop?: boolean;
465
+ /**
466
+ * @public
467
+ * <p>If you’re launching an instance into a dual-stack or IPv6-only subnet, you can enable
468
+ * assigning a primary IPv6 address. A primary IPv6 address is an IPv6 GUA address
469
+ * associated with an ENI that you have enabled to use a primary IPv6 address. Use this
470
+ * option if an instance relies on its IPv6 address not changing. When you launch the
471
+ * instance, Amazon Web Services will automatically assign an IPv6 address associated with
472
+ * the ENI attached to your instance to be the primary IPv6 address. Once you enable an
473
+ * IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6
474
+ * GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6
475
+ * address until the instance is terminated or the network interface is detached. If you
476
+ * have multiple IPv6 addresses associated with an ENI attached to your instance and you
477
+ * enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI
478
+ * becomes the primary IPv6 address.</p>
479
+ */
480
+ EnablePrimaryIpv6?: boolean;
481
+ }
482
+ /**
483
+ * @public
484
+ * <p>Describes an EBS volume for a Scheduled Instance.</p>
485
+ */
486
+ export interface ScheduledInstancesEbs {
487
+ /**
488
+ * @public
489
+ * <p>Indicates whether the volume is deleted on instance termination.</p>
490
+ */
491
+ DeleteOnTermination?: boolean;
492
+ /**
493
+ * @public
494
+ * <p>Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.</p>
495
+ */
496
+ Encrypted?: boolean;
497
+ /**
498
+ * @public
499
+ * <p>The number of I/O operations per second (IOPS) to provision for an <code>io1</code> or <code>io2</code> volume, with a maximum
500
+ * ratio of 50 IOPS/GiB for <code>io1</code>, and 500 IOPS/GiB for <code>io2</code>. Range is 100 to 64,000 IOPS for
501
+ * volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on
502
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">instances built on the Nitro System</a>. Other instance families guarantee performance up to
503
+ * 32,000 IOPS. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html">Amazon EBS volume types</a> in the
504
+ * <i>Amazon EC2 User Guide</i>.</p>
505
+ * <p>This parameter is valid only for Provisioned IOPS SSD (<code>io1</code> and <code>io2</code>) volumes.</p>
506
+ */
507
+ Iops?: number;
508
+ /**
509
+ * @public
510
+ * <p>The ID of the snapshot.</p>
511
+ */
512
+ SnapshotId?: string;
513
+ /**
514
+ * @public
515
+ * <p>The size of the volume, in GiB.</p>
516
+ * <p>Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.</p>
517
+ */
518
+ VolumeSize?: number;
519
+ /**
520
+ * @public
521
+ * <p>The volume type. <code>gp2</code> for General Purpose SSD, <code>io1</code> or <code> io2</code> for Provisioned IOPS SSD, Throughput Optimized HDD
522
+ * for <code>st1</code>, Cold HDD for <code>sc1</code>, or <code>standard</code> for
523
+ * Magnetic.</p>
524
+ * <p>Default: <code>gp2</code>
525
+ * </p>
526
+ */
527
+ VolumeType?: string;
528
+ }
529
+ /**
530
+ * @public
531
+ * <p>Describes a block device mapping for a Scheduled Instance.</p>
532
+ */
533
+ export interface ScheduledInstancesBlockDeviceMapping {
534
+ /**
535
+ * @public
536
+ * <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
537
+ */
538
+ DeviceName?: string;
539
+ /**
540
+ * @public
541
+ * <p>Parameters used to set up EBS volumes automatically when the instance is launched.</p>
542
+ */
543
+ Ebs?: ScheduledInstancesEbs;
544
+ /**
545
+ * @public
546
+ * <p>To omit the device from the block device mapping, specify an empty string.</p>
547
+ */
548
+ NoDevice?: string;
549
+ /**
550
+ * @public
551
+ * <p>The virtual device name (<code>ephemeral</code>N). Instance store volumes are numbered
552
+ * starting from 0. An instance type with two available instance store volumes can specify mappings
553
+ * for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available instance store
554
+ * volumes depends on the instance type. After you connect to the instance, you must mount the
555
+ * volume.</p>
556
+ * <p>Constraints: For M3 instances, you must specify instance store volumes in the block device
557
+ * mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes
558
+ * specified in the block device mapping for the AMI.</p>
559
+ */
560
+ VirtualName?: string;
561
+ }
562
+ /**
563
+ * @public
564
+ * <p>Describes an IAM instance profile for a Scheduled Instance.</p>
565
+ */
566
+ export interface ScheduledInstancesIamInstanceProfile {
567
+ /**
568
+ * @public
569
+ * <p>The Amazon Resource Name (ARN).</p>
570
+ */
571
+ Arn?: string;
572
+ /**
573
+ * @public
574
+ * <p>The name.</p>
575
+ */
576
+ Name?: string;
577
+ }
578
+ /**
579
+ * @public
580
+ * <p>Describes whether monitoring is enabled for a Scheduled Instance.</p>
581
+ */
582
+ export interface ScheduledInstancesMonitoring {
583
+ /**
584
+ * @public
585
+ * <p>Indicates whether monitoring is enabled.</p>
586
+ */
587
+ Enabled?: boolean;
588
+ }
7
589
  /**
8
590
  * @public
9
591
  * <p>Describes an IPv6 address.</p>
@@ -1166,6 +1748,10 @@ export interface WithdrawByoipCidrResult {
1166
1748
  */
1167
1749
  ByoipCidr?: ByoipCidr;
1168
1750
  }
1751
+ /**
1752
+ * @internal
1753
+ */
1754
+ export declare const RunInstancesRequestFilterSensitiveLog: (obj: RunInstancesRequest) => any;
1169
1755
  /**
1170
1756
  * @internal
1171
1757
  */