@aws-sdk/client-emr-serverless 3.511.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.defaultEMRServerlessHttpAuthSchemeProvider = exports.defaultEMRServerlessHttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultEMRServerlessHttpAuthSchemeParametersProvider = 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.defaultEMRServerlessHttpAuthSchemeParametersProvider = defaultEMRServerlessHttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "emr-serverless",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ const defaultEMRServerlessHttpAuthSchemeProvider = (authParameters) => {
32
+ const options = [];
33
+ switch (authParameters.operation) {
34
+ default: {
35
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
36
+ }
37
+ }
38
+ return options;
39
+ };
40
+ exports.defaultEMRServerlessHttpAuthSchemeProvider = defaultEMRServerlessHttpAuthSchemeProvider;
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
@@ -71,13 +71,14 @@ module.exports = __toCommonJS(src_exports);
71
71
  var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
72
72
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
73
73
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
74
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
75
74
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
76
75
  var import_config_resolver = require("@smithy/config-resolver");
76
+ var import_core = require("@smithy/core");
77
77
  var import_middleware_content_length = require("@smithy/middleware-content-length");
78
78
  var import_middleware_endpoint = require("@smithy/middleware-endpoint");
79
79
  var import_middleware_retry = require("@smithy/middleware-retry");
80
80
 
81
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
81
82
 
82
83
  // src/endpoint/EndpointParameters.ts
83
84
  var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
@@ -102,19 +103,62 @@ var import_runtimeConfig = require("././runtimeConfig");
102
103
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
103
104
  var import_protocol_http = require("@smithy/protocol-http");
104
105
  var import_smithy_client = require("@smithy/smithy-client");
106
+
107
+ // src/auth/httpAuthExtensionConfiguration.ts
108
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
109
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
110
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
111
+ let _credentials = runtimeConfig.credentials;
112
+ return {
113
+ setHttpAuthScheme(httpAuthScheme) {
114
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
115
+ if (index === -1) {
116
+ _httpAuthSchemes.push(httpAuthScheme);
117
+ } else {
118
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
119
+ }
120
+ },
121
+ httpAuthSchemes() {
122
+ return _httpAuthSchemes;
123
+ },
124
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
125
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
126
+ },
127
+ httpAuthSchemeProvider() {
128
+ return _httpAuthSchemeProvider;
129
+ },
130
+ setCredentials(credentials) {
131
+ _credentials = credentials;
132
+ },
133
+ credentials() {
134
+ return _credentials;
135
+ }
136
+ };
137
+ }, "getHttpAuthExtensionConfiguration");
138
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
139
+ return {
140
+ httpAuthSchemes: config.httpAuthSchemes(),
141
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
142
+ credentials: config.credentials()
143
+ };
144
+ }, "resolveHttpAuthRuntimeConfig");
145
+
146
+ // src/runtimeExtensions.ts
105
147
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
106
148
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
107
149
  const extensionConfiguration = {
108
150
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
109
151
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
110
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
152
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
153
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
111
154
  };
112
155
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
113
156
  return {
114
157
  ...runtimeConfig,
115
158
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
116
159
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
117
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
160
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
161
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
118
162
  };
119
163
  }, "resolveRuntimeExtensions");
120
164
 
@@ -127,8 +171,8 @@ var _EMRServerlessClient = class _EMRServerlessClient extends import_smithy_clie
127
171
  const _config_3 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_2);
128
172
  const _config_4 = (0, import_middleware_retry.resolveRetryConfig)(_config_3);
129
173
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
130
- const _config_6 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_5);
131
- const _config_7 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_6);
174
+ const _config_6 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_5);
175
+ const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6);
132
176
  const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []);
133
177
  super(_config_8);
134
178
  this.config = _config_8;
@@ -137,8 +181,14 @@ var _EMRServerlessClient = class _EMRServerlessClient extends import_smithy_clie
137
181
  this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config));
138
182
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
139
183
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
140
- this.middlewareStack.use((0, import_middleware_signing.getAwsAuthPlugin)(this.config));
141
184
  this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config));
185
+ this.middlewareStack.use(
186
+ (0, import_core.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
187
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
188
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider()
189
+ })
190
+ );
191
+ this.middlewareStack.use((0, import_core.getHttpSigningPlugin)(this.config));
142
192
  }
143
193
  /**
144
194
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -148,6 +198,14 @@ var _EMRServerlessClient = class _EMRServerlessClient extends import_smithy_clie
148
198
  destroy() {
149
199
  super.destroy();
150
200
  }
201
+ getDefaultHttpAuthSchemeParametersProvider() {
202
+ return import_httpAuthSchemeProvider.defaultEMRServerlessHttpAuthSchemeParametersProvider;
203
+ }
204
+ getIdentityProviderConfigProvider() {
205
+ return async (config) => new import_core.DefaultIdentityProviderConfig({
206
+ "aws.auth#sigv4": config.credentials
207
+ });
208
+ }
151
209
  };
152
210
  __name(_EMRServerlessClient, "EMRServerlessClient");
153
211
  var EMRServerlessClient = _EMRServerlessClient;
@@ -162,8 +220,8 @@ var import_middleware_serde = require("@smithy/middleware-serde");
162
220
  var import_types = require("@smithy/types");
163
221
 
164
222
  // src/protocols/Aws_restJson1.ts
165
- var import_core = require("@aws-sdk/core");
166
- var import_core2 = require("@smithy/core");
223
+ var import_core2 = require("@aws-sdk/core");
224
+
167
225
 
168
226
  var import_uuid = require("uuid");
169
227
 
@@ -381,7 +439,7 @@ var GetJobRunResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
381
439
 
382
440
  // src/protocols/Aws_restJson1.ts
383
441
  var se_CancelJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
384
- const b = (0, import_core2.requestBuilder)(input, context);
442
+ const b = (0, import_core.requestBuilder)(input, context);
385
443
  const headers = {};
386
444
  b.bp("/applications/{applicationId}/jobruns/{jobRunId}");
387
445
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -391,7 +449,7 @@ var se_CancelJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
391
449
  return b.build();
392
450
  }, "se_CancelJobRunCommand");
393
451
  var se_CreateApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
394
- const b = (0, import_core2.requestBuilder)(input, context);
452
+ const b = (0, import_core.requestBuilder)(input, context);
395
453
  const headers = {
396
454
  "content-type": "application/json"
397
455
  };
@@ -420,7 +478,7 @@ var se_CreateApplicationCommand = /* @__PURE__ */ __name(async (input, context)
420
478
  return b.build();
421
479
  }, "se_CreateApplicationCommand");
422
480
  var se_DeleteApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
423
- const b = (0, import_core2.requestBuilder)(input, context);
481
+ const b = (0, import_core.requestBuilder)(input, context);
424
482
  const headers = {};
425
483
  b.bp("/applications/{applicationId}");
426
484
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -429,7 +487,7 @@ var se_DeleteApplicationCommand = /* @__PURE__ */ __name(async (input, context)
429
487
  return b.build();
430
488
  }, "se_DeleteApplicationCommand");
431
489
  var se_GetApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
432
- const b = (0, import_core2.requestBuilder)(input, context);
490
+ const b = (0, import_core.requestBuilder)(input, context);
433
491
  const headers = {};
434
492
  b.bp("/applications/{applicationId}");
435
493
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -438,7 +496,7 @@ var se_GetApplicationCommand = /* @__PURE__ */ __name(async (input, context) =>
438
496
  return b.build();
439
497
  }, "se_GetApplicationCommand");
440
498
  var se_GetDashboardForJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
441
- const b = (0, import_core2.requestBuilder)(input, context);
499
+ const b = (0, import_core.requestBuilder)(input, context);
442
500
  const headers = {};
443
501
  b.bp("/applications/{applicationId}/jobruns/{jobRunId}/dashboard");
444
502
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -448,7 +506,7 @@ var se_GetDashboardForJobRunCommand = /* @__PURE__ */ __name(async (input, conte
448
506
  return b.build();
449
507
  }, "se_GetDashboardForJobRunCommand");
450
508
  var se_GetJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
451
- const b = (0, import_core2.requestBuilder)(input, context);
509
+ const b = (0, import_core.requestBuilder)(input, context);
452
510
  const headers = {};
453
511
  b.bp("/applications/{applicationId}/jobruns/{jobRunId}");
454
512
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -458,7 +516,7 @@ var se_GetJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
458
516
  return b.build();
459
517
  }, "se_GetJobRunCommand");
460
518
  var se_ListApplicationsCommand = /* @__PURE__ */ __name(async (input, context) => {
461
- const b = (0, import_core2.requestBuilder)(input, context);
519
+ const b = (0, import_core.requestBuilder)(input, context);
462
520
  const headers = {};
463
521
  b.bp("/applications");
464
522
  const query = (0, import_smithy_client.map)({
@@ -471,7 +529,7 @@ var se_ListApplicationsCommand = /* @__PURE__ */ __name(async (input, context) =
471
529
  return b.build();
472
530
  }, "se_ListApplicationsCommand");
473
531
  var se_ListJobRunsCommand = /* @__PURE__ */ __name(async (input, context) => {
474
- const b = (0, import_core2.requestBuilder)(input, context);
532
+ const b = (0, import_core.requestBuilder)(input, context);
475
533
  const headers = {};
476
534
  b.bp("/applications/{applicationId}/jobruns");
477
535
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -487,7 +545,7 @@ var se_ListJobRunsCommand = /* @__PURE__ */ __name(async (input, context) => {
487
545
  return b.build();
488
546
  }, "se_ListJobRunsCommand");
489
547
  var se_ListTagsForResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
490
- const b = (0, import_core2.requestBuilder)(input, context);
548
+ const b = (0, import_core.requestBuilder)(input, context);
491
549
  const headers = {};
492
550
  b.bp("/tags/{resourceArn}");
493
551
  b.p("resourceArn", () => input.resourceArn, "{resourceArn}", false);
@@ -496,7 +554,7 @@ var se_ListTagsForResourceCommand = /* @__PURE__ */ __name(async (input, context
496
554
  return b.build();
497
555
  }, "se_ListTagsForResourceCommand");
498
556
  var se_StartApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
499
- const b = (0, import_core2.requestBuilder)(input, context);
557
+ const b = (0, import_core.requestBuilder)(input, context);
500
558
  const headers = {};
501
559
  b.bp("/applications/{applicationId}/start");
502
560
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -505,7 +563,7 @@ var se_StartApplicationCommand = /* @__PURE__ */ __name(async (input, context) =
505
563
  return b.build();
506
564
  }, "se_StartApplicationCommand");
507
565
  var se_StartJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
508
- const b = (0, import_core2.requestBuilder)(input, context);
566
+ const b = (0, import_core.requestBuilder)(input, context);
509
567
  const headers = {
510
568
  "content-type": "application/json"
511
569
  };
@@ -527,7 +585,7 @@ var se_StartJobRunCommand = /* @__PURE__ */ __name(async (input, context) => {
527
585
  return b.build();
528
586
  }, "se_StartJobRunCommand");
529
587
  var se_StopApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
530
- const b = (0, import_core2.requestBuilder)(input, context);
588
+ const b = (0, import_core.requestBuilder)(input, context);
531
589
  const headers = {};
532
590
  b.bp("/applications/{applicationId}/stop");
533
591
  b.p("applicationId", () => input.applicationId, "{applicationId}", false);
@@ -536,7 +594,7 @@ var se_StopApplicationCommand = /* @__PURE__ */ __name(async (input, context) =>
536
594
  return b.build();
537
595
  }, "se_StopApplicationCommand");
538
596
  var se_TagResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
539
- const b = (0, import_core2.requestBuilder)(input, context);
597
+ const b = (0, import_core.requestBuilder)(input, context);
540
598
  const headers = {
541
599
  "content-type": "application/json"
542
600
  };
@@ -552,7 +610,7 @@ var se_TagResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
552
610
  return b.build();
553
611
  }, "se_TagResourceCommand");
554
612
  var se_UntagResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
555
- const b = (0, import_core2.requestBuilder)(input, context);
613
+ const b = (0, import_core.requestBuilder)(input, context);
556
614
  const headers = {};
557
615
  b.bp("/tags/{resourceArn}");
558
616
  b.p("resourceArn", () => input.resourceArn, "{resourceArn}", false);
@@ -567,7 +625,7 @@ var se_UntagResourceCommand = /* @__PURE__ */ __name(async (input, context) => {
567
625
  return b.build();
568
626
  }, "se_UntagResourceCommand");
569
627
  var se_UpdateApplicationCommand = /* @__PURE__ */ __name(async (input, context) => {
570
- const b = (0, import_core2.requestBuilder)(input, context);
628
+ const b = (0, import_core.requestBuilder)(input, context);
571
629
  const headers = {
572
630
  "content-type": "application/json"
573
631
  };
@@ -978,7 +1036,7 @@ var de_JobRun = /* @__PURE__ */ __name((output, context) => {
978
1036
  createdBy: import_smithy_client.expectString,
979
1037
  executionRole: import_smithy_client.expectString,
980
1038
  executionTimeoutMinutes: import_smithy_client.expectLong,
981
- jobDriver: (_) => (0, import_smithy_client._json)((0, import_core.awsExpectUnion)(_)),
1039
+ jobDriver: (_) => (0, import_smithy_client._json)((0, import_core2.awsExpectUnion)(_)),
982
1040
  jobRunId: import_smithy_client.expectString,
983
1041
  name: import_smithy_client.expectString,
984
1042
  networkConfiguration: import_smithy_client._json,
@@ -1357,12 +1415,12 @@ var EMRServerless = _EMRServerless;
1357
1415
  (0, import_smithy_client.createAggregatedClient)(commands, EMRServerless);
1358
1416
 
1359
1417
  // src/pagination/ListApplicationsPaginator.ts
1360
- var import_core3 = require("@smithy/core");
1361
- var paginateListApplications = (0, import_core3.createPaginator)(EMRServerlessClient, ListApplicationsCommand, "nextToken", "nextToken", "maxResults");
1418
+
1419
+ var paginateListApplications = (0, import_core.createPaginator)(EMRServerlessClient, ListApplicationsCommand, "nextToken", "nextToken", "maxResults");
1362
1420
 
1363
1421
  // src/pagination/ListJobRunsPaginator.ts
1364
- var import_core4 = require("@smithy/core");
1365
- var paginateListJobRuns = (0, import_core4.createPaginator)(EMRServerlessClient, ListJobRunsCommand, "nextToken", "nextToken", "maxResults");
1422
+
1423
+ var paginateListJobRuns = (0, import_core.createPaginator)(EMRServerlessClient, ListJobRunsCommand, "nextToken", "nextToken", "maxResults");
1366
1424
 
1367
1425
  // src/index.ts
1368
1426
  var import_util_endpoints = require("@aws-sdk/util-endpoints");
@@ -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.defaultEMRServerlessHttpAuthSchemeProvider,
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 Serverless",
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 { defaultEMRServerlessHttpAuthSchemeParametersProvider, 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 EMRServerlessClient 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 EMRServerlessClient 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 defaultEMRServerlessHttpAuthSchemeParametersProvider;
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 defaultEMRServerlessHttpAuthSchemeParametersProvider = 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: "emr-serverless",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultEMRServerlessHttpAuthSchemeProvider = (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 { defaultEMRServerlessHttpAuthSchemeProvider } 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 ?? defaultEMRServerlessHttpAuthSchemeProvider,
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 Serverless",
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 { CancelJobRunCommandInput, CancelJobRunCommandOutput } from "./commands/CancelJobRunCommand";
12
11
  import { CreateApplicationCommandInput, CreateApplicationCommandOutput } from "./commands/CreateApplicationCommand";
13
12
  import { DeleteApplicationCommandInput, DeleteApplicationCommandOutput } from "./commands/DeleteApplicationCommand";
@@ -106,20 +105,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
106
105
  * Enables FIPS compatible endpoints.
107
106
  */
108
107
  useFipsEndpoint?: boolean | __Provider<boolean>;
108
+ /**
109
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
110
+ * @internal
111
+ */
112
+ defaultUserAgentProvider?: Provider<__UserAgent>;
109
113
  /**
110
114
  * The AWS region to which this client will send requests
111
115
  */
112
116
  region?: string | __Provider<string>;
113
117
  /**
114
118
  * Default credentials provider; Not available in browser runtime.
119
+ * @deprecated
115
120
  * @internal
116
121
  */
117
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
118
- /**
119
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
120
- * @internal
121
- */
122
- defaultUserAgentProvider?: Provider<__UserAgent>;
122
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
123
123
  /**
124
124
  * Value for how many times a request will be made at most in case of retry.
125
125
  */
@@ -146,7 +146,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
146
146
  /**
147
147
  * @public
148
148
  */
149
- export type EMRServerlessClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
149
+ export type EMRServerlessClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
150
150
  /**
151
151
  * @public
152
152
  *
@@ -157,7 +157,7 @@ export interface EMRServerlessClientConfig extends EMRServerlessClientConfigType
157
157
  /**
158
158
  * @public
159
159
  */
160
- export type EMRServerlessClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
160
+ export type EMRServerlessClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
161
161
  /**
162
162
  * @public
163
163
  *
@@ -201,4 +201,6 @@ export declare class EMRServerlessClient extends __Client<__HttpHandlerOptions,
201
201
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
202
202
  */
203
203
  destroy(): void;
204
+ private getDefaultHttpAuthSchemeParametersProvider;
205
+ private getIdentityProviderConfigProvider;
204
206
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { EMRServerlessHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: EMRServerlessHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessHttpAuthSchemeProvider;
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 { EMRServerlessClientResolvedConfig } from "../EMRServerlessClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface EMRServerlessHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface EMRServerlessHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<EMRServerlessClientResolvedConfig, HandlerExecutionContext, EMRServerlessHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultEMRServerlessHttpAuthSchemeParametersProvider: (config: EMRServerlessClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<EMRServerlessHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface EMRServerlessHttpAuthSchemeProvider extends HttpAuthSchemeProvider<EMRServerlessHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultEMRServerlessHttpAuthSchemeProvider: EMRServerlessHttpAuthSchemeProvider;
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?: EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessHttpAuthSchemeProvider;
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 EMRServerlessExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface EMRServerlessExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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
  CancelJobRunCommandInput,
50
50
  CancelJobRunCommandOutput,
@@ -160,9 +160,9 @@ export interface ClientDefaults
160
160
  serviceId?: string;
161
161
  useDualstackEndpoint?: boolean | __Provider<boolean>;
162
162
  useFipsEndpoint?: boolean | __Provider<boolean>;
163
- region?: string | __Provider<string>;
164
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
165
163
  defaultUserAgentProvider?: Provider<__UserAgent>;
164
+ region?: string | __Provider<string>;
165
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
166
166
  maxAttempts?: number | __Provider<number>;
167
167
  retryMode?: string | __Provider<string>;
168
168
  logger?: __Logger;
@@ -177,8 +177,8 @@ export type EMRServerlessClientConfigType = Partial<
177
177
  EndpointInputConfig<EndpointParameters> &
178
178
  RetryInputConfig &
179
179
  HostHeaderInputConfig &
180
- AwsAuthInputConfig &
181
180
  UserAgentInputConfig &
181
+ HttpAuthSchemeInputConfig &
182
182
  ClientInputEndpointParameters;
183
183
  export interface EMRServerlessClientConfig
184
184
  extends EMRServerlessClientConfigType {}
@@ -190,8 +190,8 @@ export type EMRServerlessClientResolvedConfigType =
190
190
  EndpointResolvedConfig<EndpointParameters> &
191
191
  RetryResolvedConfig &
192
192
  HostHeaderResolvedConfig &
193
- AwsAuthResolvedConfig &
194
193
  UserAgentResolvedConfig &
194
+ HttpAuthSchemeResolvedConfig &
195
195
  ClientResolvedEndpointParameters;
196
196
  export interface EMRServerlessClientResolvedConfig
197
197
  extends EMRServerlessClientResolvedConfigType {}
@@ -206,4 +206,6 @@ export declare class EMRServerlessClient extends __Client<
206
206
  ...[configuration]: __CheckOptionalClientConfig<EMRServerlessClientConfig>
207
207
  );
208
208
  destroy(): void;
209
+ private getDefaultHttpAuthSchemeParametersProvider;
210
+ private getIdentityProviderConfigProvider;
209
211
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { EMRServerlessHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: EMRServerlessHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessHttpAuthSchemeProvider;
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,44 @@
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 { EMRServerlessClientResolvedConfig } from "../EMRServerlessClient";
14
+ export interface EMRServerlessHttpAuthSchemeParameters
15
+ extends HttpAuthSchemeParameters {
16
+ region?: string;
17
+ }
18
+ export interface EMRServerlessHttpAuthSchemeParametersProvider
19
+ extends HttpAuthSchemeParametersProvider<
20
+ EMRServerlessClientResolvedConfig,
21
+ HandlerExecutionContext,
22
+ EMRServerlessHttpAuthSchemeParameters,
23
+ object
24
+ > {}
25
+ export declare const defaultEMRServerlessHttpAuthSchemeParametersProvider: (
26
+ config: EMRServerlessClientResolvedConfig,
27
+ context: HandlerExecutionContext,
28
+ input: object
29
+ ) => Promise<EMRServerlessHttpAuthSchemeParameters>;
30
+ export interface EMRServerlessHttpAuthSchemeProvider
31
+ extends HttpAuthSchemeProvider<EMRServerlessHttpAuthSchemeParameters> {}
32
+ export declare const defaultEMRServerlessHttpAuthSchemeProvider: EMRServerlessHttpAuthSchemeProvider;
33
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
34
+ httpAuthSchemes?: HttpAuthScheme[];
35
+ httpAuthSchemeProvider?: EMRServerlessHttpAuthSchemeProvider;
36
+ }
37
+ export interface HttpAuthSchemeResolvedConfig
38
+ extends AwsSdkSigV4AuthResolvedConfig {
39
+ readonly httpAuthSchemes: HttpAuthScheme[];
40
+ readonly httpAuthSchemeProvider: EMRServerlessHttpAuthSchemeProvider;
41
+ }
42
+ export declare const resolveHttpAuthSchemeConfig: <T>(
43
+ config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
44
+ ) => 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 EMRServerlessExtensionConfiguration
5
6
  extends HttpHandlerExtensionConfiguration,
6
7
  DefaultExtensionConfiguration,
7
- AwsRegionExtensionConfiguration {}
8
+ AwsRegionExtensionConfiguration,
9
+ HttpAuthExtensionConfiguration {}
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
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").EMRServerlessHttpAuthSchemeProvider;
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: EMRServerlessClientConfig) => {
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: EMRServerlessClientConfig) => {
11
11
  }
12
12
  ) => import("@smithy/types").EndpointV2;
13
13
  extensions: import("./runtimeExtensions").RuntimeExtension[];
14
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").EMRServerlessHttpAuthSchemeProvider;
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-serverless",
3
3
  "description": "AWS SDK for JavaScript Emr Serverless Client for Node.js, Browser and React Native",
4
- "version": "3.511.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-serverless",
@@ -20,13 +20,12 @@
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.511.0",
24
- "@aws-sdk/core": "3.511.0",
25
- "@aws-sdk/credential-provider-node": "3.511.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
26
  "@aws-sdk/middleware-host-header": "3.511.0",
27
27
  "@aws-sdk/middleware-logger": "3.511.0",
28
28
  "@aws-sdk/middleware-recursion-detection": "3.511.0",
29
- "@aws-sdk/middleware-signing": "3.511.0",
30
29
  "@aws-sdk/middleware-user-agent": "3.511.0",
31
30
  "@aws-sdk/region-config-resolver": "3.511.0",
32
31
  "@aws-sdk/types": "3.511.0",
@@ -34,7 +33,7 @@
34
33
  "@aws-sdk/util-user-agent-browser": "3.511.0",
35
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
  "tslib": "^2.5.0",