@aws-sdk/client-ec2 3.624.0 → 3.629.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 (84) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/index.js +371 -152
  3. package/dist-es/EC2.js +4 -0
  4. package/dist-es/commands/CreateCapacityReservationBySplittingCommand.js +24 -0
  5. package/dist-es/commands/GetInstanceTpmEkPubCommand.js +1 -1
  6. package/dist-es/commands/ModifyVpnTunnelCertificateCommand.js +1 -1
  7. package/dist-es/commands/ModifyVpnTunnelOptionsCommand.js +1 -1
  8. package/dist-es/commands/MoveCapacityReservationInstancesCommand.js +24 -0
  9. package/dist-es/commands/index.js +2 -0
  10. package/dist-es/models/models_0.js +9 -3
  11. package/dist-es/models/models_1.js +3 -5
  12. package/dist-es/models/models_2.js +5 -0
  13. package/dist-es/models/models_3.js +0 -17
  14. package/dist-es/models/models_4.js +17 -10
  15. package/dist-es/models/models_5.js +11 -9
  16. package/dist-es/models/models_6.js +13 -16
  17. package/dist-es/models/models_7.js +18 -2
  18. package/dist-es/protocols/Aws_ec2.js +169 -8
  19. package/dist-types/EC2.d.ts +14 -0
  20. package/dist-types/EC2Client.d.ts +4 -2
  21. package/dist-types/commands/AssociateSubnetCidrBlockCommand.d.ts +2 -0
  22. package/dist-types/commands/AssociateVpcCidrBlockCommand.d.ts +2 -0
  23. package/dist-types/commands/CreateCapacityReservationBySplittingCommand.d.ts +148 -0
  24. package/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +1 -1
  25. package/dist-types/commands/CreateDefaultSubnetCommand.d.ts +2 -0
  26. package/dist-types/commands/CreateDefaultVpcCommand.d.ts +2 -0
  27. package/dist-types/commands/CreateIpamCommand.d.ts +2 -0
  28. package/dist-types/commands/CreateNetworkInterfaceCommand.d.ts +1 -2
  29. package/dist-types/commands/CreateSubnetCommand.d.ts +2 -0
  30. package/dist-types/commands/CreateVpcCommand.d.ts +2 -0
  31. package/dist-types/commands/DeleteIpamCommand.d.ts +1 -0
  32. package/dist-types/commands/DeleteLaunchTemplateVersionsCommand.d.ts +2 -1
  33. package/dist-types/commands/DeleteLocalGatewayRouteCommand.d.ts +1 -1
  34. package/dist-types/commands/DeleteLocalGatewayRouteTableCommand.d.ts +1 -2
  35. package/dist-types/commands/DescribeAddressTransfersCommand.d.ts +1 -1
  36. package/dist-types/commands/DescribeIpamsCommand.d.ts +1 -0
  37. package/dist-types/commands/DescribeSubnetsCommand.d.ts +2 -0
  38. package/dist-types/commands/DescribeVpcsCommand.d.ts +2 -0
  39. package/dist-types/commands/DisassociateSubnetCidrBlockCommand.d.ts +2 -0
  40. package/dist-types/commands/DisassociateVpcCidrBlockCommand.d.ts +2 -0
  41. package/dist-types/commands/GetInstanceMetadataDefaultsCommand.d.ts +2 -1
  42. package/dist-types/commands/GetInstanceTpmEkPubCommand.d.ts +1 -2
  43. package/dist-types/commands/GetIpamDiscoveredResourceCidrsCommand.d.ts +1 -0
  44. package/dist-types/commands/ModifyCapacityReservationCommand.d.ts +5 -5
  45. package/dist-types/commands/ModifyIpamCommand.d.ts +2 -0
  46. package/dist-types/commands/ModifyVpnTunnelCertificateCommand.d.ts +2 -1
  47. package/dist-types/commands/ModifyVpnTunnelOptionsCommand.d.ts +1 -1
  48. package/dist-types/commands/MonitorInstancesCommand.d.ts +1 -2
  49. package/dist-types/commands/MoveCapacityReservationInstancesCommand.d.ts +157 -0
  50. package/dist-types/commands/index.d.ts +2 -0
  51. package/dist-types/models/models_0.d.ts +108 -226
  52. package/dist-types/models/models_1.d.ts +236 -211
  53. package/dist-types/models/models_2.d.ts +214 -78
  54. package/dist-types/models/models_3.d.ts +77 -244
  55. package/dist-types/models/models_4.d.ts +248 -365
  56. package/dist-types/models/models_5.d.ts +359 -64
  57. package/dist-types/models/models_6.d.ts +101 -309
  58. package/dist-types/models/models_7.d.ts +370 -5
  59. package/dist-types/protocols/Aws_ec2.d.ts +18 -0
  60. package/dist-types/ts3.4/EC2.d.ts +40 -0
  61. package/dist-types/ts3.4/EC2Client.d.ts +12 -0
  62. package/dist-types/ts3.4/commands/CreateCapacityReservationBySplittingCommand.d.ts +40 -0
  63. package/dist-types/ts3.4/commands/CreateCapacityReservationFleetCommand.d.ts +1 -1
  64. package/dist-types/ts3.4/commands/CreateNetworkInterfaceCommand.d.ts +4 -2
  65. package/dist-types/ts3.4/commands/DeleteLaunchTemplateVersionsCommand.d.ts +2 -4
  66. package/dist-types/ts3.4/commands/DeleteLocalGatewayRouteCommand.d.ts +1 -1
  67. package/dist-types/ts3.4/commands/DeleteLocalGatewayRouteTableCommand.d.ts +4 -2
  68. package/dist-types/ts3.4/commands/GetInstanceMetadataDefaultsCommand.d.ts +2 -4
  69. package/dist-types/ts3.4/commands/GetInstanceTpmEkPubCommand.d.ts +4 -2
  70. package/dist-types/ts3.4/commands/ModifyVpnTunnelCertificateCommand.d.ts +2 -4
  71. package/dist-types/ts3.4/commands/ModifyVpnTunnelOptionsCommand.d.ts +1 -1
  72. package/dist-types/ts3.4/commands/MonitorInstancesCommand.d.ts +4 -2
  73. package/dist-types/ts3.4/commands/MoveCapacityReservationInstancesCommand.d.ts +40 -0
  74. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  75. package/dist-types/ts3.4/models/models_0.d.ts +28 -44
  76. package/dist-types/ts3.4/models/models_1.d.ts +50 -39
  77. package/dist-types/ts3.4/models/models_2.d.ts +44 -20
  78. package/dist-types/ts3.4/models/models_3.d.ts +22 -60
  79. package/dist-types/ts3.4/models/models_4.d.ts +59 -51
  80. package/dist-types/ts3.4/models/models_5.d.ts +52 -21
  81. package/dist-types/ts3.4/models/models_6.d.ts +33 -62
  82. package/dist-types/ts3.4/models/models_7.d.ts +79 -3
  83. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +24 -0
  84. package/package.json +5 -5
@@ -1,7 +1,248 @@
1
- import { _InstanceType, ActiveInstance, AllocationStrategy, AlternatePathHint, AttachmentStatus, CurrencyCodeValues, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, PathComponent, ReservedInstancesListing, ResourceType, SecurityGroupRule, Tag, TagSpecification } from "./models_0";
2
- import { AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, FleetType, HostnameType, InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamExternalResourceVerificationToken, IpamPool, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, KeyType, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, Placement, PlatformValues, PrivateIpAddressSpecification, StateReason, TargetCapacityUnitType, Tenancy } from "./models_1";
1
+ import { _InstanceType, ActiveInstance, AlternatePathHint, AttachmentStatus, CurrencyCodeValues, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, PathComponent, ReservedInstancesListing, ResourceType, SecurityGroupRule, Tag } from "./models_0";
2
+ import { AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, HostnameType, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamExternalResourceVerificationToken, IpamPool, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, KeyType, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, Placement, PlatformValues, PrivateIpAddressSpecification, StateReason, Tenancy } from "./models_1";
3
3
  import { GroupIdentifier, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, NetworkInterfaceStatus, PlacementGroup, ReplaceRootVolumeTask, RouteTable, Snapshot, SnapshotState, SpotDatafeedSubscription, StorageTier } from "./models_2";
4
- import { ArchitectureValues, BootModeValues, Byoasn, DeviceType, EventInformation, Filter, HypervisorType, IdFormat, Image, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, VirtualizationType } from "./models_3";
4
+ import { ArchitectureValues, BootModeValues, Byoasn, DeviceType, EventInformation, Filter, HypervisorType, IdFormat, ImageTypeValues, ImdsSupportValues, InstanceTagNotificationAttribute, PermissionGroup, ProductCode } from "./models_3";
5
+ /**
6
+ * @public
7
+ * @enum
8
+ */
9
+ export declare const ImageState: {
10
+ readonly available: "available";
11
+ readonly deregistered: "deregistered";
12
+ readonly disabled: "disabled";
13
+ readonly error: "error";
14
+ readonly failed: "failed";
15
+ readonly invalid: "invalid";
16
+ readonly pending: "pending";
17
+ readonly transient: "transient";
18
+ };
19
+ /**
20
+ * @public
21
+ */
22
+ export type ImageState = (typeof ImageState)[keyof typeof ImageState];
23
+ /**
24
+ * @public
25
+ * @enum
26
+ */
27
+ export declare const TpmSupportValues: {
28
+ readonly v2_0: "v2.0";
29
+ };
30
+ /**
31
+ * @public
32
+ */
33
+ export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues];
34
+ /**
35
+ * @public
36
+ * @enum
37
+ */
38
+ export declare const VirtualizationType: {
39
+ readonly hvm: "hvm";
40
+ readonly paravirtual: "paravirtual";
41
+ };
42
+ /**
43
+ * @public
44
+ */
45
+ export type VirtualizationType = (typeof VirtualizationType)[keyof typeof VirtualizationType];
46
+ /**
47
+ * <p>Describes an image.</p>
48
+ * @public
49
+ */
50
+ export interface Image {
51
+ /**
52
+ * <p>The architecture of the image.</p>
53
+ * @public
54
+ */
55
+ Architecture?: ArchitectureValues;
56
+ /**
57
+ * <p>The date and time the image was created.</p>
58
+ * @public
59
+ */
60
+ CreationDate?: string;
61
+ /**
62
+ * <p>The ID of the AMI.</p>
63
+ * @public
64
+ */
65
+ ImageId?: string;
66
+ /**
67
+ * <p>The location of the AMI.</p>
68
+ * @public
69
+ */
70
+ ImageLocation?: string;
71
+ /**
72
+ * <p>The type of image.</p>
73
+ * @public
74
+ */
75
+ ImageType?: ImageTypeValues;
76
+ /**
77
+ * <p>Indicates whether the image has public launch permissions. The value is <code>true</code> if
78
+ * this image has public launch permissions or <code>false</code>
79
+ * if it has only implicit and explicit launch permissions.</p>
80
+ * @public
81
+ */
82
+ Public?: boolean;
83
+ /**
84
+ * <p>The kernel associated with the image, if any. Only applicable for machine images.</p>
85
+ * @public
86
+ */
87
+ KernelId?: string;
88
+ /**
89
+ * <p>The ID of the Amazon Web Services account that owns the image.</p>
90
+ * @public
91
+ */
92
+ OwnerId?: string;
93
+ /**
94
+ * <p>This value is set to <code>windows</code> for Windows AMIs; otherwise, it is blank.</p>
95
+ * @public
96
+ */
97
+ Platform?: PlatformValues;
98
+ /**
99
+ * <p>The platform details associated with the billing code of the AMI. For more information,
100
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html">Understand
101
+ * AMI billing information</a> in the <i>Amazon EC2 User Guide</i>.</p>
102
+ * @public
103
+ */
104
+ PlatformDetails?: string;
105
+ /**
106
+ * <p>The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
107
+ * <code>usageOperation</code> corresponds to the <a href="https://docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html#Lineitem-details-O-Operation">lineitem/Operation</a> column on your Amazon Web Services Cost and Usage Report and in the <a href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html">Amazon Web Services Price
108
+ * List API</a>. You can view these fields on the <b>Instances</b> or
109
+ * <b>AMIs</b> pages in the Amazon EC2 console, or in the responses that are
110
+ * returned by the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html">DescribeImages</a>
111
+ * command in the Amazon EC2 API, or the <a href="https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html">describe-images</a>
112
+ * command in the CLI.</p>
113
+ * @public
114
+ */
115
+ UsageOperation?: string;
116
+ /**
117
+ * <p>Any product codes associated with the AMI.</p>
118
+ * @public
119
+ */
120
+ ProductCodes?: ProductCode[];
121
+ /**
122
+ * <p>The RAM disk associated with the image, if any. Only applicable for machine images.</p>
123
+ * @public
124
+ */
125
+ RamdiskId?: string;
126
+ /**
127
+ * <p>The current state of the AMI. If the state is <code>available</code>, the image is successfully registered and can be used to launch an instance.</p>
128
+ * @public
129
+ */
130
+ State?: ImageState;
131
+ /**
132
+ * <p>Any block device mapping entries.</p>
133
+ * @public
134
+ */
135
+ BlockDeviceMappings?: BlockDeviceMapping[];
136
+ /**
137
+ * <p>The description of the AMI that was provided during image creation.</p>
138
+ * @public
139
+ */
140
+ Description?: string;
141
+ /**
142
+ * <p>Specifies whether enhanced networking with ENA is enabled.</p>
143
+ * @public
144
+ */
145
+ EnaSupport?: boolean;
146
+ /**
147
+ * <p>The hypervisor type of the image. Only <code>xen</code> is supported. <code>ovm</code> is
148
+ * not supported.</p>
149
+ * @public
150
+ */
151
+ Hypervisor?: HypervisorType;
152
+ /**
153
+ * <p>The owner alias (<code>amazon</code> | <code>aws-marketplace</code>).</p>
154
+ * @public
155
+ */
156
+ ImageOwnerAlias?: string;
157
+ /**
158
+ * <p>The name of the AMI that was provided during image creation.</p>
159
+ * @public
160
+ */
161
+ Name?: string;
162
+ /**
163
+ * <p>The device name of the root device volume (for example, <code>/dev/sda1</code>).</p>
164
+ * @public
165
+ */
166
+ RootDeviceName?: string;
167
+ /**
168
+ * <p>The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.</p>
169
+ * @public
170
+ */
171
+ RootDeviceType?: DeviceType;
172
+ /**
173
+ * <p>Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.</p>
174
+ * @public
175
+ */
176
+ SriovNetSupport?: string;
177
+ /**
178
+ * <p>The reason for the state change.</p>
179
+ * @public
180
+ */
181
+ StateReason?: StateReason;
182
+ /**
183
+ * <p>Any tags assigned to the image.</p>
184
+ * @public
185
+ */
186
+ Tags?: Tag[];
187
+ /**
188
+ * <p>The type of virtualization of the AMI.</p>
189
+ * @public
190
+ */
191
+ VirtualizationType?: VirtualizationType;
192
+ /**
193
+ * <p>The boot mode of the image. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html">Boot modes</a> in the
194
+ * <i>Amazon EC2 User Guide</i>.</p>
195
+ * @public
196
+ */
197
+ BootMode?: BootModeValues;
198
+ /**
199
+ * <p>If the image is configured for NitroTPM support, the value is <code>v2.0</code>.
200
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitrotpm.html">NitroTPM</a> in the
201
+ * <i>Amazon EC2 User Guide</i>.</p>
202
+ * @public
203
+ */
204
+ TpmSupport?: TpmSupportValues;
205
+ /**
206
+ * <p>The date and time to deprecate the AMI, in UTC, in the following format:
207
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z.
208
+ * If you specified a value for seconds, Amazon EC2 rounds the seconds to the
209
+ * nearest minute.</p>
210
+ * @public
211
+ */
212
+ DeprecationTime?: string;
213
+ /**
214
+ * <p>If <code>v2.0</code>, it indicates that IMDSv2 is specified in the AMI. Instances launched
215
+ * from this AMI will have <code>HttpTokens</code> automatically set to <code>required</code> so
216
+ * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata.
217
+ * In addition, <code>HttpPutResponseHopLimit</code> is set to <code>2</code>. For more
218
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-new-instances.html#configure-IMDS-new-instances-ami-configuration">Configure
219
+ * the AMI</a> in the <i>Amazon EC2 User Guide</i>.</p>
220
+ * @public
221
+ */
222
+ ImdsSupport?: ImdsSupportValues;
223
+ /**
224
+ * <p>The ID of the instance that the AMI was created from if the AMI was created using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html">CreateImage</a>. This field only appears if the AMI was created using
225
+ * CreateImage.</p>
226
+ * @public
227
+ */
228
+ SourceInstanceId?: string;
229
+ /**
230
+ * <p>Indicates whether deregistration protection is enabled for the AMI.</p>
231
+ * @public
232
+ */
233
+ DeregistrationProtection?: string;
234
+ /**
235
+ * <p>The date and time, in <a href="http://www.iso.org/iso/iso8601">ISO 8601 date-time
236
+ * format</a>, when the AMI was last used to launch an EC2 instance. When the AMI is used
237
+ * to launch an instance, there is a 24-hour delay before that usage is reported.</p>
238
+ * <note>
239
+ * <p>
240
+ * <code>lastLaunchedTime</code> data is available starting April 2017.</p>
241
+ * </note>
242
+ * @public
243
+ */
244
+ LastLaunchedTime?: string;
245
+ }
5
246
  /**
6
247
  * @public
7
248
  */
@@ -7187,7 +7428,7 @@ export interface DescribeNetworkInterfacePermissionsRequest {
7187
7428
  * </li>
7188
7429
  * <li>
7189
7430
  * <p>
7190
- * <code>network-interface-permission.aws-service</code> - The Amazon Web Service.</p>
7431
+ * <code>network-interface-permission.aws-service</code> - The Amazon Web Services service.</p>
7191
7432
  * </li>
7192
7433
  * <li>
7193
7434
  * <p>
@@ -7370,7 +7611,7 @@ export interface DescribeNetworkInterfacesRequest {
7370
7611
  * </li>
7371
7612
  * <li>
7372
7613
  * <p>
7373
- * <code>requester-managed</code> - Indicates whether the network interface is being managed by an Amazon Web Service
7614
+ * <code>requester-managed</code> - Indicates whether the network interface is being managed by an Amazon Web Services service
7374
7615
  * (for example, Amazon Web Services Management Console, Auto Scaling, and so on).</p>
7375
7616
  * </li>
7376
7617
  * <li>
@@ -7584,7 +7825,7 @@ export interface DescribePrefixListsRequest {
7584
7825
  */
7585
7826
  export interface PrefixList {
7586
7827
  /**
7587
- * <p>The IP address range of the Amazon Web Service.</p>
7828
+ * <p>The IP address range of the Amazon Web Services service.</p>
7588
7829
  * @public
7589
7830
  */
7590
7831
  Cidrs?: string[];
@@ -8819,7 +9060,7 @@ export interface DescribeRouteTablesRequest {
8819
9060
  * </li>
8820
9061
  * <li>
8821
9062
  * <p>
8822
- * <code>route.destination-prefix-list-id</code> - The ID (prefix) of the Amazon Web Service
9063
+ * <code>route.destination-prefix-list-id</code> - The ID (prefix) of the Amazon Web Services service
8823
9064
  * specified in a route in the table.</p>
8824
9065
  * </li>
8825
9066
  * <li>
@@ -10808,360 +11049,6 @@ export declare const OnDemandAllocationStrategy: {
10808
11049
  * @public
10809
11050
  */
10810
11051
  export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy];
10811
- /**
10812
- * @public
10813
- * @enum
10814
- */
10815
- export declare const ReplacementStrategy: {
10816
- readonly LAUNCH: "launch";
10817
- readonly LAUNCH_BEFORE_TERMINATE: "launch-before-terminate";
10818
- };
10819
- /**
10820
- * @public
10821
- */
10822
- export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy];
10823
- /**
10824
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
10825
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
10826
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity
10827
- * rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
10828
- * @public
10829
- */
10830
- export interface SpotCapacityRebalance {
10831
- /**
10832
- * <p>The replacement strategy to use. Only available for fleets of type
10833
- * <code>maintain</code>.</p>
10834
- * <p>
10835
- * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
10836
- * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
10837
- * does not terminate the instances that receive a rebalance notification. You can
10838
- * terminate the old instances, or you can leave them running. You are charged for all
10839
- * instances while they are running. </p>
10840
- * <p>
10841
- * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
10842
- * Instance when a rebalance notification is emitted for an existing Spot Instance in the
10843
- * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
10844
- * terminates the instances that received a rebalance notification.</p>
10845
- * @public
10846
- */
10847
- ReplacementStrategy?: ReplacementStrategy;
10848
- /**
10849
- * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
10850
- * Instance after launching a new replacement Spot Instance.</p>
10851
- * <p>Required when <code>ReplacementStrategy</code> is set to <code>launch-before-terminate</code>.</p>
10852
- * <p>Not valid when <code>ReplacementStrategy</code> is set to <code>launch</code>.</p>
10853
- * <p>Valid values: Minimum value of <code>120</code> seconds. Maximum value of <code>7200</code> seconds.</p>
10854
- * @public
10855
- */
10856
- TerminationDelay?: number;
10857
- }
10858
- /**
10859
- * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
10860
- * interrupted.</p>
10861
- * @public
10862
- */
10863
- export interface SpotMaintenanceStrategies {
10864
- /**
10865
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
10866
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
10867
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity
10868
- * rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
10869
- * @public
10870
- */
10871
- CapacityRebalance?: SpotCapacityRebalance;
10872
- }
10873
- /**
10874
- * <p>Describes the configuration of a Spot Fleet request.</p>
10875
- * @public
10876
- */
10877
- export interface SpotFleetRequestConfigData {
10878
- /**
10879
- * <p>The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance
10880
- * pools specified by the Spot Fleet launch configuration. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html">Allocation
10881
- * strategies for Spot Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
10882
- * <dl>
10883
- * <dt>priceCapacityOptimized (recommended)</dt>
10884
- * <dd>
10885
- * <p>Spot Fleet identifies the pools with
10886
- * the highest capacity availability for the number of instances that are launching. This means
10887
- * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
10888
- * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.</p>
10889
- * </dd>
10890
- * <dt>capacityOptimized</dt>
10891
- * <dd>
10892
- * <p>Spot Fleet identifies the pools with
10893
- * the highest capacity availability for the number of instances that are launching. This means
10894
- * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
10895
- * in the near term. To give certain
10896
- * instance types a higher chance of launching first, use
10897
- * <code>capacityOptimizedPrioritized</code>. Set a priority for each instance type by
10898
- * using the <code>Priority</code> parameter for <code>LaunchTemplateOverrides</code>. You can
10899
- * assign the same priority to different <code>LaunchTemplateOverrides</code>. EC2 implements
10900
- * the priorities on a best-effort basis, but optimizes for capacity first.
10901
- * <code>capacityOptimizedPrioritized</code> is supported only if your Spot Fleet uses a
10902
- * launch template. Note that if the <code>OnDemandAllocationStrategy</code> is set to
10903
- * <code>prioritized</code>, the same priority is applied when fulfilling On-Demand
10904
- * capacity.</p>
10905
- * </dd>
10906
- * <dt>diversified</dt>
10907
- * <dd>
10908
- * <p>Spot Fleet requests instances from all of the Spot Instance pools that you
10909
- * specify.</p>
10910
- * </dd>
10911
- * <dt>lowestPrice (not recommended)</dt>
10912
- * <dd>
10913
- * <important>
10914
- * <p>We don't recommend the <code>lowestPrice</code> allocation strategy because
10915
- * it has the highest risk of interruption for your Spot Instances.</p>
10916
- * </important>
10917
- * <p>Spot Fleet requests instances from the lowest priced Spot Instance pool that has available
10918
- * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances
10919
- * come from the next lowest priced pool that has available capacity. If a pool runs
10920
- * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to
10921
- * fulfill your request by drawing from the next lowest priced pool. To ensure that
10922
- * your desired capacity is met, you might receive Spot Instances from several pools. Because
10923
- * this strategy only considers instance price and not capacity availability, it
10924
- * might lead to high interruption rates.</p>
10925
- * </dd>
10926
- * </dl>
10927
- * <p>Default: <code>lowestPrice</code>
10928
- * </p>
10929
- * @public
10930
- */
10931
- AllocationStrategy?: AllocationStrategy;
10932
- /**
10933
- * <p>The order of the launch template overrides to use in fulfilling On-Demand capacity. If
10934
- * you specify <code>lowestPrice</code>, Spot Fleet uses price to determine the order, launching
10935
- * the lowest price first. If you specify <code>prioritized</code>, Spot Fleet uses the priority
10936
- * that you assign to each Spot Fleet launch template override, launching the highest priority
10937
- * first. If you do not specify a value, Spot Fleet defaults to <code>lowestPrice</code>.</p>
10938
- * @public
10939
- */
10940
- OnDemandAllocationStrategy?: OnDemandAllocationStrategy;
10941
- /**
10942
- * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
10943
- * interrupted.</p>
10944
- * @public
10945
- */
10946
- SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
10947
- /**
10948
- * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of your
10949
- * listings. This helps to avoid duplicate listings. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring Idempotency</a>.</p>
10950
- * @public
10951
- */
10952
- ClientToken?: string;
10953
- /**
10954
- * <p>Indicates whether running instances should be terminated if you decrease the
10955
- * target capacity of the Spot Fleet request below the current size of the Spot Fleet.</p>
10956
- * <p>Supported only for fleets of type <code>maintain</code>.</p>
10957
- * @public
10958
- */
10959
- ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy;
10960
- /**
10961
- * <p>The number of units fulfilled by this request compared to the set target capacity. You
10962
- * cannot set this value.</p>
10963
- * @public
10964
- */
10965
- FulfilledCapacity?: number;
10966
- /**
10967
- * <p>The number of On-Demand units fulfilled by this request compared to the set target
10968
- * On-Demand capacity.</p>
10969
- * @public
10970
- */
10971
- OnDemandFulfilledCapacity?: number;
10972
- /**
10973
- * <p>The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role
10974
- * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances
10975
- * on your behalf. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites">Spot
10976
- * Fleet prerequisites</a> in the <i>Amazon EC2 User Guide</i>. Spot Fleet can
10977
- * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests">CancelSpotFleetRequests</a> or when the Spot Fleet request expires, if you set
10978
- * <code>TerminateInstancesWithExpiration</code>.</p>
10979
- * @public
10980
- */
10981
- IamFleetRole: string | undefined;
10982
- /**
10983
- * <p>The launch specifications for the Spot Fleet request. If you specify
10984
- * <code>LaunchSpecifications</code>, you can't specify
10985
- * <code>LaunchTemplateConfigs</code>. If you include On-Demand capacity in your
10986
- * request, you must use <code>LaunchTemplateConfigs</code>.</p>
10987
- * <note>
10988
- * <p>If an AMI specified in a launch specification is deregistered or disabled, no new
10989
- * instances can be launched from the AMI. For fleets of type <code>maintain</code>, the
10990
- * target capacity will not be maintained.</p>
10991
- * </note>
10992
- * @public
10993
- */
10994
- LaunchSpecifications?: SpotFleetLaunchSpecification[];
10995
- /**
10996
- * <p>The launch template and overrides. If you specify <code>LaunchTemplateConfigs</code>,
10997
- * you can't specify <code>LaunchSpecifications</code>. If you include On-Demand capacity
10998
- * in your request, you must use <code>LaunchTemplateConfigs</code>.</p>
10999
- * @public
11000
- */
11001
- LaunchTemplateConfigs?: LaunchTemplateConfig[];
11002
- /**
11003
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
11004
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
11005
- * <important>
11006
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
11007
- * </important>
11008
- * @public
11009
- */
11010
- SpotPrice?: string;
11011
- /**
11012
- * <p>The number of units to request for the Spot Fleet. You can choose to set the target
11013
- * capacity in terms of instances or a performance characteristic that is important to your
11014
- * application workload, such as vCPUs, memory, or I/O. If the request type is
11015
- * <code>maintain</code>, you can specify a target capacity of 0 and add capacity
11016
- * later.</p>
11017
- * @public
11018
- */
11019
- TargetCapacity: number | undefined;
11020
- /**
11021
- * <p>The number of On-Demand units to request. You can choose to set the target capacity in
11022
- * terms of instances or a performance characteristic that is important to your application
11023
- * workload, such as vCPUs, memory, or I/O. If the request type is <code>maintain</code>,
11024
- * you can specify a target capacity of 0 and add capacity later.</p>
11025
- * @public
11026
- */
11027
- OnDemandTargetCapacity?: number;
11028
- /**
11029
- * <p>The maximum amount per hour for On-Demand Instances that you're willing to pay. You
11030
- * can use the <code>onDemandMaxTotalPrice</code> parameter, the
11031
- * <code>spotMaxTotalPrice</code> parameter, or both parameters to ensure that your
11032
- * fleet cost does not exceed your budget. If you set a maximum price per hour for the
11033
- * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the
11034
- * maximum amount you're willing to pay. When the maximum amount you're willing to pay is
11035
- * reached, the fleet stops launching instances even if it hasn’t met the target
11036
- * capacity.</p>
11037
- * <note>
11038
- * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
11039
- * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
11040
- * for surplus credits. The <code>onDemandMaxTotalPrice</code> does not account for surplus
11041
- * credits, and, if you use surplus credits, your final cost might be higher than what you
11042
- * specified for <code>onDemandMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the
11043
- * <i>Amazon EC2 User Guide</i>.</p>
11044
- * </note>
11045
- * @public
11046
- */
11047
- OnDemandMaxTotalPrice?: string;
11048
- /**
11049
- * <p>The maximum amount per hour for Spot Instances that you're willing to pay. You can use
11050
- * the <code>spotMaxTotalPrice</code> parameter, the <code>onDemandMaxTotalPrice</code>
11051
- * parameter, or both parameters to ensure that your fleet cost does not exceed your budget.
11052
- * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will
11053
- * launch instances until it reaches the maximum amount you're willing to pay. When the
11054
- * maximum amount you're willing to pay is reached, the fleet stops launching instances even
11055
- * if it hasn’t met the target capacity.</p>
11056
- * <note>
11057
- * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
11058
- * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
11059
- * for surplus credits. The <code>spotMaxTotalPrice</code> does not account for surplus
11060
- * credits, and, if you use surplus credits, your final cost might be higher than what you
11061
- * specified for <code>spotMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the
11062
- * <i>Amazon EC2 User Guide</i>.</p>
11063
- * </note>
11064
- * @public
11065
- */
11066
- SpotMaxTotalPrice?: string;
11067
- /**
11068
- * <p>Indicates whether running Spot Instances are terminated when the Spot Fleet request
11069
- * expires.</p>
11070
- * @public
11071
- */
11072
- TerminateInstancesWithExpiration?: boolean;
11073
- /**
11074
- * <p>The type of request. Indicates whether the Spot Fleet only requests the target
11075
- * capacity or also attempts to maintain it. When this value is <code>request</code>, the
11076
- * Spot Fleet only places the required requests. It does not attempt to replenish Spot
11077
- * Instances if capacity is diminished, nor does it submit requests in alternative Spot
11078
- * pools if capacity is not available. When this value is <code>maintain</code>, the Spot
11079
- * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet
11080
- * capacity and automatically replenishes any interrupted instances. Default:
11081
- * <code>maintain</code>. <code>instant</code> is listed but is not used by Spot
11082
- * Fleet.</p>
11083
- * @public
11084
- */
11085
- Type?: FleetType;
11086
- /**
11087
- * <p>The start date and time of the request, in UTC format
11088
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
11089
- * By default, Amazon EC2 starts fulfilling the request immediately.</p>
11090
- * @public
11091
- */
11092
- ValidFrom?: Date;
11093
- /**
11094
- * <p>The end date and time of the request, in UTC format
11095
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
11096
- * After the end date and time, no new Spot Instance requests are placed or able to fulfill
11097
- * the request. If no value is specified, the Spot Fleet request remains until you cancel
11098
- * it.</p>
11099
- * @public
11100
- */
11101
- ValidUntil?: Date;
11102
- /**
11103
- * <p>Indicates whether Spot Fleet should replace unhealthy instances.</p>
11104
- * @public
11105
- */
11106
- ReplaceUnhealthyInstances?: boolean;
11107
- /**
11108
- * <p>The behavior when a Spot Instance is interrupted. The default is
11109
- * <code>terminate</code>.</p>
11110
- * @public
11111
- */
11112
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
11113
- /**
11114
- * <p>One or more Classic Load Balancers and target groups to attach to the Spot Fleet
11115
- * request. Spot Fleet registers the running Spot Instances with the specified Classic Load
11116
- * Balancers and target groups.</p>
11117
- * <p>With Network Load Balancers, Spot Fleet cannot register instances that have the
11118
- * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
11119
- * M3, and T1.</p>
11120
- * @public
11121
- */
11122
- LoadBalancersConfig?: LoadBalancersConfig;
11123
- /**
11124
- * <p>The number of Spot pools across which to allocate your target Spot capacity. Valid
11125
- * only when Spot <b>AllocationStrategy</b> is set to
11126
- * <code>lowest-price</code>. Spot Fleet selects the cheapest Spot pools and evenly
11127
- * allocates your target Spot capacity across the number of Spot pools that you
11128
- * specify.</p>
11129
- * <p>Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a
11130
- * best effort basis. If a pool runs out of Spot capacity before fulfilling your target
11131
- * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest
11132
- * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than
11133
- * the number of pools that you specified. Similarly, if most of the pools have no Spot
11134
- * capacity, you might receive your full target capacity from fewer than the number of
11135
- * pools that you specified.</p>
11136
- * @public
11137
- */
11138
- InstancePoolsToUseCount?: number;
11139
- /**
11140
- * <p>Reserved.</p>
11141
- * @public
11142
- */
11143
- Context?: string;
11144
- /**
11145
- * <p>The unit for the target capacity. You can specify this parameter only when
11146
- * using attribute-based instance type selection.</p>
11147
- * <p>Default: <code>units</code> (the number of instances)</p>
11148
- * @public
11149
- */
11150
- TargetCapacityUnitType?: TargetCapacityUnitType;
11151
- /**
11152
- * <p>The key-value pair for tagging the Spot Fleet request on creation. The value for
11153
- * <code>ResourceType</code> must be <code>spot-fleet-request</code>, otherwise the
11154
- * Spot Fleet request fails. To tag instances at launch, specify the tags in the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template">launch
11155
- * template</a> (valid only if you use <code>LaunchTemplateConfigs</code>) or in
11156
- * the <code>
11157
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html">SpotFleetTagSpecification</a>
11158
- * </code> (valid only if you use
11159
- * <code>LaunchSpecifications</code>). For information about tagging after launch, see
11160
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources">Tag your resources</a>.</p>
11161
- * @public
11162
- */
11163
- TagSpecifications?: TagSpecification[];
11164
- }
11165
11052
  /**
11166
11053
  * @internal
11167
11054
  */
@@ -11194,7 +11081,3 @@ export declare const DescribeLaunchTemplateVersionsResultFilterSensitiveLog: (ob
11194
11081
  * @internal
11195
11082
  */
11196
11083
  export declare const SpotFleetLaunchSpecificationFilterSensitiveLog: (obj: SpotFleetLaunchSpecification) => any;
11197
- /**
11198
- * @internal
11199
- */
11200
- export declare const SpotFleetRequestConfigDataFilterSensitiveLog: (obj: SpotFleetRequestConfigData) => any;