@aws-sdk/client-ec2 3.39.0 → 3.40.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.
@@ -1,6 +1,7 @@
1
1
  import { __assign } from "tslib";
2
2
  import packageInfo from "../package.json";
3
3
  import { Sha256 } from "@aws-crypto/sha256-browser";
4
+ import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
4
5
  import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
5
6
  import { invalidProvider } from "@aws-sdk/invalid-dependency";
6
7
  import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
@@ -10,7 +11,7 @@ import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
10
11
  import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
11
12
  import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
12
13
  export var getRuntimeConfig = function (config) {
13
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
14
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
14
15
  var clientSharedValues = getSharedRuntimeConfig(config);
15
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "browser", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error("Credential is missing")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider("Region is missing"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new FetchHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return Promise.resolve(DEFAULT_RETRY_MODE); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, utf8Decoder: (_m = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _m !== void 0 ? _m : fromUtf8, utf8Encoder: (_o = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _o !== void 0 ? _o : toUtf8 });
16
+ return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "browser", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : (function (_) { return function () { return Promise.reject(new Error("Credential is missing")); }; }), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : DEFAULT_MAX_ATTEMPTS, region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : invalidProvider("Region is missing"), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new FetchHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : (function () { return Promise.resolve(DEFAULT_RETRY_MODE); }), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Sha256, streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : (function () { return Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT); }), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : (function () { return Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT); }), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
16
17
  };
@@ -1,7 +1,7 @@
1
1
  import { __assign } from "tslib";
2
2
  import packageInfo from "../package.json";
3
3
  import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts";
4
- import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS } from "@aws-sdk/config-resolver";
4
+ import { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from "@aws-sdk/config-resolver";
5
5
  import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
6
6
  import { Hash } from "@aws-sdk/hash-node";
7
7
  import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
@@ -14,8 +14,8 @@ import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
14
14
  import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
15
15
  import { emitWarningIfUnsupportedVersion } from "@aws-sdk/smithy-client";
16
16
  export var getRuntimeConfig = function (config) {
17
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
17
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
18
18
  emitWarningIfUnsupportedVersion(process.version);
19
19
  var clientSharedValues = getSharedRuntimeConfig(config);
20
- return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "node", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : decorateDefaultCredentialProvider(credentialDefaultProvider), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new NodeHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Hash.bind(null, "sha256"), streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, utf8Decoder: (_m = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _m !== void 0 ? _m : fromUtf8, utf8Encoder: (_o = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _o !== void 0 ? _o : toUtf8 });
20
+ return __assign(__assign(__assign({}, clientSharedValues), config), { runtime: "node", base64Decoder: (_a = config === null || config === void 0 ? void 0 : config.base64Decoder) !== null && _a !== void 0 ? _a : fromBase64, base64Encoder: (_b = config === null || config === void 0 ? void 0 : config.base64Encoder) !== null && _b !== void 0 ? _b : toBase64, bodyLengthChecker: (_c = config === null || config === void 0 ? void 0 : config.bodyLengthChecker) !== null && _c !== void 0 ? _c : calculateBodyLength, credentialDefaultProvider: (_d = config === null || config === void 0 ? void 0 : config.credentialDefaultProvider) !== null && _d !== void 0 ? _d : decorateDefaultCredentialProvider(credentialDefaultProvider), defaultUserAgentProvider: (_e = config === null || config === void 0 ? void 0 : config.defaultUserAgentProvider) !== null && _e !== void 0 ? _e : defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: (_f = config === null || config === void 0 ? void 0 : config.maxAttempts) !== null && _f !== void 0 ? _f : loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS), region: (_g = config === null || config === void 0 ? void 0 : config.region) !== null && _g !== void 0 ? _g : loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS), requestHandler: (_h = config === null || config === void 0 ? void 0 : config.requestHandler) !== null && _h !== void 0 ? _h : new NodeHttpHandler(), retryMode: (_j = config === null || config === void 0 ? void 0 : config.retryMode) !== null && _j !== void 0 ? _j : loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS), sha256: (_k = config === null || config === void 0 ? void 0 : config.sha256) !== null && _k !== void 0 ? _k : Hash.bind(null, "sha256"), streamCollector: (_l = config === null || config === void 0 ? void 0 : config.streamCollector) !== null && _l !== void 0 ? _l : streamCollector, useDualstackEndpoint: (_m = config === null || config === void 0 ? void 0 : config.useDualstackEndpoint) !== null && _m !== void 0 ? _m : loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS), useFipsEndpoint: (_o = config === null || config === void 0 ? void 0 : config.useFipsEndpoint) !== null && _o !== void 0 ? _o : loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS), utf8Decoder: (_p = config === null || config === void 0 ? void 0 : config.utf8Decoder) !== null && _p !== void 0 ? _p : fromUtf8, utf8Encoder: (_q = config === null || config === void 0 ? void 0 : config.utf8Encoder) !== null && _q !== void 0 ? _q : toUtf8 });
21
21
  };
@@ -549,6 +549,14 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
549
549
  * Optional logger for logging debug/info/warn/error.
550
550
  */
551
551
  logger?: __Logger;
552
+ /**
553
+ * Enables IPv6/IPv4 dualstack endpoint.
554
+ */
555
+ useDualstackEndpoint?: boolean | __Provider<boolean>;
556
+ /**
557
+ * Enables FIPS compatible endpoints.
558
+ */
559
+ useFipsEndpoint?: boolean | __Provider<boolean>;
552
560
  /**
553
561
  * Unique service identifier.
554
562
  * @internal
@@ -5880,9 +5880,10 @@ export interface InstanceRequirementsRequest {
5880
5880
  * an asterisk (<code>*</code>), to exclude an instance family, type, size, or generation. The
5881
5881
  * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
5882
5882
  * <code>r*</code>, <code>*3*</code>.</p>
5883
- * <p>For example, if you specify <code>c5*.*</code>, Amazon EC2 will exclude the entire C5
5884
- * instance family (all C5a and C5n instance types). If you specify <code>c5a.*</code>, Amazon EC2
5885
- * excludes all the C5a instance types, but does not exclude the C5n instance types.</p>
5883
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will exclude the entire C5 instance
5884
+ * family, which includes all C5a and C5n instance types. If you specify
5885
+ * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
5886
+ * instance types.</p>
5886
5887
  * <p>Default: No excluded instance types</p>
5887
5888
  */
5888
5889
  ExcludedInstanceTypes?: string[];
@@ -6335,26 +6336,36 @@ export declare enum SpotAllocationStrategy {
6335
6336
  }
6336
6337
  export declare type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate";
6337
6338
  export declare enum FleetReplacementStrategy {
6338
- LAUNCH = "launch"
6339
+ LAUNCH = "launch",
6340
+ LAUNCH_BEFORE_TERMINATE = "launch-before-terminate"
6339
6341
  }
6340
6342
  /**
6341
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
6342
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
6343
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
6343
+ * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a rebalance
6344
+ * notification signal that your Spot Instance is at an elevated risk of being interrupted.
6345
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-capacity-rebalance">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide</i>.</p>
6344
6346
  */
6345
6347
  export interface FleetSpotCapacityRebalanceRequest {
6346
6348
  /**
6347
6349
  * <p>The replacement strategy to use. Only available for fleets of type
6348
6350
  * <code>maintain</code>.</p>
6349
- * <p>To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance
6350
- * notification is emitted for an existing Spot Instance in the fleet, specify
6351
- * <code>launch</code>. You must specify a value, otherwise you get an error.</p>
6352
- * <note>
6353
- * <p>When a replacement instance is launched, the instance marked for rebalance is not
6354
- * automatically terminated. You can terminate it, or you can leave it running. You are charged for all instances while they are running.</p>
6355
- * </note>
6351
+ * <p>
6352
+ * <code>launch</code> - EC2 Fleet launches a replacement Spot Instance when a rebalance
6353
+ * notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet does not
6354
+ * terminate the instances that receive a rebalance notification. You can terminate the old
6355
+ * instances, or you can leave them running. You are charged for all instances while they are
6356
+ * running. </p>
6357
+ * <p>
6358
+ * <code>launch-before-terminate</code> - EC2 Fleet launches a replacement Spot Instance
6359
+ * when a rebalance notification is emitted for an existing Spot Instance in the fleet, and
6360
+ * then, after a delay that you specify (in <code>TerminationDelay</code>), terminates the
6361
+ * instances that received a rebalance notification.</p>
6356
6362
  */
6357
6363
  ReplacementStrategy?: FleetReplacementStrategy | string;
6364
+ /**
6365
+ * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
6366
+ * Instance after launching a new replacement Spot Instance.</p>
6367
+ */
6368
+ TerminationDelay?: number;
6358
6369
  }
6359
6370
  export declare namespace FleetSpotCapacityRebalanceRequest {
6360
6371
  /**
@@ -136,9 +136,10 @@ export interface InstanceRequirements {
136
136
  * an asterisk (<code>*</code>), to exclude an instance type, size, or generation. The
137
137
  * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
138
138
  * <code>r*</code>, <code>*3*</code>.</p>
139
- * <p>For example, if you specify <code>c5*.*</code>, Amazon EC2 will exclude the entire C5
140
- * instance family (all C5a and C5n instance types). If you specify <code>c5a.*</code>, Amazon EC2
141
- * excludes all the C5a instance types, but does not exclude the C5n instance types.</p>
139
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will exclude the entire C5 instance
140
+ * family, which includes all C5a and C5n instance types. If you specify
141
+ * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
142
+ * instance types.</p>
142
143
  * <p>Default: No excluded instance types</p>
143
144
  */
144
145
  ExcludedInstanceTypes?: string[];
@@ -6520,15 +6520,26 @@ export declare namespace OnDemandOptions {
6520
6520
  */
6521
6521
  export interface FleetSpotCapacityRebalance {
6522
6522
  /**
6523
- * <p>To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance
6524
- * notification is emitted for an existing Spot Instance in the fleet, specify
6525
- * <code>launch</code>. Only available for fleets of type <code>maintain</code>.</p>
6526
- * <note>
6527
- * <p>When a replacement instance is launched, the instance marked for rebalance is not
6528
- * automatically terminated. You can terminate it, or you can leave it running. You are charged for both instances while they are running.</p>
6529
- * </note>
6523
+ * <p>The replacement strategy to use. Only available for fleets of type
6524
+ * <code>maintain</code>.</p>
6525
+ * <p>
6526
+ * <code>launch</code> - EC2 Fleet launches a new replacement Spot Instance when a
6527
+ * rebalance notification is emitted for an existing Spot Instance in the fleet. EC2 Fleet
6528
+ * does not terminate the instances that receive a rebalance notification. You can terminate
6529
+ * the old instances, or you can leave them running. You are charged for all instances while
6530
+ * they are running. </p>
6531
+ * <p>
6532
+ * <code>launch-before-terminate</code> - EC2 Fleet launches a new replacement Spot
6533
+ * Instance when a rebalance notification is emitted for an existing Spot Instance in the
6534
+ * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
6535
+ * terminates the instances that received a rebalance notification.</p>
6530
6536
  */
6531
6537
  ReplacementStrategy?: FleetReplacementStrategy | string;
6538
+ /**
6539
+ * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
6540
+ * Instance after launching a new replacement Spot Instance.</p>
6541
+ */
6542
+ TerminationDelay?: number;
6532
6543
  }
6533
6544
  export declare namespace FleetSpotCapacityRebalance {
6534
6545
  /**
@@ -353,6 +353,14 @@ export interface LaunchPermission {
353
353
  * <p>Constraints: Up to 10 000 account IDs can be specified in a single request.</p>
354
354
  */
355
355
  UserId?: string;
356
+ /**
357
+ * <p>The Amazon Resource Name (ARN) of an organization.</p>
358
+ */
359
+ OrganizationArn?: string;
360
+ /**
361
+ * <p>The Amazon Resource Name (ARN) of an organizational unit (OU).</p>
362
+ */
363
+ OrganizationalUnitArn?: string;
356
364
  }
357
365
  export declare namespace LaunchPermission {
358
366
  /**
@@ -412,6 +420,22 @@ export interface DescribeImagesRequest {
412
420
  * <p>Scopes the images by users with explicit launch permissions.
413
421
  * Specify an Amazon Web Services account ID, <code>self</code> (the sender of the request),
414
422
  * or <code>all</code> (public AMIs).</p>
423
+ * <ul>
424
+ * <li>
425
+ * <p>If you specify an Amazon Web Services account ID that is not your own, only AMIs
426
+ * shared with that specific Amazon Web Services account ID are returned. However, AMIs that
427
+ * are shared with the account’s organization or organizational unit (OU) are not
428
+ * returned.</p>
429
+ * </li>
430
+ * <li>
431
+ * <p>If you specify <code>self</code> or your own Amazon Web Services account ID, AMIs
432
+ * shared with your account are returned. In addition, AMIs that are shared with the
433
+ * organization or OU of which you are member are also returned. </p>
434
+ * </li>
435
+ * <li>
436
+ * <p>If you specify <code>all</code>, all public AMIs are returned.</p>
437
+ * </li>
438
+ * </ul>
415
439
  */
416
440
  ExecutableUsers?: string[];
417
441
  /**
@@ -2318,6 +2342,10 @@ export interface InstanceNetworkInterfaceAssociation {
2318
2342
  * <p>The carrier IP address associated with the network interface.</p>
2319
2343
  */
2320
2344
  CarrierIp?: string;
2345
+ /**
2346
+ * <p>The customer-owned IP address associated with the network interface.</p>
2347
+ */
2348
+ CustomerOwnedIp?: string;
2321
2349
  /**
2322
2350
  * <p>The ID of the owner of the Elastic IP address.</p>
2323
2351
  */
@@ -9530,7 +9558,8 @@ export declare enum OnDemandAllocationStrategy {
9530
9558
  PRIORITIZED = "prioritized"
9531
9559
  }
9532
9560
  export declare enum ReplacementStrategy {
9533
- LAUNCH = "launch"
9561
+ LAUNCH = "launch",
9562
+ LAUNCH_BEFORE_TERMINATE = "launch-before-terminate"
9534
9563
  }
9535
9564
  /**
9536
9565
  * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
@@ -9540,17 +9569,25 @@ export declare enum ReplacementStrategy {
9540
9569
  export interface SpotCapacityRebalance {
9541
9570
  /**
9542
9571
  * <p>The replacement strategy to use. Only available for fleets of type
9543
- * <code>maintain</code>. You must specify a value, otherwise you get an error.</p>
9544
- * <p>To allow Spot Fleet to launch a replacement Spot Instance when an instance rebalance
9545
- * notification is emitted for a Spot Instance in the fleet, specify
9546
- * <code>launch</code>.</p>
9547
- * <note>
9548
- * <p>When a replacement instance is launched, the instance marked for rebalance is not
9549
- * automatically terminated. You can terminate it, or you can leave it running. You are
9550
- * charged for all instances while they are running.</p>
9551
- * </note>
9572
+ * <code>maintain</code>.</p>
9573
+ * <p>
9574
+ * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
9575
+ * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
9576
+ * does not terminate the instances that receive a rebalance notification. You can
9577
+ * terminate the old instances, or you can leave them running. You are charged for all
9578
+ * instances while they are running. </p>
9579
+ * <p>
9580
+ * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
9581
+ * Instance when a rebalance notification is emitted for an existing Spot Instance in the
9582
+ * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
9583
+ * terminates the instances that received a rebalance notification.</p>
9552
9584
  */
9553
9585
  ReplacementStrategy?: ReplacementStrategy | string;
9586
+ /**
9587
+ * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
9588
+ * Instance after launching a new replacement Spot Instance.</p>
9589
+ */
9590
+ TerminationDelay?: number;
9554
9591
  }
9555
9592
  export declare namespace SpotCapacityRebalance {
9556
9593
  /**
@@ -7793,8 +7793,9 @@ export declare namespace LaunchPermissionModifications {
7793
7793
  */
7794
7794
  export interface ModifyImageAttributeRequest {
7795
7795
  /**
7796
- * <p>The name of the attribute to modify.
7797
- * The valid values are <code>description</code> and <code>launchPermission</code>.</p>
7796
+ * <p>The name of the attribute to modify.</p>
7797
+ * <p>Valid values: <code>description</code> | <code>launchPermission</code>
7798
+ * </p>
7798
7799
  */
7799
7800
  Attribute?: string;
7800
7801
  /**
@@ -7839,6 +7840,14 @@ export interface ModifyImageAttributeRequest {
7839
7840
  * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
7840
7841
  */
7841
7842
  DryRun?: boolean;
7843
+ /**
7844
+ * <p>The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p>
7845
+ */
7846
+ OrganizationArns?: string[];
7847
+ /**
7848
+ * <p>The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the <code>Attribute</code> parameter is <code>launchPermission</code>.</p>
7849
+ */
7850
+ OrganizationalUnitArns?: string[];
7842
7851
  }
7843
7852
  export declare namespace ModifyImageAttributeRequest {
7844
7853
  /**
@@ -16,6 +16,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
16
16
  retryMode: string | import("@aws-sdk/types").Provider<string>;
17
17
  sha256: import("@aws-sdk/types").HashConstructor;
18
18
  streamCollector: import("@aws-sdk/types").StreamCollector;
19
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
20
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
19
21
  utf8Decoder: import("@aws-sdk/types").Decoder;
20
22
  utf8Encoder: import("@aws-sdk/types").Encoder;
21
23
  apiVersion: string;
@@ -16,6 +16,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
16
16
  retryMode: string | import("@aws-sdk/types").Provider<string>;
17
17
  sha256: import("@aws-sdk/types").HashConstructor;
18
18
  streamCollector: import("@aws-sdk/types").StreamCollector;
19
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
20
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
19
21
  utf8Decoder: import("@aws-sdk/types").Decoder;
20
22
  utf8Encoder: import("@aws-sdk/types").Encoder;
21
23
  apiVersion: string;
@@ -18,6 +18,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
18
18
  maxAttempts: number | import("@aws-sdk/types").Provider<number>;
19
19
  retryMode: string | import("@aws-sdk/types").Provider<string>;
20
20
  logger: import("@aws-sdk/types").Logger;
21
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
22
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
21
23
  serviceId: string;
22
24
  region: string | import("@aws-sdk/types").Provider<string> | import("@aws-sdk/types").Provider<any>;
23
25
  credentialDefaultProvider: (input: any) => import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials>;
@@ -511,6 +511,10 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
511
511
 
512
512
  logger?: __Logger;
513
513
 
514
+ useDualstackEndpoint?: boolean | __Provider<boolean>;
515
+
516
+ useFipsEndpoint?: boolean | __Provider<boolean>;
517
+
514
518
  serviceId?: string;
515
519
 
516
520
  region?: string | __Provider<string>;
@@ -3194,12 +3194,15 @@ export declare enum SpotAllocationStrategy {
3194
3194
  }
3195
3195
  export declare type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate";
3196
3196
  export declare enum FleetReplacementStrategy {
3197
- LAUNCH = "launch"
3197
+ LAUNCH = "launch",
3198
+ LAUNCH_BEFORE_TERMINATE = "launch-before-terminate"
3198
3199
  }
3199
3200
 
3200
3201
  export interface FleetSpotCapacityRebalanceRequest {
3201
3202
 
3202
3203
  ReplacementStrategy?: FleetReplacementStrategy | string;
3204
+
3205
+ TerminationDelay?: number;
3203
3206
  }
3204
3207
  export declare namespace FleetSpotCapacityRebalanceRequest {
3205
3208
 
@@ -3103,6 +3103,8 @@ export declare namespace OnDemandOptions {
3103
3103
  export interface FleetSpotCapacityRebalance {
3104
3104
 
3105
3105
  ReplacementStrategy?: FleetReplacementStrategy | string;
3106
+
3107
+ TerminationDelay?: number;
3106
3108
  }
3107
3109
  export declare namespace FleetSpotCapacityRebalance {
3108
3110
 
@@ -171,6 +171,10 @@ export interface LaunchPermission {
171
171
  Group?: PermissionGroup | string;
172
172
 
173
173
  UserId?: string;
174
+
175
+ OrganizationArn?: string;
176
+
177
+ OrganizationalUnitArn?: string;
174
178
  }
175
179
  export declare namespace LaunchPermission {
176
180
 
@@ -797,6 +801,8 @@ export interface InstanceNetworkInterfaceAssociation {
797
801
 
798
802
  CarrierIp?: string;
799
803
 
804
+ CustomerOwnedIp?: string;
805
+
800
806
  IpOwnerId?: string;
801
807
 
802
808
  PublicDnsName?: string;
@@ -3754,12 +3760,15 @@ export declare enum OnDemandAllocationStrategy {
3754
3760
  PRIORITIZED = "prioritized"
3755
3761
  }
3756
3762
  export declare enum ReplacementStrategy {
3757
- LAUNCH = "launch"
3763
+ LAUNCH = "launch",
3764
+ LAUNCH_BEFORE_TERMINATE = "launch-before-terminate"
3758
3765
  }
3759
3766
 
3760
3767
  export interface SpotCapacityRebalance {
3761
3768
 
3762
3769
  ReplacementStrategy?: ReplacementStrategy | string;
3770
+
3771
+ TerminationDelay?: number;
3763
3772
  }
3764
3773
  export declare namespace SpotCapacityRebalance {
3765
3774
 
@@ -3566,6 +3566,10 @@ export interface ModifyImageAttributeRequest {
3566
3566
  Value?: string;
3567
3567
 
3568
3568
  DryRun?: boolean;
3569
+
3570
+ OrganizationArns?: string[];
3571
+
3572
+ OrganizationalUnitArns?: string[];
3569
3573
  }
3570
3574
  export declare namespace ModifyImageAttributeRequest {
3571
3575
 
@@ -14,6 +14,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
14
14
  retryMode: string | import("@aws-sdk/types").Provider<string>;
15
15
  sha256: import("@aws-sdk/types").HashConstructor;
16
16
  streamCollector: import("@aws-sdk/types").StreamCollector;
17
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
18
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
17
19
  utf8Decoder: import("@aws-sdk/types").Decoder;
18
20
  utf8Encoder: import("@aws-sdk/types").Encoder;
19
21
  apiVersion: string;
@@ -14,6 +14,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
14
14
  retryMode: string | import("@aws-sdk/types").Provider<string>;
15
15
  sha256: import("@aws-sdk/types").HashConstructor;
16
16
  streamCollector: import("@aws-sdk/types").StreamCollector;
17
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
18
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
17
19
  utf8Decoder: import("@aws-sdk/types").Decoder;
18
20
  utf8Encoder: import("@aws-sdk/types").Encoder;
19
21
  apiVersion: string;
@@ -16,6 +16,8 @@ export declare const getRuntimeConfig: (config: EC2ClientConfig) => {
16
16
  maxAttempts: number | import("@aws-sdk/types").Provider<number>;
17
17
  retryMode: string | import("@aws-sdk/types").Provider<string>;
18
18
  logger: import("@aws-sdk/types").Logger;
19
+ useDualstackEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
20
+ useFipsEndpoint: boolean | import("@aws-sdk/types").Provider<boolean>;
19
21
  serviceId: string;
20
22
  region: string | import("@aws-sdk/types").Provider<string> | import("@aws-sdk/types").Provider<any>;
21
23
  credentialDefaultProvider: (input: any) => import("@aws-sdk/types").Provider<import("@aws-sdk/types").Credentials>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ec2",
3
3
  "description": "AWS SDK for JavaScript Ec2 Client for Node.js, Browser and React Native",
4
- "version": "3.39.0",
4
+ "version": "3.40.0",
5
5
  "scripts": {
6
6
  "build": "yarn build:cjs && yarn build:es && yarn build:types",
7
7
  "build:cjs": "tsc -p tsconfig.json",
@@ -21,36 +21,36 @@
21
21
  "dependencies": {
22
22
  "@aws-crypto/sha256-browser": "2.0.0",
23
23
  "@aws-crypto/sha256-js": "2.0.0",
24
- "@aws-sdk/client-sts": "3.39.0",
25
- "@aws-sdk/config-resolver": "3.39.0",
26
- "@aws-sdk/credential-provider-node": "3.39.0",
27
- "@aws-sdk/fetch-http-handler": "3.38.0",
28
- "@aws-sdk/hash-node": "3.38.0",
29
- "@aws-sdk/invalid-dependency": "3.38.0",
30
- "@aws-sdk/middleware-content-length": "3.38.0",
31
- "@aws-sdk/middleware-host-header": "3.38.0",
32
- "@aws-sdk/middleware-logger": "3.38.0",
33
- "@aws-sdk/middleware-retry": "3.39.0",
34
- "@aws-sdk/middleware-sdk-ec2": "3.39.0",
35
- "@aws-sdk/middleware-serde": "3.38.0",
36
- "@aws-sdk/middleware-signing": "3.39.0",
37
- "@aws-sdk/middleware-stack": "3.38.0",
38
- "@aws-sdk/middleware-user-agent": "3.38.0",
39
- "@aws-sdk/node-config-provider": "3.39.0",
40
- "@aws-sdk/node-http-handler": "3.38.0",
41
- "@aws-sdk/protocol-http": "3.38.0",
42
- "@aws-sdk/smithy-client": "3.38.0",
43
- "@aws-sdk/types": "3.38.0",
44
- "@aws-sdk/url-parser": "3.38.0",
24
+ "@aws-sdk/client-sts": "3.40.0",
25
+ "@aws-sdk/config-resolver": "3.40.0",
26
+ "@aws-sdk/credential-provider-node": "3.40.0",
27
+ "@aws-sdk/fetch-http-handler": "3.40.0",
28
+ "@aws-sdk/hash-node": "3.40.0",
29
+ "@aws-sdk/invalid-dependency": "3.40.0",
30
+ "@aws-sdk/middleware-content-length": "3.40.0",
31
+ "@aws-sdk/middleware-host-header": "3.40.0",
32
+ "@aws-sdk/middleware-logger": "3.40.0",
33
+ "@aws-sdk/middleware-retry": "3.40.0",
34
+ "@aws-sdk/middleware-sdk-ec2": "3.40.0",
35
+ "@aws-sdk/middleware-serde": "3.40.0",
36
+ "@aws-sdk/middleware-signing": "3.40.0",
37
+ "@aws-sdk/middleware-stack": "3.40.0",
38
+ "@aws-sdk/middleware-user-agent": "3.40.0",
39
+ "@aws-sdk/node-config-provider": "3.40.0",
40
+ "@aws-sdk/node-http-handler": "3.40.0",
41
+ "@aws-sdk/protocol-http": "3.40.0",
42
+ "@aws-sdk/smithy-client": "3.40.0",
43
+ "@aws-sdk/types": "3.40.0",
44
+ "@aws-sdk/url-parser": "3.40.0",
45
45
  "@aws-sdk/util-base64-browser": "3.37.0",
46
46
  "@aws-sdk/util-base64-node": "3.37.0",
47
47
  "@aws-sdk/util-body-length-browser": "3.37.0",
48
48
  "@aws-sdk/util-body-length-node": "3.37.0",
49
- "@aws-sdk/util-user-agent-browser": "3.38.0",
50
- "@aws-sdk/util-user-agent-node": "3.39.0",
49
+ "@aws-sdk/util-user-agent-browser": "3.40.0",
50
+ "@aws-sdk/util-user-agent-node": "3.40.0",
51
51
  "@aws-sdk/util-utf8-browser": "3.37.0",
52
52
  "@aws-sdk/util-utf8-node": "3.37.0",
53
- "@aws-sdk/util-waiter": "3.38.0",
53
+ "@aws-sdk/util-waiter": "3.40.0",
54
54
  "entities": "2.2.0",
55
55
  "fast-xml-parser": "3.19.0",
56
56
  "tslib": "^2.3.0",