@aws-sdk/client-ec2 3.484.0 → 3.488.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 (55) hide show
  1. package/dist-cjs/EC2Client.js +17 -4
  2. package/dist-cjs/auth/httpAuthExtensionConfiguration.js +43 -0
  3. package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  4. package/dist-cjs/models/models_0.js +2 -0
  5. package/dist-cjs/runtimeConfig.shared.js +10 -0
  6. package/dist-cjs/runtimeExtensions.js +3 -0
  7. package/dist-es/EC2Client.js +17 -4
  8. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  9. package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  10. package/dist-es/models/models_0.js +2 -0
  11. package/dist-es/runtimeConfig.shared.js +10 -0
  12. package/dist-es/runtimeExtensions.js +3 -0
  13. package/dist-types/EC2Client.d.ts +13 -11
  14. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  15. package/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  16. package/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +2 -2
  17. package/dist-types/commands/CreateFleetCommand.d.ts +4 -4
  18. package/dist-types/commands/CreateLaunchTemplateCommand.d.ts +1 -1
  19. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +2 -2
  20. package/dist-types/commands/DescribeCapacityReservationFleetsCommand.d.ts +1 -1
  21. package/dist-types/commands/DescribeFleetsCommand.d.ts +4 -4
  22. package/dist-types/commands/DescribeInstanceTypeOfferingsCommand.d.ts +1 -1
  23. package/dist-types/commands/DescribeInstanceTypesCommand.d.ts +2 -2
  24. package/dist-types/commands/DescribeInstancesCommand.d.ts +1 -1
  25. package/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +1 -1
  26. package/dist-types/commands/DescribeReservedInstancesCommand.d.ts +1 -1
  27. package/dist-types/commands/DescribeReservedInstancesModificationsCommand.d.ts +1 -1
  28. package/dist-types/commands/DescribeReservedInstancesOfferingsCommand.d.ts +2 -2
  29. package/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +2 -2
  30. package/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +1 -1
  31. package/dist-types/commands/DescribeSpotPriceHistoryCommand.d.ts +2 -2
  32. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +1 -1
  33. package/dist-types/commands/ImportInstanceCommand.d.ts +1 -1
  34. package/dist-types/commands/ModifyFleetCommand.d.ts +1 -1
  35. package/dist-types/commands/ModifyReservedInstancesCommand.d.ts +1 -1
  36. package/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +1 -1
  37. package/dist-types/commands/RequestSpotFleetCommand.d.ts +2 -2
  38. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +2 -2
  39. package/dist-types/commands/RunInstancesCommand.d.ts +2 -2
  40. package/dist-types/extensionConfiguration.d.ts +2 -1
  41. package/dist-types/models/models_0.d.ts +2 -0
  42. package/dist-types/runtimeConfig.browser.d.ts +5 -3
  43. package/dist-types/runtimeConfig.d.ts +5 -3
  44. package/dist-types/runtimeConfig.native.d.ts +6 -4
  45. package/dist-types/runtimeConfig.shared.d.ts +2 -0
  46. package/dist-types/ts3.4/EC2Client.d.ts +11 -9
  47. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  48. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  49. package/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  50. package/dist-types/ts3.4/models/models_0.d.ts +2 -0
  51. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  52. package/dist-types/ts3.4/runtimeConfig.d.ts +5 -5
  53. package/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  54. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  55. package/package.json +36 -36
@@ -4,18 +4,27 @@ exports.EC2Client = exports.__Client = void 0;
4
4
  const middleware_host_header_1 = require("@aws-sdk/middleware-host-header");
5
5
  const middleware_logger_1 = require("@aws-sdk/middleware-logger");
6
6
  const middleware_recursion_detection_1 = require("@aws-sdk/middleware-recursion-detection");
7
- const middleware_signing_1 = require("@aws-sdk/middleware-signing");
8
7
  const middleware_user_agent_1 = require("@aws-sdk/middleware-user-agent");
9
8
  const config_resolver_1 = require("@smithy/config-resolver");
9
+ const core_1 = require("@smithy/core");
10
10
  const middleware_content_length_1 = require("@smithy/middleware-content-length");
11
11
  const middleware_endpoint_1 = require("@smithy/middleware-endpoint");
12
12
  const middleware_retry_1 = require("@smithy/middleware-retry");
13
13
  const smithy_client_1 = require("@smithy/smithy-client");
14
14
  Object.defineProperty(exports, "__Client", { enumerable: true, get: function () { return smithy_client_1.Client; } });
15
+ const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
15
16
  const EndpointParameters_1 = require("./endpoint/EndpointParameters");
16
17
  const runtimeConfig_1 = require("./runtimeConfig");
17
18
  const runtimeExtensions_1 = require("./runtimeExtensions");
18
19
  class EC2Client extends smithy_client_1.Client {
20
+ getDefaultHttpAuthSchemeParametersProvider() {
21
+ return httpAuthSchemeProvider_1.defaultEC2HttpAuthSchemeParametersProvider;
22
+ }
23
+ getIdentityProviderConfigProvider() {
24
+ return async (config) => new core_1.DefaultIdentityProviderConfig({
25
+ "aws.auth#sigv4": config.credentials,
26
+ });
27
+ }
19
28
  constructor(...[configuration]) {
20
29
  const _config_0 = (0, runtimeConfig_1.getRuntimeConfig)(configuration || {});
21
30
  const _config_1 = (0, EndpointParameters_1.resolveClientEndpointParameters)(_config_0);
@@ -23,8 +32,8 @@ class EC2Client extends smithy_client_1.Client {
23
32
  const _config_3 = (0, middleware_endpoint_1.resolveEndpointConfig)(_config_2);
24
33
  const _config_4 = (0, middleware_retry_1.resolveRetryConfig)(_config_3);
25
34
  const _config_5 = (0, middleware_host_header_1.resolveHostHeaderConfig)(_config_4);
26
- const _config_6 = (0, middleware_signing_1.resolveAwsAuthConfig)(_config_5);
27
- const _config_7 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_6);
35
+ const _config_6 = (0, middleware_user_agent_1.resolveUserAgentConfig)(_config_5);
36
+ const _config_7 = (0, httpAuthSchemeProvider_1.resolveHttpAuthSchemeConfig)(_config_6);
28
37
  const _config_8 = (0, runtimeExtensions_1.resolveRuntimeExtensions)(_config_7, configuration?.extensions || []);
29
38
  super(_config_8);
30
39
  this.config = _config_8;
@@ -33,8 +42,12 @@ class EC2Client extends smithy_client_1.Client {
33
42
  this.middlewareStack.use((0, middleware_host_header_1.getHostHeaderPlugin)(this.config));
34
43
  this.middlewareStack.use((0, middleware_logger_1.getLoggerPlugin)(this.config));
35
44
  this.middlewareStack.use((0, middleware_recursion_detection_1.getRecursionDetectionPlugin)(this.config));
36
- this.middlewareStack.use((0, middleware_signing_1.getAwsAuthPlugin)(this.config));
37
45
  this.middlewareStack.use((0, middleware_user_agent_1.getUserAgentPlugin)(this.config));
46
+ this.middlewareStack.use((0, core_1.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
47
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
48
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
49
+ }));
50
+ this.middlewareStack.use((0, core_1.getHttpSigningPlugin)(this.config));
38
51
  }
39
52
  destroy() {
40
53
  super.destroy();
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthRuntimeConfig = exports.getHttpAuthExtensionConfiguration = void 0;
4
+ const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
5
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
6
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
7
+ let _credentials = runtimeConfig.credentials;
8
+ return {
9
+ setHttpAuthScheme(httpAuthScheme) {
10
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
11
+ if (index === -1) {
12
+ _httpAuthSchemes.push(httpAuthScheme);
13
+ }
14
+ else {
15
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
16
+ }
17
+ },
18
+ httpAuthSchemes() {
19
+ return _httpAuthSchemes;
20
+ },
21
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
22
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
23
+ },
24
+ httpAuthSchemeProvider() {
25
+ return _httpAuthSchemeProvider;
26
+ },
27
+ setCredentials(credentials) {
28
+ _credentials = credentials;
29
+ },
30
+ credentials() {
31
+ return _credentials;
32
+ },
33
+ };
34
+ };
35
+ exports.getHttpAuthExtensionConfiguration = getHttpAuthExtensionConfiguration;
36
+ const resolveHttpAuthRuntimeConfig = (config) => {
37
+ return {
38
+ httpAuthSchemes: config.httpAuthSchemes(),
39
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
40
+ credentials: config.credentials(),
41
+ };
42
+ };
43
+ exports.resolveHttpAuthRuntimeConfig = resolveHttpAuthRuntimeConfig;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthSchemeConfig = exports.defaultEC2HttpAuthSchemeProvider = exports.defaultEC2HttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultEC2HttpAuthSchemeParametersProvider = async (config, context, input) => {
7
+ return {
8
+ operation: (0, util_middleware_1.getSmithyContext)(context).operation,
9
+ region: (await (0, util_middleware_1.normalizeProvider)(config.region)()) ||
10
+ (() => {
11
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
12
+ })(),
13
+ };
14
+ };
15
+ exports.defaultEC2HttpAuthSchemeParametersProvider = defaultEC2HttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "ec2",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ const defaultEC2HttpAuthSchemeProvider = (authParameters) => {
32
+ const options = [];
33
+ switch (authParameters.operation) {
34
+ default: {
35
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
36
+ }
37
+ }
38
+ return options;
39
+ };
40
+ exports.defaultEC2HttpAuthSchemeProvider = defaultEC2HttpAuthSchemeProvider;
41
+ const resolveHttpAuthSchemeConfig = (config) => {
42
+ const config_0 = (0, core_1.resolveAWSSDKSigV4Config)(config);
43
+ return {
44
+ ...config_0,
45
+ };
46
+ };
47
+ exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
@@ -1199,6 +1199,8 @@ exports._InstanceType = {
1199
1199
  r7iz_4xlarge: "r7iz.4xlarge",
1200
1200
  r7iz_8xlarge: "r7iz.8xlarge",
1201
1201
  r7iz_large: "r7iz.large",
1202
+ r7iz_metal_16xl: "r7iz.metal-16xl",
1203
+ r7iz_metal_32xl: "r7iz.metal-32xl",
1202
1204
  r7iz_xlarge: "r7iz.xlarge",
1203
1205
  t1_micro: "t1.micro",
1204
1206
  t2_2xlarge: "t2.2xlarge",
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRuntimeConfig = void 0;
4
+ const core_1 = require("@aws-sdk/core");
4
5
  const smithy_client_1 = require("@smithy/smithy-client");
5
6
  const url_parser_1 = require("@smithy/url-parser");
6
7
  const util_base64_1 = require("@smithy/util-base64");
7
8
  const util_utf8_1 = require("@smithy/util-utf8");
9
+ const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
8
10
  const endpointResolver_1 = require("./endpoint/endpointResolver");
9
11
  const getRuntimeConfig = (config) => {
10
12
  return {
@@ -14,6 +16,14 @@ const getRuntimeConfig = (config) => {
14
16
  disableHostPrefix: config?.disableHostPrefix ?? false,
15
17
  endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
16
18
  extensions: config?.extensions ?? [],
19
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultEC2HttpAuthSchemeProvider,
20
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
21
+ {
22
+ schemeId: "aws.auth#sigv4",
23
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
24
+ signer: new core_1.AWSSDKSigV4Signer(),
25
+ },
26
+ ],
17
27
  logger: config?.logger ?? new smithy_client_1.NoOpLogger(),
18
28
  serviceId: config?.serviceId ?? "EC2",
19
29
  urlParser: config?.urlParser ?? url_parser_1.parseUrl,
@@ -4,12 +4,14 @@ exports.resolveRuntimeExtensions = void 0;
4
4
  const region_config_resolver_1 = require("@aws-sdk/region-config-resolver");
5
5
  const protocol_http_1 = require("@smithy/protocol-http");
6
6
  const smithy_client_1 = require("@smithy/smithy-client");
7
+ const httpAuthExtensionConfiguration_1 = require("./auth/httpAuthExtensionConfiguration");
7
8
  const asPartial = (t) => t;
8
9
  const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
9
10
  const extensionConfiguration = {
10
11
  ...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)),
11
12
  ...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)),
12
13
  ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
14
+ ...asPartial((0, httpAuthExtensionConfiguration_1.getHttpAuthExtensionConfiguration)(runtimeConfig)),
13
15
  };
14
16
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
15
17
  return {
@@ -17,6 +19,7 @@ const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
17
19
  ...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
18
20
  ...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration),
19
21
  ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
22
+ ...(0, httpAuthExtensionConfiguration_1.resolveHttpAuthRuntimeConfig)(extensionConfiguration),
20
23
  };
21
24
  };
22
25
  exports.resolveRuntimeExtensions = resolveRuntimeExtensions;
@@ -1,18 +1,27 @@
1
1
  import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middleware-host-header";
2
2
  import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
3
3
  import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
4
- import { getAwsAuthPlugin, resolveAwsAuthConfig, } from "@aws-sdk/middleware-signing";
5
4
  import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
6
5
  import { resolveRegionConfig } from "@smithy/config-resolver";
6
+ import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core";
7
7
  import { getContentLengthPlugin } from "@smithy/middleware-content-length";
8
8
  import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
9
9
  import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
10
10
  import { Client as __Client, } from "@smithy/smithy-client";
11
+ import { defaultEC2HttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider";
11
12
  import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
12
13
  import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
13
14
  import { resolveRuntimeExtensions } from "./runtimeExtensions";
14
15
  export { __Client };
15
16
  export class EC2Client extends __Client {
17
+ getDefaultHttpAuthSchemeParametersProvider() {
18
+ return defaultEC2HttpAuthSchemeParametersProvider;
19
+ }
20
+ getIdentityProviderConfigProvider() {
21
+ return async (config) => new DefaultIdentityProviderConfig({
22
+ "aws.auth#sigv4": config.credentials,
23
+ });
24
+ }
16
25
  constructor(...[configuration]) {
17
26
  const _config_0 = __getRuntimeConfig(configuration || {});
18
27
  const _config_1 = resolveClientEndpointParameters(_config_0);
@@ -20,8 +29,8 @@ export class EC2Client extends __Client {
20
29
  const _config_3 = resolveEndpointConfig(_config_2);
21
30
  const _config_4 = resolveRetryConfig(_config_3);
22
31
  const _config_5 = resolveHostHeaderConfig(_config_4);
23
- const _config_6 = resolveAwsAuthConfig(_config_5);
24
- const _config_7 = resolveUserAgentConfig(_config_6);
32
+ const _config_6 = resolveUserAgentConfig(_config_5);
33
+ const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
25
34
  const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
26
35
  super(_config_8);
27
36
  this.config = _config_8;
@@ -30,8 +39,12 @@ export class EC2Client extends __Client {
30
39
  this.middlewareStack.use(getHostHeaderPlugin(this.config));
31
40
  this.middlewareStack.use(getLoggerPlugin(this.config));
32
41
  this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
33
- this.middlewareStack.use(getAwsAuthPlugin(this.config));
34
42
  this.middlewareStack.use(getUserAgentPlugin(this.config));
43
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
44
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
45
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
46
+ }));
47
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
35
48
  }
36
49
  destroy() {
37
50
  super.destroy();
@@ -0,0 +1,38 @@
1
+ export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
2
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
3
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
4
+ let _credentials = runtimeConfig.credentials;
5
+ return {
6
+ setHttpAuthScheme(httpAuthScheme) {
7
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
8
+ if (index === -1) {
9
+ _httpAuthSchemes.push(httpAuthScheme);
10
+ }
11
+ else {
12
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
13
+ }
14
+ },
15
+ httpAuthSchemes() {
16
+ return _httpAuthSchemes;
17
+ },
18
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
19
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
20
+ },
21
+ httpAuthSchemeProvider() {
22
+ return _httpAuthSchemeProvider;
23
+ },
24
+ setCredentials(credentials) {
25
+ _credentials = credentials;
26
+ },
27
+ credentials() {
28
+ return _credentials;
29
+ },
30
+ };
31
+ };
32
+ export const resolveHttpAuthRuntimeConfig = (config) => {
33
+ return {
34
+ httpAuthSchemes: config.httpAuthSchemes(),
35
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
36
+ credentials: config.credentials(),
37
+ };
38
+ };
@@ -0,0 +1,41 @@
1
+ import { resolveAWSSDKSigV4Config, } from "@aws-sdk/core";
2
+ import { getSmithyContext, normalizeProvider } from "@smithy/util-middleware";
3
+ export const defaultEC2HttpAuthSchemeParametersProvider = async (config, context, input) => {
4
+ return {
5
+ operation: getSmithyContext(context).operation,
6
+ region: (await normalizeProvider(config.region)()) ||
7
+ (() => {
8
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
9
+ })(),
10
+ };
11
+ };
12
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
13
+ return {
14
+ schemeId: "aws.auth#sigv4",
15
+ signingProperties: {
16
+ name: "ec2",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultEC2HttpAuthSchemeProvider = (authParameters) => {
28
+ const options = [];
29
+ switch (authParameters.operation) {
30
+ default: {
31
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
32
+ }
33
+ }
34
+ return options;
35
+ };
36
+ export const resolveHttpAuthSchemeConfig = (config) => {
37
+ const config_0 = resolveAWSSDKSigV4Config(config);
38
+ return {
39
+ ...config_0,
40
+ };
41
+ };
@@ -1195,6 +1195,8 @@ export const _InstanceType = {
1195
1195
  r7iz_4xlarge: "r7iz.4xlarge",
1196
1196
  r7iz_8xlarge: "r7iz.8xlarge",
1197
1197
  r7iz_large: "r7iz.large",
1198
+ r7iz_metal_16xl: "r7iz.metal-16xl",
1199
+ r7iz_metal_32xl: "r7iz.metal-32xl",
1198
1200
  r7iz_xlarge: "r7iz.xlarge",
1199
1201
  t1_micro: "t1.micro",
1200
1202
  t2_2xlarge: "t2.2xlarge",
@@ -1,7 +1,9 @@
1
+ import { AWSSDKSigV4Signer } from "@aws-sdk/core";
1
2
  import { NoOpLogger } from "@smithy/smithy-client";
2
3
  import { parseUrl } from "@smithy/url-parser";
3
4
  import { fromBase64, toBase64 } from "@smithy/util-base64";
4
5
  import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
6
+ import { defaultEC2HttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider";
5
7
  import { defaultEndpointResolver } from "./endpoint/endpointResolver";
6
8
  export const getRuntimeConfig = (config) => {
7
9
  return {
@@ -11,6 +13,14 @@ export const getRuntimeConfig = (config) => {
11
13
  disableHostPrefix: config?.disableHostPrefix ?? false,
12
14
  endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
13
15
  extensions: config?.extensions ?? [],
16
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultEC2HttpAuthSchemeProvider,
17
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
18
+ {
19
+ schemeId: "aws.auth#sigv4",
20
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
21
+ signer: new AWSSDKSigV4Signer(),
22
+ },
23
+ ],
14
24
  logger: config?.logger ?? new NoOpLogger(),
15
25
  serviceId: config?.serviceId ?? "EC2",
16
26
  urlParser: config?.urlParser ?? parseUrl,
@@ -1,12 +1,14 @@
1
1
  import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
2
2
  import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
3
3
  import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
4
+ import { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from "./auth/httpAuthExtensionConfiguration";
4
5
  const asPartial = (t) => t;
5
6
  export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
6
7
  const extensionConfiguration = {
7
8
  ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
8
9
  ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
9
10
  ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
11
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),
10
12
  };
11
13
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
12
14
  return {
@@ -14,5 +16,6 @@ export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
14
16
  ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
15
17
  ...resolveDefaultRuntimeConfig(extensionConfiguration),
16
18
  ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
19
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration),
17
20
  };
18
21
  };
@@ -1,13 +1,12 @@
1
1
  import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header";
2
- import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
3
2
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
4
- import { Credentials as __Credentials } from "@aws-sdk/types";
5
3
  import { RegionInputConfig, RegionResolvedConfig } from "@smithy/config-resolver";
6
4
  import { EndpointInputConfig, EndpointResolvedConfig } from "@smithy/middleware-endpoint";
7
5
  import { RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
8
6
  import { HttpHandler as __HttpHandler } from "@smithy/protocol-http";
9
7
  import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client";
10
- import { BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
8
+ import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
9
+ import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
11
10
  import { AcceptAddressTransferCommandInput, AcceptAddressTransferCommandOutput } from "./commands/AcceptAddressTransferCommand";
12
11
  import { AcceptReservedInstancesExchangeQuoteCommandInput, AcceptReservedInstancesExchangeQuoteCommandOutput } from "./commands/AcceptReservedInstancesExchangeQuoteCommand";
13
12
  import { AcceptTransitGatewayMulticastDomainAssociationsCommandInput, AcceptTransitGatewayMulticastDomainAssociationsCommandOutput } from "./commands/AcceptTransitGatewayMulticastDomainAssociationsCommand";
@@ -706,20 +705,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
706
705
  * Enables FIPS compatible endpoints.
707
706
  */
708
707
  useFipsEndpoint?: boolean | __Provider<boolean>;
708
+ /**
709
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
710
+ * @internal
711
+ */
712
+ defaultUserAgentProvider?: Provider<__UserAgent>;
709
713
  /**
710
714
  * The AWS region to which this client will send requests
711
715
  */
712
716
  region?: string | __Provider<string>;
713
717
  /**
714
718
  * Default credentials provider; Not available in browser runtime.
719
+ * @deprecated
715
720
  * @internal
716
721
  */
717
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
718
- /**
719
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
720
- * @internal
721
- */
722
- defaultUserAgentProvider?: Provider<__UserAgent>;
722
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
723
723
  /**
724
724
  * Value for how many times a request will be made at most in case of retry.
725
725
  */
@@ -746,7 +746,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
746
746
  /**
747
747
  * @public
748
748
  */
749
- export type EC2ClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
749
+ export type EC2ClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
750
750
  /**
751
751
  * @public
752
752
  *
@@ -757,7 +757,7 @@ export interface EC2ClientConfig extends EC2ClientConfigType {
757
757
  /**
758
758
  * @public
759
759
  */
760
- export type EC2ClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
760
+ export type EC2ClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
761
761
  /**
762
762
  * @public
763
763
  *
@@ -799,6 +799,8 @@ export declare class EC2Client extends __Client<__HttpHandlerOptions, ServiceInp
799
799
  * The resolved configuration of EC2Client class. This is resolved and normalized from the {@link EC2ClientConfig | constructor configuration interface}.
800
800
  */
801
801
  readonly config: EC2ClientResolvedConfig;
802
+ private getDefaultHttpAuthSchemeParametersProvider;
803
+ private getIdentityProviderConfigProvider;
802
804
  constructor(...[configuration]: __CheckOptionalClientConfig<EC2ClientConfig>);
803
805
  /**
804
806
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { EC2HttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: EC2HttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): EC2HttpAuthSchemeProvider;
11
+ setCredentials(credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider): void;
12
+ credentials(): AwsCredentialIdentity | AwsCredentialIdentityProvider | undefined;
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ export type HttpAuthRuntimeConfig = Partial<{
18
+ httpAuthSchemes: HttpAuthScheme[];
19
+ httpAuthSchemeProvider: EC2HttpAuthSchemeProvider;
20
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
21
+ }>;
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare const getHttpAuthExtensionConfiguration: (runtimeConfig: HttpAuthRuntimeConfig) => HttpAuthExtensionConfiguration;
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare const resolveHttpAuthRuntimeConfig: (config: HttpAuthExtensionConfiguration) => HttpAuthRuntimeConfig;
@@ -0,0 +1,61 @@
1
+ import { AWSSDKSigV4AuthInputConfig, AWSSDKSigV4AuthResolvedConfig, AWSSDKSigV4PreviouslyResolved } from "@aws-sdk/core";
2
+ import { HandlerExecutionContext, HttpAuthScheme, HttpAuthSchemeParameters, HttpAuthSchemeParametersProvider, HttpAuthSchemeProvider } from "@smithy/types";
3
+ import { EC2ClientResolvedConfig } from "../EC2Client";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface EC2HttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface EC2HttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<EC2ClientResolvedConfig, HandlerExecutionContext, EC2HttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultEC2HttpAuthSchemeParametersProvider: (config: EC2ClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<EC2HttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface EC2HttpAuthSchemeProvider extends HttpAuthSchemeProvider<EC2HttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultEC2HttpAuthSchemeProvider: EC2HttpAuthSchemeProvider;
28
+ /**
29
+ * @internal
30
+ */
31
+ export interface HttpAuthSchemeInputConfig extends AWSSDKSigV4AuthInputConfig {
32
+ /**
33
+ * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
34
+ * @internal
35
+ */
36
+ httpAuthSchemes?: HttpAuthScheme[];
37
+ /**
38
+ * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
39
+ * @internal
40
+ */
41
+ httpAuthSchemeProvider?: EC2HttpAuthSchemeProvider;
42
+ }
43
+ /**
44
+ * @internal
45
+ */
46
+ export interface HttpAuthSchemeResolvedConfig extends AWSSDKSigV4AuthResolvedConfig {
47
+ /**
48
+ * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
49
+ * @internal
50
+ */
51
+ readonly httpAuthSchemes: HttpAuthScheme[];
52
+ /**
53
+ * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
54
+ * @internal
55
+ */
56
+ readonly httpAuthSchemeProvider: EC2HttpAuthSchemeProvider;
57
+ }
58
+ /**
59
+ * @internal
60
+ */
61
+ export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AWSSDKSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;