@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,8 +1,362 @@
1
- import { _InstanceType, ActivityStatus, AddressTransfer, AllowedPrincipal, AsnAssociation, AssociationStatus, BatchState, CapacityReservationState, CurrencyCodeValues, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, NatGatewayAddress, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UserIdGroupPair, VerifiedAccessInstance, VerifiedAccessTrustProvider, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, VpcPeeringConnection } from "./models_0";
2
- import { BlockDeviceMapping, DiskImageFormat, InstanceInterruptionBehavior, SpotInstanceType, Subnet, VolumeType, Vpc } from "./models_1";
1
+ import { _InstanceType, ActivityStatus, AddressTransfer, AllocationStrategy, AllowedPrincipal, AsnAssociation, AssociationStatus, BatchState, CapacityReservationState, CurrencyCodeValues, IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, NatGatewayAddress, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UserIdGroupPair, VerifiedAccessInstance, VerifiedAccessTrustProvider, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, VpcPeeringConnection } from "./models_0";
2
+ import { BlockDeviceMapping, DiskImageFormat, FleetType, InstanceInterruptionBehavior, SpotInstanceType, Subnet, TargetCapacityUnitType, VolumeType, Vpc } from "./models_1";
3
3
  import { ConnectionNotification, DnsEntry, DnsNameState, GroupIdentifier, IpAddressType, PayerResponsibility, ServiceConfiguration, ServiceConnectivityType, ServiceTypeDetail, SpotInstanceStateFault, SSEType, State, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorSession, TrafficMirrorTarget, TransitGateway, TransitGatewayConnect, TransitGatewayConnectPeer, TransitGatewayMulticastDomain, TransitGatewayPolicyTable, TransitGatewayRouteTable, TransitGatewayRouteTableAnnouncement, VerifiedAccessEndpoint, VerifiedAccessGroup, Volume, VpcEndpoint, VpnConnection, VpnGateway } from "./models_2";
4
4
  import { ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, FastLaunchSnapshotConfigurationResponse, FastLaunchStateCode, FastSnapshotRestoreStateCode, Filter, MetricType, PaymentOption, PeriodType, ProductCode, StatisticType } from "./models_3";
5
- import { AttributeBooleanValue, HttpTokensState, InstanceMetadataEndpointState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, RIProductDescription, SpotFleetRequestConfigData, SpotPlacement } from "./models_4";
5
+ import { AttributeBooleanValue, ExcessCapacityTerminationPolicy, HttpTokensState, InstanceMetadataEndpointState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, LaunchTemplateConfig, LoadBalancersConfig, OnDemandAllocationStrategy, RIProductDescription, SpotFleetLaunchSpecification, SpotPlacement } from "./models_4";
6
+ /**
7
+ * @public
8
+ * @enum
9
+ */
10
+ export declare const ReplacementStrategy: {
11
+ readonly LAUNCH: "launch";
12
+ readonly LAUNCH_BEFORE_TERMINATE: "launch-before-terminate";
13
+ };
14
+ /**
15
+ * @public
16
+ */
17
+ export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy];
18
+ /**
19
+ * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
20
+ * Spot Instance is at an elevated risk of being interrupted. For more information, see
21
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity
22
+ * rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
23
+ * @public
24
+ */
25
+ export interface SpotCapacityRebalance {
26
+ /**
27
+ * <p>The replacement strategy to use. Only available for fleets of type
28
+ * <code>maintain</code>.</p>
29
+ * <p>
30
+ * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
31
+ * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
32
+ * does not terminate the instances that receive a rebalance notification. You can
33
+ * terminate the old instances, or you can leave them running. You are charged for all
34
+ * instances while they are running. </p>
35
+ * <p>
36
+ * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
37
+ * Instance when a rebalance notification is emitted for an existing Spot Instance in the
38
+ * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
39
+ * terminates the instances that received a rebalance notification.</p>
40
+ * @public
41
+ */
42
+ ReplacementStrategy?: ReplacementStrategy;
43
+ /**
44
+ * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
45
+ * Instance after launching a new replacement Spot Instance.</p>
46
+ * <p>Required when <code>ReplacementStrategy</code> is set to <code>launch-before-terminate</code>.</p>
47
+ * <p>Not valid when <code>ReplacementStrategy</code> is set to <code>launch</code>.</p>
48
+ * <p>Valid values: Minimum value of <code>120</code> seconds. Maximum value of <code>7200</code> seconds.</p>
49
+ * @public
50
+ */
51
+ TerminationDelay?: number;
52
+ }
53
+ /**
54
+ * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
55
+ * interrupted.</p>
56
+ * @public
57
+ */
58
+ export interface SpotMaintenanceStrategies {
59
+ /**
60
+ * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
61
+ * Spot Instance is at an elevated risk of being interrupted. For more information, see
62
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity
63
+ * rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
64
+ * @public
65
+ */
66
+ CapacityRebalance?: SpotCapacityRebalance;
67
+ }
68
+ /**
69
+ * <p>Describes the configuration of a Spot Fleet request.</p>
70
+ * @public
71
+ */
72
+ export interface SpotFleetRequestConfigData {
73
+ /**
74
+ * <p>The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance
75
+ * 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
76
+ * strategies for Spot Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
77
+ * <dl>
78
+ * <dt>priceCapacityOptimized (recommended)</dt>
79
+ * <dd>
80
+ * <p>Spot Fleet identifies the pools with
81
+ * the highest capacity availability for the number of instances that are launching. This means
82
+ * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
83
+ * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.</p>
84
+ * </dd>
85
+ * <dt>capacityOptimized</dt>
86
+ * <dd>
87
+ * <p>Spot Fleet identifies the pools with
88
+ * the highest capacity availability for the number of instances that are launching. This means
89
+ * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
90
+ * in the near term. To give certain
91
+ * instance types a higher chance of launching first, use
92
+ * <code>capacityOptimizedPrioritized</code>. Set a priority for each instance type by
93
+ * using the <code>Priority</code> parameter for <code>LaunchTemplateOverrides</code>. You can
94
+ * assign the same priority to different <code>LaunchTemplateOverrides</code>. EC2 implements
95
+ * the priorities on a best-effort basis, but optimizes for capacity first.
96
+ * <code>capacityOptimizedPrioritized</code> is supported only if your Spot Fleet uses a
97
+ * launch template. Note that if the <code>OnDemandAllocationStrategy</code> is set to
98
+ * <code>prioritized</code>, the same priority is applied when fulfilling On-Demand
99
+ * capacity.</p>
100
+ * </dd>
101
+ * <dt>diversified</dt>
102
+ * <dd>
103
+ * <p>Spot Fleet requests instances from all of the Spot Instance pools that you
104
+ * specify.</p>
105
+ * </dd>
106
+ * <dt>lowestPrice (not recommended)</dt>
107
+ * <dd>
108
+ * <important>
109
+ * <p>We don't recommend the <code>lowestPrice</code> allocation strategy because
110
+ * it has the highest risk of interruption for your Spot Instances.</p>
111
+ * </important>
112
+ * <p>Spot Fleet requests instances from the lowest priced Spot Instance pool that has available
113
+ * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances
114
+ * come from the next lowest priced pool that has available capacity. If a pool runs
115
+ * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to
116
+ * fulfill your request by drawing from the next lowest priced pool. To ensure that
117
+ * your desired capacity is met, you might receive Spot Instances from several pools. Because
118
+ * this strategy only considers instance price and not capacity availability, it
119
+ * might lead to high interruption rates.</p>
120
+ * </dd>
121
+ * </dl>
122
+ * <p>Default: <code>lowestPrice</code>
123
+ * </p>
124
+ * @public
125
+ */
126
+ AllocationStrategy?: AllocationStrategy;
127
+ /**
128
+ * <p>The order of the launch template overrides to use in fulfilling On-Demand capacity. If
129
+ * you specify <code>lowestPrice</code>, Spot Fleet uses price to determine the order, launching
130
+ * the lowest price first. If you specify <code>prioritized</code>, Spot Fleet uses the priority
131
+ * that you assign to each Spot Fleet launch template override, launching the highest priority
132
+ * first. If you do not specify a value, Spot Fleet defaults to <code>lowestPrice</code>.</p>
133
+ * @public
134
+ */
135
+ OnDemandAllocationStrategy?: OnDemandAllocationStrategy;
136
+ /**
137
+ * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
138
+ * interrupted.</p>
139
+ * @public
140
+ */
141
+ SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
142
+ /**
143
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of your
144
+ * 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>
145
+ * @public
146
+ */
147
+ ClientToken?: string;
148
+ /**
149
+ * <p>Indicates whether running instances should be terminated if you decrease the
150
+ * target capacity of the Spot Fleet request below the current size of the Spot Fleet.</p>
151
+ * <p>Supported only for fleets of type <code>maintain</code>.</p>
152
+ * @public
153
+ */
154
+ ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy;
155
+ /**
156
+ * <p>The number of units fulfilled by this request compared to the set target capacity. You
157
+ * cannot set this value.</p>
158
+ * @public
159
+ */
160
+ FulfilledCapacity?: number;
161
+ /**
162
+ * <p>The number of On-Demand units fulfilled by this request compared to the set target
163
+ * On-Demand capacity.</p>
164
+ * @public
165
+ */
166
+ OnDemandFulfilledCapacity?: number;
167
+ /**
168
+ * <p>The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role
169
+ * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances
170
+ * 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
171
+ * Fleet prerequisites</a> in the <i>Amazon EC2 User Guide</i>. Spot Fleet can
172
+ * 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
173
+ * <code>TerminateInstancesWithExpiration</code>.</p>
174
+ * @public
175
+ */
176
+ IamFleetRole: string | undefined;
177
+ /**
178
+ * <p>The launch specifications for the Spot Fleet request. If you specify
179
+ * <code>LaunchSpecifications</code>, you can't specify
180
+ * <code>LaunchTemplateConfigs</code>. If you include On-Demand capacity in your
181
+ * request, you must use <code>LaunchTemplateConfigs</code>.</p>
182
+ * <note>
183
+ * <p>If an AMI specified in a launch specification is deregistered or disabled, no new
184
+ * instances can be launched from the AMI. For fleets of type <code>maintain</code>, the
185
+ * target capacity will not be maintained.</p>
186
+ * </note>
187
+ * @public
188
+ */
189
+ LaunchSpecifications?: SpotFleetLaunchSpecification[];
190
+ /**
191
+ * <p>The launch template and overrides. If you specify <code>LaunchTemplateConfigs</code>,
192
+ * you can't specify <code>LaunchSpecifications</code>. If you include On-Demand capacity
193
+ * in your request, you must use <code>LaunchTemplateConfigs</code>.</p>
194
+ * @public
195
+ */
196
+ LaunchTemplateConfigs?: LaunchTemplateConfig[];
197
+ /**
198
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
199
+ * 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>
200
+ * <important>
201
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
202
+ * </important>
203
+ * @public
204
+ */
205
+ SpotPrice?: string;
206
+ /**
207
+ * <p>The number of units to request for the Spot Fleet. You can choose to set the target
208
+ * capacity in terms of instances or a performance characteristic that is important to your
209
+ * application workload, such as vCPUs, memory, or I/O. If the request type is
210
+ * <code>maintain</code>, you can specify a target capacity of 0 and add capacity
211
+ * later.</p>
212
+ * @public
213
+ */
214
+ TargetCapacity: number | undefined;
215
+ /**
216
+ * <p>The number of On-Demand units to request. You can choose to set the target capacity in
217
+ * terms of instances or a performance characteristic that is important to your application
218
+ * workload, such as vCPUs, memory, or I/O. If the request type is <code>maintain</code>,
219
+ * you can specify a target capacity of 0 and add capacity later.</p>
220
+ * @public
221
+ */
222
+ OnDemandTargetCapacity?: number;
223
+ /**
224
+ * <p>The maximum amount per hour for On-Demand Instances that you're willing to pay. You
225
+ * can use the <code>onDemandMaxTotalPrice</code> parameter, the
226
+ * <code>spotMaxTotalPrice</code> parameter, or both parameters to ensure that your
227
+ * fleet cost does not exceed your budget. If you set a maximum price per hour for the
228
+ * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the
229
+ * maximum amount you're willing to pay. When the maximum amount you're willing to pay is
230
+ * reached, the fleet stops launching instances even if it hasn’t met the target
231
+ * capacity.</p>
232
+ * <note>
233
+ * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
234
+ * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
235
+ * for surplus credits. The <code>onDemandMaxTotalPrice</code> does not account for surplus
236
+ * credits, and, if you use surplus credits, your final cost might be higher than what you
237
+ * 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
238
+ * <i>Amazon EC2 User Guide</i>.</p>
239
+ * </note>
240
+ * @public
241
+ */
242
+ OnDemandMaxTotalPrice?: string;
243
+ /**
244
+ * <p>The maximum amount per hour for Spot Instances that you're willing to pay. You can use
245
+ * the <code>spotMaxTotalPrice</code> parameter, the <code>onDemandMaxTotalPrice</code>
246
+ * parameter, or both parameters to ensure that your fleet cost does not exceed your budget.
247
+ * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will
248
+ * launch instances until it reaches the maximum amount you're willing to pay. When the
249
+ * maximum amount you're willing to pay is reached, the fleet stops launching instances even
250
+ * if it hasn’t met the target capacity.</p>
251
+ * <note>
252
+ * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
253
+ * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
254
+ * for surplus credits. The <code>spotMaxTotalPrice</code> does not account for surplus
255
+ * credits, and, if you use surplus credits, your final cost might be higher than what you
256
+ * 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
257
+ * <i>Amazon EC2 User Guide</i>.</p>
258
+ * </note>
259
+ * @public
260
+ */
261
+ SpotMaxTotalPrice?: string;
262
+ /**
263
+ * <p>Indicates whether running Spot Instances are terminated when the Spot Fleet request
264
+ * expires.</p>
265
+ * @public
266
+ */
267
+ TerminateInstancesWithExpiration?: boolean;
268
+ /**
269
+ * <p>The type of request. Indicates whether the Spot Fleet only requests the target
270
+ * capacity or also attempts to maintain it. When this value is <code>request</code>, the
271
+ * Spot Fleet only places the required requests. It does not attempt to replenish Spot
272
+ * Instances if capacity is diminished, nor does it submit requests in alternative Spot
273
+ * pools if capacity is not available. When this value is <code>maintain</code>, the Spot
274
+ * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet
275
+ * capacity and automatically replenishes any interrupted instances. Default:
276
+ * <code>maintain</code>. <code>instant</code> is listed but is not used by Spot
277
+ * Fleet.</p>
278
+ * @public
279
+ */
280
+ Type?: FleetType;
281
+ /**
282
+ * <p>The start date and time of the request, in UTC format
283
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
284
+ * By default, Amazon EC2 starts fulfilling the request immediately.</p>
285
+ * @public
286
+ */
287
+ ValidFrom?: Date;
288
+ /**
289
+ * <p>The end date and time of the request, in UTC format
290
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
291
+ * After the end date and time, no new Spot Instance requests are placed or able to fulfill
292
+ * the request. If no value is specified, the Spot Fleet request remains until you cancel
293
+ * it.</p>
294
+ * @public
295
+ */
296
+ ValidUntil?: Date;
297
+ /**
298
+ * <p>Indicates whether Spot Fleet should replace unhealthy instances.</p>
299
+ * @public
300
+ */
301
+ ReplaceUnhealthyInstances?: boolean;
302
+ /**
303
+ * <p>The behavior when a Spot Instance is interrupted. The default is
304
+ * <code>terminate</code>.</p>
305
+ * @public
306
+ */
307
+ InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
308
+ /**
309
+ * <p>One or more Classic Load Balancers and target groups to attach to the Spot Fleet
310
+ * request. Spot Fleet registers the running Spot Instances with the specified Classic Load
311
+ * Balancers and target groups.</p>
312
+ * <p>With Network Load Balancers, Spot Fleet cannot register instances that have the
313
+ * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
314
+ * M3, and T1.</p>
315
+ * @public
316
+ */
317
+ LoadBalancersConfig?: LoadBalancersConfig;
318
+ /**
319
+ * <p>The number of Spot pools across which to allocate your target Spot capacity. Valid
320
+ * only when Spot <b>AllocationStrategy</b> is set to
321
+ * <code>lowest-price</code>. Spot Fleet selects the cheapest Spot pools and evenly
322
+ * allocates your target Spot capacity across the number of Spot pools that you
323
+ * specify.</p>
324
+ * <p>Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a
325
+ * best effort basis. If a pool runs out of Spot capacity before fulfilling your target
326
+ * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest
327
+ * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than
328
+ * the number of pools that you specified. Similarly, if most of the pools have no Spot
329
+ * capacity, you might receive your full target capacity from fewer than the number of
330
+ * pools that you specified.</p>
331
+ * @public
332
+ */
333
+ InstancePoolsToUseCount?: number;
334
+ /**
335
+ * <p>Reserved.</p>
336
+ * @public
337
+ */
338
+ Context?: string;
339
+ /**
340
+ * <p>The unit for the target capacity. You can specify this parameter only when
341
+ * using attribute-based instance type selection.</p>
342
+ * <p>Default: <code>units</code> (the number of instances)</p>
343
+ * @public
344
+ */
345
+ TargetCapacityUnitType?: TargetCapacityUnitType;
346
+ /**
347
+ * <p>The key-value pair for tagging the Spot Fleet request on creation. The value for
348
+ * <code>ResourceType</code> must be <code>spot-fleet-request</code>, otherwise the
349
+ * 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
350
+ * template</a> (valid only if you use <code>LaunchTemplateConfigs</code>) or in
351
+ * the <code>
352
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html">SpotFleetTagSpecification</a>
353
+ * </code> (valid only if you use
354
+ * <code>LaunchSpecifications</code>). For information about tagging after launch, see
355
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources">Tag your resources</a>.</p>
356
+ * @public
357
+ */
358
+ TagSpecifications?: TagSpecification[];
359
+ }
6
360
  /**
7
361
  * <p>Describes a Spot Fleet request.</p>
8
362
  * @public
@@ -8086,68 +8440,9 @@ export interface InstanceMetadataDefaultsResponse {
8086
8440
  InstanceMetadataTags?: InstanceMetadataTagsState;
8087
8441
  }
8088
8442
  /**
8089
- * @public
8090
- */
8091
- export interface GetInstanceMetadataDefaultsResult {
8092
- /**
8093
- * <p>The account-level default IMDS settings.</p>
8094
- * @public
8095
- */
8096
- AccountLevel?: InstanceMetadataDefaultsResponse;
8097
- }
8098
- /**
8099
- * @public
8100
- * @enum
8101
- */
8102
- export declare const EkPubKeyFormat: {
8103
- readonly der: "der";
8104
- readonly tpmt: "tpmt";
8105
- };
8106
- /**
8107
- * @public
8108
- */
8109
- export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat];
8110
- /**
8111
- * @public
8112
- * @enum
8113
- */
8114
- export declare const EkPubKeyType: {
8115
- readonly ECC_SEC_P384: "ecc-sec-p384";
8116
- readonly RSA_2048: "rsa-2048";
8117
- };
8118
- /**
8119
- * @public
8120
- */
8121
- export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType];
8122
- /**
8123
- * @public
8443
+ * @internal
8124
8444
  */
8125
- export interface GetInstanceTpmEkPubRequest {
8126
- /**
8127
- * <p>The ID of the instance for which to get the public endorsement key.</p>
8128
- * @public
8129
- */
8130
- InstanceId: string | undefined;
8131
- /**
8132
- * <p>The required public endorsement key type.</p>
8133
- * @public
8134
- */
8135
- KeyType: EkPubKeyType | undefined;
8136
- /**
8137
- * <p>The required public endorsement key format. Specify <code>der</code> for a DER-encoded public
8138
- * key that is compatible with OpenSSL. Specify <code>tpmt</code> for a TPM 2.0 format that is
8139
- * compatible with tpm2-tools. The returned key is base64 encoded.</p>
8140
- * @public
8141
- */
8142
- KeyFormat: EkPubKeyFormat | undefined;
8143
- /**
8144
- * <p>Specify this parameter to verify whether the request will succeed, without actually making the
8145
- * request. If the request will succeed, the response is <code>DryRunOperation</code>. Otherwise,
8146
- * the response is <code>UnauthorizedOperation</code>.</p>
8147
- * @public
8148
- */
8149
- DryRun?: boolean;
8150
- }
8445
+ export declare const SpotFleetRequestConfigDataFilterSensitiveLog: (obj: SpotFleetRequestConfigData) => any;
8151
8446
  /**
8152
8447
  * @internal
8153
8448
  */