@aws-sdk/client-emr 3.509.0 → 3.513.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.
@@ -0,0 +1 @@
1
+ module.exports = require("../index.js");
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthSchemeConfig = exports.defaultEMRHttpAuthSchemeProvider = exports.defaultEMRHttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultEMRHttpAuthSchemeParametersProvider = 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.defaultEMRHttpAuthSchemeParametersProvider = defaultEMRHttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "elasticmapreduce",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ const defaultEMRHttpAuthSchemeProvider = (authParameters) => {
32
+ const options = [];
33
+ switch (authParameters.operation) {
34
+ default: {
35
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
36
+ }
37
+ }
38
+ return options;
39
+ };
40
+ exports.defaultEMRHttpAuthSchemeProvider = defaultEMRHttpAuthSchemeProvider;
41
+ const resolveHttpAuthSchemeConfig = (config) => {
42
+ const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);
43
+ return {
44
+ ...config_0,
45
+ };
46
+ };
47
+ exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
package/dist-cjs/index.js CHANGED
@@ -154,13 +154,14 @@ module.exports = __toCommonJS(src_exports);
154
154
  var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
155
155
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
156
156
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
157
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
158
157
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
159
158
  var import_config_resolver = require("@smithy/config-resolver");
159
+ var import_core = require("@smithy/core");
160
160
  var import_middleware_content_length = require("@smithy/middleware-content-length");
161
161
  var import_middleware_endpoint = require("@smithy/middleware-endpoint");
162
162
  var import_middleware_retry = require("@smithy/middleware-retry");
163
163
 
164
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
164
165
 
165
166
  // src/endpoint/EndpointParameters.ts
166
167
  var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
@@ -185,19 +186,62 @@ var import_runtimeConfig = require("././runtimeConfig");
185
186
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
186
187
  var import_protocol_http = require("@smithy/protocol-http");
187
188
  var import_smithy_client = require("@smithy/smithy-client");
189
+
190
+ // src/auth/httpAuthExtensionConfiguration.ts
191
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
192
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
193
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
194
+ let _credentials = runtimeConfig.credentials;
195
+ return {
196
+ setHttpAuthScheme(httpAuthScheme) {
197
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
198
+ if (index === -1) {
199
+ _httpAuthSchemes.push(httpAuthScheme);
200
+ } else {
201
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
202
+ }
203
+ },
204
+ httpAuthSchemes() {
205
+ return _httpAuthSchemes;
206
+ },
207
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
208
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
209
+ },
210
+ httpAuthSchemeProvider() {
211
+ return _httpAuthSchemeProvider;
212
+ },
213
+ setCredentials(credentials) {
214
+ _credentials = credentials;
215
+ },
216
+ credentials() {
217
+ return _credentials;
218
+ }
219
+ };
220
+ }, "getHttpAuthExtensionConfiguration");
221
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
222
+ return {
223
+ httpAuthSchemes: config.httpAuthSchemes(),
224
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
225
+ credentials: config.credentials()
226
+ };
227
+ }, "resolveHttpAuthRuntimeConfig");
228
+
229
+ // src/runtimeExtensions.ts
188
230
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
189
231
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
190
232
  const extensionConfiguration = {
191
233
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
192
234
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
193
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
235
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
236
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
194
237
  };
195
238
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
196
239
  return {
197
240
  ...runtimeConfig,
198
241
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
199
242
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
200
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
243
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
244
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
201
245
  };
202
246
  }, "resolveRuntimeExtensions");
203
247
 
@@ -210,8 +254,8 @@ var _EMRClient = class _EMRClient extends import_smithy_client.Client {
210
254
  const _config_3 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_2);
211
255
  const _config_4 = (0, import_middleware_retry.resolveRetryConfig)(_config_3);
212
256
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
213
- const _config_6 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_5);
214
- const _config_7 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_6);
257
+ const _config_6 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_5);
258
+ const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6);
215
259
  const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []);
216
260
  super(_config_8);
217
261
  this.config = _config_8;
@@ -220,8 +264,14 @@ var _EMRClient = class _EMRClient extends import_smithy_client.Client {
220
264
  this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config));
221
265
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
222
266
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
223
- this.middlewareStack.use((0, import_middleware_signing.getAwsAuthPlugin)(this.config));
224
267
  this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config));
268
+ this.middlewareStack.use(
269
+ (0, import_core.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
270
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
271
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider()
272
+ })
273
+ );
274
+ this.middlewareStack.use((0, import_core.getHttpSigningPlugin)(this.config));
225
275
  }
226
276
  /**
227
277
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -231,6 +281,14 @@ var _EMRClient = class _EMRClient extends import_smithy_client.Client {
231
281
  destroy() {
232
282
  super.destroy();
233
283
  }
284
+ getDefaultHttpAuthSchemeParametersProvider() {
285
+ return import_httpAuthSchemeProvider.defaultEMRHttpAuthSchemeParametersProvider;
286
+ }
287
+ getIdentityProviderConfigProvider() {
288
+ return async (config) => new import_core.DefaultIdentityProviderConfig({
289
+ "aws.auth#sigv4": config.credentials
290
+ });
291
+ }
234
292
  };
235
293
  __name(_EMRClient, "EMRClient");
236
294
  var EMRClient = _EMRClient;
@@ -245,7 +303,7 @@ var import_middleware_serde = require("@smithy/middleware-serde");
245
303
  var import_types = require("@smithy/types");
246
304
 
247
305
  // src/protocols/Aws_json1_1.ts
248
- var import_core = require("@aws-sdk/core");
306
+ var import_core2 = require("@aws-sdk/core");
249
307
 
250
308
 
251
309
 
@@ -2069,7 +2127,7 @@ var de_GetBlockPublicAccessConfigurationOutput = /* @__PURE__ */ __name((output,
2069
2127
  }, "de_GetBlockPublicAccessConfigurationOutput");
2070
2128
  var de_GetClusterSessionCredentialsOutput = /* @__PURE__ */ __name((output, context) => {
2071
2129
  return (0, import_smithy_client.take)(output, {
2072
- Credentials: (_) => (0, import_smithy_client._json)((0, import_core.awsExpectUnion)(_)),
2130
+ Credentials: (_) => (0, import_smithy_client._json)((0, import_core2.awsExpectUnion)(_)),
2073
2131
  ExpiresAt: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_)))
2074
2132
  });
2075
2133
  }, "de_GetClusterSessionCredentialsOutput");
@@ -3645,52 +3703,52 @@ var EMR = _EMR;
3645
3703
  (0, import_smithy_client.createAggregatedClient)(commands, EMR);
3646
3704
 
3647
3705
  // src/pagination/ListBootstrapActionsPaginator.ts
3648
- var import_core2 = require("@smithy/core");
3649
- var paginateListBootstrapActions = (0, import_core2.createPaginator)(EMRClient, ListBootstrapActionsCommand, "Marker", "Marker", "");
3706
+
3707
+ var paginateListBootstrapActions = (0, import_core.createPaginator)(EMRClient, ListBootstrapActionsCommand, "Marker", "Marker", "");
3650
3708
 
3651
3709
  // src/pagination/ListClustersPaginator.ts
3652
- var import_core3 = require("@smithy/core");
3653
- var paginateListClusters = (0, import_core3.createPaginator)(EMRClient, ListClustersCommand, "Marker", "Marker", "");
3710
+
3711
+ var paginateListClusters = (0, import_core.createPaginator)(EMRClient, ListClustersCommand, "Marker", "Marker", "");
3654
3712
 
3655
3713
  // src/pagination/ListInstanceFleetsPaginator.ts
3656
- var import_core4 = require("@smithy/core");
3657
- var paginateListInstanceFleets = (0, import_core4.createPaginator)(EMRClient, ListInstanceFleetsCommand, "Marker", "Marker", "");
3714
+
3715
+ var paginateListInstanceFleets = (0, import_core.createPaginator)(EMRClient, ListInstanceFleetsCommand, "Marker", "Marker", "");
3658
3716
 
3659
3717
  // src/pagination/ListInstanceGroupsPaginator.ts
3660
- var import_core5 = require("@smithy/core");
3661
- var paginateListInstanceGroups = (0, import_core5.createPaginator)(EMRClient, ListInstanceGroupsCommand, "Marker", "Marker", "");
3718
+
3719
+ var paginateListInstanceGroups = (0, import_core.createPaginator)(EMRClient, ListInstanceGroupsCommand, "Marker", "Marker", "");
3662
3720
 
3663
3721
  // src/pagination/ListInstancesPaginator.ts
3664
- var import_core6 = require("@smithy/core");
3665
- var paginateListInstances = (0, import_core6.createPaginator)(EMRClient, ListInstancesCommand, "Marker", "Marker", "");
3722
+
3723
+ var paginateListInstances = (0, import_core.createPaginator)(EMRClient, ListInstancesCommand, "Marker", "Marker", "");
3666
3724
 
3667
3725
  // src/pagination/ListNotebookExecutionsPaginator.ts
3668
- var import_core7 = require("@smithy/core");
3669
- var paginateListNotebookExecutions = (0, import_core7.createPaginator)(EMRClient, ListNotebookExecutionsCommand, "Marker", "Marker", "");
3726
+
3727
+ var paginateListNotebookExecutions = (0, import_core.createPaginator)(EMRClient, ListNotebookExecutionsCommand, "Marker", "Marker", "");
3670
3728
 
3671
3729
  // src/pagination/ListReleaseLabelsPaginator.ts
3672
- var import_core8 = require("@smithy/core");
3673
- var paginateListReleaseLabels = (0, import_core8.createPaginator)(EMRClient, ListReleaseLabelsCommand, "NextToken", "NextToken", "MaxResults");
3730
+
3731
+ var paginateListReleaseLabels = (0, import_core.createPaginator)(EMRClient, ListReleaseLabelsCommand, "NextToken", "NextToken", "MaxResults");
3674
3732
 
3675
3733
  // src/pagination/ListSecurityConfigurationsPaginator.ts
3676
- var import_core9 = require("@smithy/core");
3677
- var paginateListSecurityConfigurations = (0, import_core9.createPaginator)(EMRClient, ListSecurityConfigurationsCommand, "Marker", "Marker", "");
3734
+
3735
+ var paginateListSecurityConfigurations = (0, import_core.createPaginator)(EMRClient, ListSecurityConfigurationsCommand, "Marker", "Marker", "");
3678
3736
 
3679
3737
  // src/pagination/ListStepsPaginator.ts
3680
- var import_core10 = require("@smithy/core");
3681
- var paginateListSteps = (0, import_core10.createPaginator)(EMRClient, ListStepsCommand, "Marker", "Marker", "");
3738
+
3739
+ var paginateListSteps = (0, import_core.createPaginator)(EMRClient, ListStepsCommand, "Marker", "Marker", "");
3682
3740
 
3683
3741
  // src/pagination/ListStudioSessionMappingsPaginator.ts
3684
- var import_core11 = require("@smithy/core");
3685
- var paginateListStudioSessionMappings = (0, import_core11.createPaginator)(EMRClient, ListStudioSessionMappingsCommand, "Marker", "Marker", "");
3742
+
3743
+ var paginateListStudioSessionMappings = (0, import_core.createPaginator)(EMRClient, ListStudioSessionMappingsCommand, "Marker", "Marker", "");
3686
3744
 
3687
3745
  // src/pagination/ListStudiosPaginator.ts
3688
- var import_core12 = require("@smithy/core");
3689
- var paginateListStudios = (0, import_core12.createPaginator)(EMRClient, ListStudiosCommand, "Marker", "Marker", "");
3746
+
3747
+ var paginateListStudios = (0, import_core.createPaginator)(EMRClient, ListStudiosCommand, "Marker", "Marker", "");
3690
3748
 
3691
3749
  // src/pagination/ListSupportedInstanceTypesPaginator.ts
3692
- var import_core13 = require("@smithy/core");
3693
- var paginateListSupportedInstanceTypes = (0, import_core13.createPaginator)(EMRClient, ListSupportedInstanceTypesCommand, "Marker", "Marker", "");
3750
+
3751
+ var paginateListSupportedInstanceTypes = (0, import_core.createPaginator)(EMRClient, ListSupportedInstanceTypesCommand, "Marker", "Marker", "");
3694
3752
 
3695
3753
  // src/waiters/waitForClusterRunning.ts
3696
3754
  var import_util_waiter = require("@smithy/util-waiter");
@@ -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.defaultEMRHttpAuthSchemeProvider,
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 ?? "EMR",
19
29
  urlParser: config?.urlParser ?? url_parser_1.parseUrl,
@@ -1,13 +1,14 @@
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 { defaultEMRHttpAuthSchemeParametersProvider, 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";
@@ -20,8 +21,8 @@ export class EMRClient extends __Client {
20
21
  const _config_3 = resolveEndpointConfig(_config_2);
21
22
  const _config_4 = resolveRetryConfig(_config_3);
22
23
  const _config_5 = resolveHostHeaderConfig(_config_4);
23
- const _config_6 = resolveAwsAuthConfig(_config_5);
24
- const _config_7 = resolveUserAgentConfig(_config_6);
24
+ const _config_6 = resolveUserAgentConfig(_config_5);
25
+ const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
25
26
  const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
26
27
  super(_config_8);
27
28
  this.config = _config_8;
@@ -30,10 +31,22 @@ export class EMRClient extends __Client {
30
31
  this.middlewareStack.use(getHostHeaderPlugin(this.config));
31
32
  this.middlewareStack.use(getLoggerPlugin(this.config));
32
33
  this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
33
- this.middlewareStack.use(getAwsAuthPlugin(this.config));
34
34
  this.middlewareStack.use(getUserAgentPlugin(this.config));
35
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
36
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
37
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
38
+ }));
39
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
35
40
  }
36
41
  destroy() {
37
42
  super.destroy();
38
43
  }
44
+ getDefaultHttpAuthSchemeParametersProvider() {
45
+ return defaultEMRHttpAuthSchemeParametersProvider;
46
+ }
47
+ getIdentityProviderConfigProvider() {
48
+ return async (config) => new DefaultIdentityProviderConfig({
49
+ "aws.auth#sigv4": config.credentials,
50
+ });
51
+ }
39
52
  }
@@ -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 defaultEMRHttpAuthSchemeParametersProvider = 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: "elasticmapreduce",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultEMRHttpAuthSchemeProvider = (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
+ };
@@ -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 { defaultEMRHttpAuthSchemeProvider } 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 ?? defaultEMRHttpAuthSchemeProvider,
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 ?? "EMR",
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 { AddInstanceFleetCommandInput, AddInstanceFleetCommandOutput } from "./commands/AddInstanceFleetCommand";
12
11
  import { AddInstanceGroupsCommandInput, AddInstanceGroupsCommandOutput } from "./commands/AddInstanceGroupsCommand";
13
12
  import { AddJobFlowStepsCommandInput, AddJobFlowStepsCommandOutput } from "./commands/AddJobFlowStepsCommand";
@@ -146,20 +145,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
146
145
  * Enables FIPS compatible endpoints.
147
146
  */
148
147
  useFipsEndpoint?: boolean | __Provider<boolean>;
148
+ /**
149
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
150
+ * @internal
151
+ */
152
+ defaultUserAgentProvider?: Provider<__UserAgent>;
149
153
  /**
150
154
  * The AWS region to which this client will send requests
151
155
  */
152
156
  region?: string | __Provider<string>;
153
157
  /**
154
158
  * Default credentials provider; Not available in browser runtime.
159
+ * @deprecated
155
160
  * @internal
156
161
  */
157
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
158
- /**
159
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
160
- * @internal
161
- */
162
- defaultUserAgentProvider?: Provider<__UserAgent>;
162
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
163
163
  /**
164
164
  * Value for how many times a request will be made at most in case of retry.
165
165
  */
@@ -186,7 +186,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
186
186
  /**
187
187
  * @public
188
188
  */
189
- export type EMRClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
189
+ export type EMRClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
190
190
  /**
191
191
  * @public
192
192
  *
@@ -197,7 +197,7 @@ export interface EMRClientConfig extends EMRClientConfigType {
197
197
  /**
198
198
  * @public
199
199
  */
200
- export type EMRClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
200
+ export type EMRClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
201
201
  /**
202
202
  * @public
203
203
  *
@@ -223,4 +223,6 @@ export declare class EMRClient extends __Client<__HttpHandlerOptions, ServiceInp
223
223
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
224
224
  */
225
225
  destroy(): void;
226
+ private getDefaultHttpAuthSchemeParametersProvider;
227
+ private getIdentityProviderConfigProvider;
226
228
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { EMRHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: EMRHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): EMRHttpAuthSchemeProvider;
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: EMRHttpAuthSchemeProvider;
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 { EMRClientResolvedConfig } from "../EMRClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface EMRHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface EMRHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<EMRClientResolvedConfig, HandlerExecutionContext, EMRHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultEMRHttpAuthSchemeParametersProvider: (config: EMRClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<EMRHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface EMRHttpAuthSchemeProvider extends HttpAuthSchemeProvider<EMRHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultEMRHttpAuthSchemeProvider: EMRHttpAuthSchemeProvider;
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?: EMRHttpAuthSchemeProvider;
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: EMRHttpAuthSchemeProvider;
57
+ }
58
+ /**
59
+ * @internal
60
+ */
61
+ export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;
@@ -1,8 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  /**
5
6
  * @internal
6
7
  */
7
- export interface EMRExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface EMRExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
7
7
  runtime: string;
8
8
  defaultsMode: import("@smithy/types").Provider<import("@smithy/smithy-client").ResolvedDefaultsMode>;
9
9
  bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
10
- credentialDefaultProvider: (input: any) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
10
+ credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
11
11
  defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
12
12
  maxAttempts: number | import("@smithy/types").Provider<number>;
13
13
  region: string | import("@smithy/types").Provider<any>;
@@ -36,11 +36,13 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
36
36
  }) => import("@smithy/types").EndpointV2;
37
37
  tls?: boolean | undefined;
38
38
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
39
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
39
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
40
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
41
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
42
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
40
43
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
41
44
  signingEscapePath?: boolean | undefined;
42
45
  systemClockOffset?: number | undefined;
43
46
  signingRegion?: string | undefined;
44
47
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
45
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
46
48
  };
@@ -36,11 +36,13 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
36
36
  }) => import("@smithy/types").EndpointV2;
37
37
  tls?: boolean | undefined;
38
38
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
39
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
39
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
40
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
41
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
42
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
40
43
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
41
44
  signingEscapePath?: boolean | undefined;
42
45
  systemClockOffset?: number | undefined;
43
46
  signingRegion?: string | undefined;
44
47
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
45
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
46
48
  };
@@ -21,9 +21,9 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
21
21
  serviceId: string;
22
22
  useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
23
23
  useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
24
- region: string | import("@smithy/types").Provider<any>;
25
- credentialDefaultProvider: (input: any) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
26
24
  defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
25
+ region: string | import("@smithy/types").Provider<any>;
26
+ credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
27
27
  maxAttempts: number | import("@smithy/types").Provider<number>;
28
28
  retryMode: string | import("@smithy/types").Provider<string>;
29
29
  logger: import("@smithy/types").Logger;
@@ -35,11 +35,13 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
35
35
  }) => import("@smithy/types").EndpointV2;
36
36
  tls?: boolean | undefined;
37
37
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
38
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
38
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
39
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
40
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
41
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
39
42
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
40
43
  signingEscapePath?: boolean | undefined;
41
44
  systemClockOffset?: number | undefined;
42
45
  signingRegion?: string | undefined;
43
46
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
44
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
45
47
  };
@@ -11,6 +11,8 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
11
11
  logger?: import("@smithy/types").Logger | undefined;
12
12
  }) => import("@smithy/types").EndpointV2;
13
13
  extensions: import("./runtimeExtensions").RuntimeExtension[];
14
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
15
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
14
16
  logger: import("@smithy/types").Logger;
15
17
  serviceId: string;
16
18
  urlParser: import("@smithy/types").UrlParser;
@@ -2,15 +2,10 @@ import {
2
2
  HostHeaderInputConfig,
3
3
  HostHeaderResolvedConfig,
4
4
  } from "@aws-sdk/middleware-host-header";
5
- import {
6
- AwsAuthInputConfig,
7
- AwsAuthResolvedConfig,
8
- } from "@aws-sdk/middleware-signing";
9
5
  import {
10
6
  UserAgentInputConfig,
11
7
  UserAgentResolvedConfig,
12
8
  } from "@aws-sdk/middleware-user-agent";
13
- import { Credentials as __Credentials } from "@aws-sdk/types";
14
9
  import {
15
10
  RegionInputConfig,
16
11
  RegionResolvedConfig,
@@ -31,6 +26,7 @@ import {
31
26
  SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
32
27
  } from "@smithy/smithy-client";
33
28
  import {
29
+ AwsCredentialIdentityProvider,
34
30
  BodyLengthCalculator as __BodyLengthCalculator,
35
31
  CheckOptionalClientConfig as __CheckOptionalClientConfig,
36
32
  ChecksumConstructor as __ChecksumConstructor,
@@ -45,6 +41,10 @@ import {
45
41
  UrlParser as __UrlParser,
46
42
  UserAgent as __UserAgent,
47
43
  } from "@smithy/types";
44
+ import {
45
+ HttpAuthSchemeInputConfig,
46
+ HttpAuthSchemeResolvedConfig,
47
+ } from "./auth/httpAuthSchemeProvider";
48
48
  import {
49
49
  AddInstanceFleetCommandInput,
50
50
  AddInstanceFleetCommandOutput,
@@ -400,9 +400,9 @@ export interface ClientDefaults
400
400
  serviceId?: string;
401
401
  useDualstackEndpoint?: boolean | __Provider<boolean>;
402
402
  useFipsEndpoint?: boolean | __Provider<boolean>;
403
- region?: string | __Provider<string>;
404
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
405
403
  defaultUserAgentProvider?: Provider<__UserAgent>;
404
+ region?: string | __Provider<string>;
405
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
406
406
  maxAttempts?: number | __Provider<number>;
407
407
  retryMode?: string | __Provider<string>;
408
408
  logger?: __Logger;
@@ -417,8 +417,8 @@ export type EMRClientConfigType = Partial<
417
417
  EndpointInputConfig<EndpointParameters> &
418
418
  RetryInputConfig &
419
419
  HostHeaderInputConfig &
420
- AwsAuthInputConfig &
421
420
  UserAgentInputConfig &
421
+ HttpAuthSchemeInputConfig &
422
422
  ClientInputEndpointParameters;
423
423
  export interface EMRClientConfig extends EMRClientConfigType {}
424
424
  export type EMRClientResolvedConfigType =
@@ -429,8 +429,8 @@ export type EMRClientResolvedConfigType =
429
429
  EndpointResolvedConfig<EndpointParameters> &
430
430
  RetryResolvedConfig &
431
431
  HostHeaderResolvedConfig &
432
- AwsAuthResolvedConfig &
433
432
  UserAgentResolvedConfig &
433
+ HttpAuthSchemeResolvedConfig &
434
434
  ClientResolvedEndpointParameters;
435
435
  export interface EMRClientResolvedConfig extends EMRClientResolvedConfigType {}
436
436
  export declare class EMRClient extends __Client<
@@ -442,4 +442,6 @@ export declare class EMRClient extends __Client<
442
442
  readonly config: EMRClientResolvedConfig;
443
443
  constructor(...[configuration]: __CheckOptionalClientConfig<EMRClientConfig>);
444
444
  destroy(): void;
445
+ private getDefaultHttpAuthSchemeParametersProvider;
446
+ private getIdentityProviderConfigProvider;
445
447
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { EMRHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: EMRHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): EMRHttpAuthSchemeProvider;
14
+ setCredentials(
15
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider
16
+ ): void;
17
+ credentials():
18
+ | AwsCredentialIdentity
19
+ | AwsCredentialIdentityProvider
20
+ | undefined;
21
+ }
22
+ export type HttpAuthRuntimeConfig = Partial<{
23
+ httpAuthSchemes: HttpAuthScheme[];
24
+ httpAuthSchemeProvider: EMRHttpAuthSchemeProvider;
25
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
26
+ }>;
27
+ export declare const getHttpAuthExtensionConfiguration: (
28
+ runtimeConfig: HttpAuthRuntimeConfig
29
+ ) => HttpAuthExtensionConfiguration;
30
+ export declare const resolveHttpAuthRuntimeConfig: (
31
+ config: HttpAuthExtensionConfiguration
32
+ ) => HttpAuthRuntimeConfig;
@@ -0,0 +1,43 @@
1
+ import {
2
+ AwsSdkSigV4AuthInputConfig,
3
+ AwsSdkSigV4AuthResolvedConfig,
4
+ AwsSdkSigV4PreviouslyResolved,
5
+ } from "@aws-sdk/core";
6
+ import {
7
+ HandlerExecutionContext,
8
+ HttpAuthScheme,
9
+ HttpAuthSchemeParameters,
10
+ HttpAuthSchemeParametersProvider,
11
+ HttpAuthSchemeProvider,
12
+ } from "@smithy/types";
13
+ import { EMRClientResolvedConfig } from "../EMRClient";
14
+ export interface EMRHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
15
+ region?: string;
16
+ }
17
+ export interface EMRHttpAuthSchemeParametersProvider
18
+ extends HttpAuthSchemeParametersProvider<
19
+ EMRClientResolvedConfig,
20
+ HandlerExecutionContext,
21
+ EMRHttpAuthSchemeParameters,
22
+ object
23
+ > {}
24
+ export declare const defaultEMRHttpAuthSchemeParametersProvider: (
25
+ config: EMRClientResolvedConfig,
26
+ context: HandlerExecutionContext,
27
+ input: object
28
+ ) => Promise<EMRHttpAuthSchemeParameters>;
29
+ export interface EMRHttpAuthSchemeProvider
30
+ extends HttpAuthSchemeProvider<EMRHttpAuthSchemeParameters> {}
31
+ export declare const defaultEMRHttpAuthSchemeProvider: EMRHttpAuthSchemeProvider;
32
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
33
+ httpAuthSchemes?: HttpAuthScheme[];
34
+ httpAuthSchemeProvider?: EMRHttpAuthSchemeProvider;
35
+ }
36
+ export interface HttpAuthSchemeResolvedConfig
37
+ extends AwsSdkSigV4AuthResolvedConfig {
38
+ readonly httpAuthSchemes: HttpAuthScheme[];
39
+ readonly httpAuthSchemeProvider: EMRHttpAuthSchemeProvider;
40
+ }
41
+ export declare const resolveHttpAuthSchemeConfig: <T>(
42
+ config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
43
+ ) => T & HttpAuthSchemeResolvedConfig;
@@ -1,7 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  export interface EMRExtensionConfiguration
5
6
  extends HttpHandlerExtensionConfiguration,
6
7
  DefaultExtensionConfiguration,
7
- AwsRegionExtensionConfiguration {}
8
+ AwsRegionExtensionConfiguration,
9
+ HttpAuthExtensionConfiguration {}
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
8
8
  bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
9
9
  credentialDefaultProvider: (
10
10
  input: any
11
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
11
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
12
12
  defaultUserAgentProvider: import("@smithy/types").Provider<
13
13
  import("@smithy/types").UserAgent
14
14
  >;
@@ -72,11 +72,12 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
72
72
  | import("@smithy/types").RetryStrategy
73
73
  | import("@smithy/types").RetryStrategyV2
74
74
  | undefined;
75
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
76
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
77
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
75
78
  credentials?:
76
79
  | import("@smithy/types").AwsCredentialIdentity
77
- | import("@smithy/types").Provider<
78
- import("@smithy/types").AwsCredentialIdentity
79
- >
80
+ | import("@smithy/types").AwsCredentialIdentityProvider
80
81
  | undefined;
81
82
  signer?:
82
83
  | import("@smithy/types").RequestSigner
@@ -93,5 +94,4 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
93
94
  import("@smithy/signature-v4").SignatureV4CryptoInit
94
95
  ) => import("@smithy/types").RequestSigner)
95
96
  | undefined;
96
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
97
97
  };
@@ -76,11 +76,12 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
76
76
  | import("@smithy/types").RetryStrategy
77
77
  | import("@smithy/types").RetryStrategyV2
78
78
  | undefined;
79
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
80
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
81
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
79
82
  credentials?:
80
83
  | import("@smithy/types").AwsCredentialIdentity
81
- | import("@smithy/types").Provider<
82
- import("@smithy/types").AwsCredentialIdentity
83
- >
84
+ | import("@smithy/types").AwsCredentialIdentityProvider
84
85
  | undefined;
85
86
  signer?:
86
87
  | import("@smithy/types").RequestSigner
@@ -97,5 +98,4 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
97
98
  import("@smithy/signature-v4").SignatureV4CryptoInit
98
99
  ) => import("@smithy/types").RequestSigner)
99
100
  | undefined;
100
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
101
101
  };
@@ -29,13 +29,13 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
29
29
  serviceId: string;
30
30
  useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
31
31
  useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
32
- region: string | import("@smithy/types").Provider<any>;
33
- credentialDefaultProvider: (
34
- input: any
35
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
36
32
  defaultUserAgentProvider: import("@smithy/types").Provider<
37
33
  import("@smithy/types").UserAgent
38
34
  >;
35
+ region: string | import("@smithy/types").Provider<any>;
36
+ credentialDefaultProvider: (
37
+ input: any
38
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
39
39
  maxAttempts: number | import("@smithy/types").Provider<number>;
40
40
  retryMode: string | import("@smithy/types").Provider<string>;
41
41
  logger: import("@smithy/types").Logger;
@@ -63,11 +63,12 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
63
63
  | import("@smithy/types").RetryStrategy
64
64
  | import("@smithy/types").RetryStrategyV2
65
65
  | undefined;
66
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
67
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
68
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
66
69
  credentials?:
67
70
  | import("@smithy/types").AwsCredentialIdentity
68
- | import("@smithy/types").Provider<
69
- import("@smithy/types").AwsCredentialIdentity
70
- >
71
+ | import("@smithy/types").AwsCredentialIdentityProvider
71
72
  | undefined;
72
73
  signer?:
73
74
  | import("@smithy/types").RequestSigner
@@ -84,5 +85,4 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
84
85
  import("@smithy/signature-v4").SignatureV4CryptoInit
85
86
  ) => import("@smithy/types").RequestSigner)
86
87
  | undefined;
87
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
88
88
  };
@@ -11,6 +11,8 @@ export declare const getRuntimeConfig: (config: EMRClientConfig) => {
11
11
  }
12
12
  ) => import("@smithy/types").EndpointV2;
13
13
  extensions: import("./runtimeExtensions").RuntimeExtension[];
14
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRHttpAuthSchemeProvider;
15
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
14
16
  logger: import("@smithy/types").Logger;
15
17
  serviceId: string;
16
18
  urlParser: import("@smithy/types").UrlParser;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-emr",
3
3
  "description": "AWS SDK for JavaScript Emr Client for Node.js, Browser and React Native",
4
- "version": "3.509.0",
4
+ "version": "3.513.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-emr",
@@ -20,21 +20,20 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sts": "3.507.0",
24
- "@aws-sdk/core": "3.496.0",
25
- "@aws-sdk/credential-provider-node": "3.509.0",
26
- "@aws-sdk/middleware-host-header": "3.502.0",
27
- "@aws-sdk/middleware-logger": "3.502.0",
28
- "@aws-sdk/middleware-recursion-detection": "3.502.0",
29
- "@aws-sdk/middleware-signing": "3.502.0",
30
- "@aws-sdk/middleware-user-agent": "3.502.0",
31
- "@aws-sdk/region-config-resolver": "3.502.0",
32
- "@aws-sdk/types": "3.502.0",
33
- "@aws-sdk/util-endpoints": "3.502.0",
34
- "@aws-sdk/util-user-agent-browser": "3.502.0",
35
- "@aws-sdk/util-user-agent-node": "3.502.0",
23
+ "@aws-sdk/client-sts": "3.513.0",
24
+ "@aws-sdk/core": "3.513.0",
25
+ "@aws-sdk/credential-provider-node": "3.513.0",
26
+ "@aws-sdk/middleware-host-header": "3.511.0",
27
+ "@aws-sdk/middleware-logger": "3.511.0",
28
+ "@aws-sdk/middleware-recursion-detection": "3.511.0",
29
+ "@aws-sdk/middleware-user-agent": "3.511.0",
30
+ "@aws-sdk/region-config-resolver": "3.511.0",
31
+ "@aws-sdk/types": "3.511.0",
32
+ "@aws-sdk/util-endpoints": "3.511.0",
33
+ "@aws-sdk/util-user-agent-browser": "3.511.0",
34
+ "@aws-sdk/util-user-agent-node": "3.511.0",
36
35
  "@smithy/config-resolver": "^2.1.1",
37
- "@smithy/core": "^1.3.1",
36
+ "@smithy/core": "^1.3.2",
38
37
  "@smithy/fetch-http-handler": "^2.4.1",
39
38
  "@smithy/hash-node": "^2.1.1",
40
39
  "@smithy/invalid-dependency": "^2.1.1",
@@ -53,8 +52,9 @@
53
52
  "@smithy/util-body-length-browser": "^2.1.1",
54
53
  "@smithy/util-body-length-node": "^2.2.1",
55
54
  "@smithy/util-defaults-mode-browser": "^2.1.1",
56
- "@smithy/util-defaults-mode-node": "^2.1.1",
55
+ "@smithy/util-defaults-mode-node": "^2.2.0",
57
56
  "@smithy/util-endpoints": "^1.1.1",
57
+ "@smithy/util-middleware": "^2.1.1",
58
58
  "@smithy/util-retry": "^2.1.1",
59
59
  "@smithy/util-utf8": "^2.1.1",
60
60
  "@smithy/util-waiter": "^2.1.1",