@aws-sdk/client-iot 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.
Files changed (42) hide show
  1. package/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  2. package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  3. package/dist-cjs/index.js +68 -7
  4. package/dist-cjs/runtimeConfig.shared.js +10 -0
  5. package/dist-es/IoTClient.js +17 -4
  6. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  7. package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  8. package/dist-es/protocols/Aws_restJson1.js +3 -0
  9. package/dist-es/runtimeConfig.shared.js +10 -0
  10. package/dist-es/runtimeExtensions.js +3 -0
  11. package/dist-types/IoTClient.d.ts +13 -11
  12. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  13. package/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  14. package/dist-types/commands/CreateDomainConfigurationCommand.d.ts +3 -0
  15. package/dist-types/commands/DeleteCustomMetricCommand.d.ts +1 -2
  16. package/dist-types/commands/DescribeDomainConfigurationCommand.d.ts +3 -0
  17. package/dist-types/commands/DescribeEndpointCommand.d.ts +5 -1
  18. package/dist-types/commands/GetRegistrationCodeCommand.d.ts +3 -0
  19. package/dist-types/commands/ListOutgoingCertificatesCommand.d.ts +1 -2
  20. package/dist-types/commands/UpdateDomainConfigurationCommand.d.ts +3 -0
  21. package/dist-types/extensionConfiguration.d.ts +2 -1
  22. package/dist-types/models/models_0.d.ts +19 -12
  23. package/dist-types/models/models_1.d.ts +18 -23
  24. package/dist-types/models/models_2.d.ts +28 -1
  25. package/dist-types/runtimeConfig.browser.d.ts +5 -3
  26. package/dist-types/runtimeConfig.d.ts +4 -2
  27. package/dist-types/runtimeConfig.native.d.ts +6 -4
  28. package/dist-types/runtimeConfig.shared.d.ts +2 -0
  29. package/dist-types/ts3.4/IoTClient.d.ts +11 -9
  30. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  31. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  32. package/dist-types/ts3.4/commands/DeleteCustomMetricCommand.d.ts +4 -2
  33. package/dist-types/ts3.4/commands/ListOutgoingCertificatesCommand.d.ts +4 -2
  34. package/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  35. package/dist-types/ts3.4/models/models_0.d.ts +4 -3
  36. package/dist-types/ts3.4/models/models_1.d.ts +5 -5
  37. package/dist-types/ts3.4/models/models_2.d.ts +7 -0
  38. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  39. package/dist-types/ts3.4/runtimeConfig.d.ts +4 -4
  40. package/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  41. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  42. package/package.json +16 -16
@@ -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.defaultIoTHttpAuthSchemeProvider = exports.defaultIoTHttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultIoTHttpAuthSchemeParametersProvider = 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.defaultIoTHttpAuthSchemeParametersProvider = defaultIoTHttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "iot",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ const defaultIoTHttpAuthSchemeProvider = (authParameters) => {
32
+ const options = [];
33
+ switch (authParameters.operation) {
34
+ default: {
35
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
36
+ }
37
+ }
38
+ return options;
39
+ };
40
+ exports.defaultIoTHttpAuthSchemeProvider = defaultIoTHttpAuthSchemeProvider;
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
@@ -463,13 +463,14 @@ module.exports = __toCommonJS(src_exports);
463
463
  var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
464
464
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
465
465
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
466
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
467
466
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
468
467
  var import_config_resolver = require("@smithy/config-resolver");
468
+ var import_core = require("@smithy/core");
469
469
  var import_middleware_content_length = require("@smithy/middleware-content-length");
470
470
  var import_middleware_endpoint = require("@smithy/middleware-endpoint");
471
471
  var import_middleware_retry = require("@smithy/middleware-retry");
472
472
 
473
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
473
474
 
474
475
  // src/endpoint/EndpointParameters.ts
475
476
  var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
@@ -494,19 +495,62 @@ var import_runtimeConfig = require("././runtimeConfig");
494
495
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
495
496
  var import_protocol_http = require("@smithy/protocol-http");
496
497
  var import_smithy_client = require("@smithy/smithy-client");
498
+
499
+ // src/auth/httpAuthExtensionConfiguration.ts
500
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
501
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
502
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
503
+ let _credentials = runtimeConfig.credentials;
504
+ return {
505
+ setHttpAuthScheme(httpAuthScheme) {
506
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
507
+ if (index === -1) {
508
+ _httpAuthSchemes.push(httpAuthScheme);
509
+ } else {
510
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
511
+ }
512
+ },
513
+ httpAuthSchemes() {
514
+ return _httpAuthSchemes;
515
+ },
516
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
517
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
518
+ },
519
+ httpAuthSchemeProvider() {
520
+ return _httpAuthSchemeProvider;
521
+ },
522
+ setCredentials(credentials) {
523
+ _credentials = credentials;
524
+ },
525
+ credentials() {
526
+ return _credentials;
527
+ }
528
+ };
529
+ }, "getHttpAuthExtensionConfiguration");
530
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
531
+ return {
532
+ httpAuthSchemes: config.httpAuthSchemes(),
533
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
534
+ credentials: config.credentials()
535
+ };
536
+ }, "resolveHttpAuthRuntimeConfig");
537
+
538
+ // src/runtimeExtensions.ts
497
539
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
498
540
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
499
541
  const extensionConfiguration = {
500
542
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
501
543
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
502
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
544
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
545
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
503
546
  };
504
547
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
505
548
  return {
506
549
  ...runtimeConfig,
507
550
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
508
551
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
509
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
552
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
553
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
510
554
  };
511
555
  }, "resolveRuntimeExtensions");
512
556
 
@@ -519,8 +563,8 @@ var _IoTClient = class _IoTClient extends import_smithy_client.Client {
519
563
  const _config_3 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_2);
520
564
  const _config_4 = (0, import_middleware_retry.resolveRetryConfig)(_config_3);
521
565
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
522
- const _config_6 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_5);
523
- const _config_7 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_6);
566
+ const _config_6 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_5);
567
+ const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6);
524
568
  const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []);
525
569
  super(_config_8);
526
570
  this.config = _config_8;
@@ -529,9 +573,15 @@ var _IoTClient = class _IoTClient extends import_smithy_client.Client {
529
573
  this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config));
530
574
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
531
575
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
532
- this.middlewareStack.use((0, import_middleware_signing.getAwsAuthPlugin)(this.config));
533
576
  this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config));
534
577
  this.middlewareStack.use((0, import_middleware_retry.getOmitRetryHeadersPlugin)(this.config));
578
+ this.middlewareStack.use(
579
+ (0, import_core.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
580
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
581
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider()
582
+ })
583
+ );
584
+ this.middlewareStack.use((0, import_core.getHttpSigningPlugin)(this.config));
535
585
  }
536
586
  /**
537
587
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -541,6 +591,14 @@ var _IoTClient = class _IoTClient extends import_smithy_client.Client {
541
591
  destroy() {
542
592
  super.destroy();
543
593
  }
594
+ getDefaultHttpAuthSchemeParametersProvider() {
595
+ return import_httpAuthSchemeProvider.defaultIoTHttpAuthSchemeParametersProvider;
596
+ }
597
+ getIdentityProviderConfigProvider() {
598
+ return async (config) => new import_core.DefaultIdentityProviderConfig({
599
+ "aws.auth#sigv4": config.credentials
600
+ });
601
+ }
544
602
  };
545
603
  __name(_IoTClient, "IoTClient");
546
604
  var IoTClient = _IoTClient;
@@ -555,7 +613,7 @@ var import_middleware_serde = require("@smithy/middleware-serde");
555
613
  var import_types = require("@smithy/types");
556
614
 
557
615
  // src/protocols/Aws_restJson1.ts
558
- var import_core = require("@smithy/core");
616
+
559
617
 
560
618
  var import_uuid = require("uuid");
561
619
 
@@ -1989,6 +2047,7 @@ var se_CreateDomainConfigurationCommand = /* @__PURE__ */ __name(async (input, c
1989
2047
  authorizerConfig: (_) => (0, import_smithy_client._json)(_),
1990
2048
  domainName: [],
1991
2049
  serverCertificateArns: (_) => (0, import_smithy_client._json)(_),
2050
+ serverCertificateConfig: (_) => (0, import_smithy_client._json)(_),
1992
2051
  serviceType: [],
1993
2052
  tags: (_) => (0, import_smithy_client._json)(_),
1994
2053
  tlsConfig: (_) => (0, import_smithy_client._json)(_),
@@ -4927,6 +4986,7 @@ var se_UpdateDomainConfigurationCommand = /* @__PURE__ */ __name(async (input, c
4927
4986
  authorizerConfig: (_) => (0, import_smithy_client._json)(_),
4928
4987
  domainConfigurationStatus: [],
4929
4988
  removeAuthorizerConfig: [],
4989
+ serverCertificateConfig: (_) => (0, import_smithy_client._json)(_),
4930
4990
  tlsConfig: (_) => (0, import_smithy_client._json)(_)
4931
4991
  })
4932
4992
  );
@@ -6555,6 +6615,7 @@ var de_DescribeDomainConfigurationCommand = /* @__PURE__ */ __name(async (output
6555
6615
  domainName: import_smithy_client.expectString,
6556
6616
  domainType: import_smithy_client.expectString,
6557
6617
  lastStatusChangeDate: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))),
6618
+ serverCertificateConfig: import_smithy_client._json,
6558
6619
  serverCertificates: import_smithy_client._json,
6559
6620
  serviceType: import_smithy_client.expectString,
6560
6621
  tlsConfig: import_smithy_client._json
@@ -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.defaultIoTHttpAuthSchemeProvider,
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 ?? "IoT",
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 { getOmitRetryHeadersPlugin, getRetryPlugin, resolveRetryConfig, } from "@smithy/middleware-retry";
10
10
  import { Client as __Client, } from "@smithy/smithy-client";
11
+ import { defaultIoTHttpAuthSchemeParametersProvider, 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 IoTClient 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,11 +31,23 @@ export class IoTClient 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
35
  this.middlewareStack.use(getOmitRetryHeadersPlugin(this.config));
36
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
37
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
38
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
39
+ }));
40
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
36
41
  }
37
42
  destroy() {
38
43
  super.destroy();
39
44
  }
45
+ getDefaultHttpAuthSchemeParametersProvider() {
46
+ return defaultIoTHttpAuthSchemeParametersProvider;
47
+ }
48
+ getIdentityProviderConfigProvider() {
49
+ return async (config) => new DefaultIdentityProviderConfig({
50
+ "aws.auth#sigv4": config.credentials,
51
+ });
52
+ }
40
53
  }
@@ -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 defaultIoTHttpAuthSchemeParametersProvider = 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: "iot",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultIoTHttpAuthSchemeProvider = (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
+ };
@@ -341,6 +341,7 @@ export const se_CreateDomainConfigurationCommand = async (input, context) => {
341
341
  authorizerConfig: (_) => _json(_),
342
342
  domainName: [],
343
343
  serverCertificateArns: (_) => _json(_),
344
+ serverCertificateConfig: (_) => _json(_),
344
345
  serviceType: [],
345
346
  tags: (_) => _json(_),
346
347
  tlsConfig: (_) => _json(_),
@@ -3157,6 +3158,7 @@ export const se_UpdateDomainConfigurationCommand = async (input, context) => {
3157
3158
  authorizerConfig: (_) => _json(_),
3158
3159
  domainConfigurationStatus: [],
3159
3160
  removeAuthorizerConfig: [],
3161
+ serverCertificateConfig: (_) => _json(_),
3160
3162
  tlsConfig: (_) => _json(_),
3161
3163
  }));
3162
3164
  b.m("PUT").h(headers).b(body);
@@ -4746,6 +4748,7 @@ export const de_DescribeDomainConfigurationCommand = async (output, context) =>
4746
4748
  domainName: __expectString,
4747
4749
  domainType: __expectString,
4748
4750
  lastStatusChangeDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
4751
+ serverCertificateConfig: _json,
4749
4752
  serverCertificates: _json,
4750
4753
  serviceType: __expectString,
4751
4754
  tlsConfig: _json,
@@ -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 { defaultIoTHttpAuthSchemeProvider } 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 ?? defaultIoTHttpAuthSchemeProvider,
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 ?? "IoT",
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 { AcceptCertificateTransferCommandInput, AcceptCertificateTransferCommandOutput } from "./commands/AcceptCertificateTransferCommand";
12
11
  import { AddThingToBillingGroupCommandInput, AddThingToBillingGroupCommandOutput } from "./commands/AddThingToBillingGroupCommand";
13
12
  import { AddThingToThingGroupCommandInput, AddThingToThingGroupCommandOutput } from "./commands/AddThingToThingGroupCommand";
@@ -346,20 +345,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
346
345
  * Enables FIPS compatible endpoints.
347
346
  */
348
347
  useFipsEndpoint?: boolean | __Provider<boolean>;
348
+ /**
349
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
350
+ * @internal
351
+ */
352
+ defaultUserAgentProvider?: Provider<__UserAgent>;
349
353
  /**
350
354
  * The AWS region to which this client will send requests
351
355
  */
352
356
  region?: string | __Provider<string>;
353
357
  /**
354
358
  * Default credentials provider; Not available in browser runtime.
359
+ * @deprecated
355
360
  * @internal
356
361
  */
357
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
358
- /**
359
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
360
- * @internal
361
- */
362
- defaultUserAgentProvider?: Provider<__UserAgent>;
362
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
363
363
  /**
364
364
  * Value for how many times a request will be made at most in case of retry.
365
365
  */
@@ -386,7 +386,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
386
386
  /**
387
387
  * @public
388
388
  */
389
- export type IoTClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
389
+ export type IoTClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
390
390
  /**
391
391
  * @public
392
392
  *
@@ -397,7 +397,7 @@ export interface IoTClientConfig extends IoTClientConfigType {
397
397
  /**
398
398
  * @public
399
399
  */
400
- export type IoTClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
400
+ export type IoTClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
401
401
  /**
402
402
  * @public
403
403
  *
@@ -436,4 +436,6 @@ export declare class IoTClient extends __Client<__HttpHandlerOptions, ServiceInp
436
436
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
437
437
  */
438
438
  destroy(): void;
439
+ private getDefaultHttpAuthSchemeParametersProvider;
440
+ private getIdentityProviderConfigProvider;
439
441
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { IoTHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: IoTHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): IoTHttpAuthSchemeProvider;
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: IoTHttpAuthSchemeProvider;
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 { IoTClientResolvedConfig } from "../IoTClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface IoTHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface IoTHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<IoTClientResolvedConfig, HandlerExecutionContext, IoTHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultIoTHttpAuthSchemeParametersProvider: (config: IoTClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<IoTHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface IoTHttpAuthSchemeProvider extends HttpAuthSchemeProvider<IoTHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultIoTHttpAuthSchemeProvider: IoTHttpAuthSchemeProvider;
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?: IoTHttpAuthSchemeProvider;
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: IoTHttpAuthSchemeProvider;
57
+ }
58
+ /**
59
+ * @internal
60
+ */
61
+ export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;
@@ -55,6 +55,9 @@ declare const CreateDomainConfigurationCommand_base: {
55
55
  * tlsConfig: { // TlsConfig
56
56
  * securityPolicy: "STRING_VALUE",
57
57
  * },
58
+ * serverCertificateConfig: { // ServerCertificateConfig
59
+ * enableOCSPCheck: true || false,
60
+ * },
58
61
  * };
59
62
  * const command = new CreateDomainConfigurationCommand(input);
60
63
  * const response = await client.send(command);
@@ -1,8 +1,7 @@
1
1
  import { Command as $Command } from "@smithy/smithy-client";
2
2
  import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
3
  import { IoTClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../IoTClient";
4
- import { DeleteCustomMetricRequest } from "../models/models_0";
5
- import { DeleteCustomMetricResponse } from "../models/models_1";
4
+ import { DeleteCustomMetricRequest, DeleteCustomMetricResponse } from "../models/models_1";
6
5
  /**
7
6
  * @public
8
7
  */
@@ -61,6 +61,9 @@ declare const DescribeDomainConfigurationCommand_base: {
61
61
  * // tlsConfig: { // TlsConfig
62
62
  * // securityPolicy: "STRING_VALUE",
63
63
  * // },
64
+ * // serverCertificateConfig: { // ServerCertificateConfig
65
+ * // enableOCSPCheck: true || false,
66
+ * // },
64
67
  * // };
65
68
  *
66
69
  * ```
@@ -26,7 +26,11 @@ declare const DescribeEndpointCommand_base: {
26
26
  };
27
27
  /**
28
28
  * @public
29
- * <p>Returns a unique endpoint specific to the Amazon Web Services account making the call.</p>
29
+ * <p>Returns or creates a unique endpoint specific to the Amazon Web Services account making the
30
+ * call.</p>
31
+ * <note>
32
+ * <p>The first time <code>DescribeEndpoint</code> is called, an endpoint is created. All subsequent calls to <code>DescribeEndpoint</code> return the same endpoint.</p>
33
+ * </note>
30
34
  * <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DescribeEndpoint</a> action.</p>
31
35
  * @example
32
36
  * Use a bare-bones client and the command you need to make an API call.