@mavogel/awscdk-rootmail 0.0.15 → 0.0.16

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 (157) hide show
  1. package/.jsii +8 -8
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  6. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +66 -8
  7. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/runtimeConfig.shared.js +10 -0
  8. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/CloudWatchLogsClient.js +18 -5
  9. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  10. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  11. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/runtimeConfig.shared.js +10 -0
  12. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-es/runtimeExtensions.js +3 -0
  13. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/CloudWatchLogsClient.d.ts +13 -11
  14. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  15. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  16. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/extensionConfiguration.d.ts +2 -1
  17. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.browser.d.ts +5 -3
  18. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.d.ts +4 -2
  19. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.native.d.ts +6 -4
  20. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/runtimeConfig.shared.d.ts +2 -0
  21. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/CloudWatchLogsClient.d.ts +11 -9
  22. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  23. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +44 -0
  24. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  25. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  26. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.d.ts +4 -4
  27. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  28. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  29. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +7 -7
  30. package/node_modules/@aws-sdk/client-route-53/package.json +6 -6
  31. package/node_modules/@aws-sdk/client-s3/package.json +6 -6
  32. package/node_modules/@aws-sdk/client-ses/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  33. package/node_modules/@aws-sdk/client-ses/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  34. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +65 -7
  35. package/node_modules/@aws-sdk/client-ses/dist-cjs/runtimeConfig.shared.js +10 -0
  36. package/node_modules/@aws-sdk/client-ses/dist-es/SESClient.js +17 -4
  37. package/node_modules/@aws-sdk/client-ses/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  38. package/node_modules/@aws-sdk/client-ses/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  39. package/node_modules/@aws-sdk/client-ses/dist-es/runtimeConfig.shared.js +10 -0
  40. package/node_modules/@aws-sdk/client-ses/dist-es/runtimeExtensions.js +3 -0
  41. package/node_modules/@aws-sdk/client-ses/dist-types/SESClient.d.ts +13 -11
  42. package/node_modules/@aws-sdk/client-ses/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  43. package/node_modules/@aws-sdk/client-ses/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  44. package/node_modules/@aws-sdk/client-ses/dist-types/extensionConfiguration.d.ts +2 -1
  45. package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.browser.d.ts +5 -3
  46. package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.d.ts +4 -2
  47. package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.native.d.ts +6 -4
  48. package/node_modules/@aws-sdk/client-ses/dist-types/runtimeConfig.shared.d.ts +2 -0
  49. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/SESClient.d.ts +11 -9
  50. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  51. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  52. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  53. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  54. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.d.ts +4 -4
  55. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  56. package/node_modules/@aws-sdk/client-ses/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  57. package/node_modules/@aws-sdk/client-ses/package.json +7 -7
  58. package/node_modules/@aws-sdk/client-ssm/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  59. package/node_modules/@aws-sdk/client-ssm/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  60. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +65 -7
  61. package/node_modules/@aws-sdk/client-ssm/dist-cjs/runtimeConfig.shared.js +10 -0
  62. package/node_modules/@aws-sdk/client-ssm/dist-es/SSMClient.js +17 -4
  63. package/node_modules/@aws-sdk/client-ssm/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  64. package/node_modules/@aws-sdk/client-ssm/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  65. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeConfig.shared.js +10 -0
  66. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeExtensions.js +3 -0
  67. package/node_modules/@aws-sdk/client-ssm/dist-types/SSMClient.d.ts +13 -11
  68. package/node_modules/@aws-sdk/client-ssm/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  69. package/node_modules/@aws-sdk/client-ssm/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  70. package/node_modules/@aws-sdk/client-ssm/dist-types/extensionConfiguration.d.ts +2 -1
  71. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.browser.d.ts +5 -3
  72. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.d.ts +4 -2
  73. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.native.d.ts +6 -4
  74. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.shared.d.ts +2 -0
  75. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/SSMClient.d.ts +11 -9
  76. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  77. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  78. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  79. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  80. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.d.ts +4 -4
  81. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  82. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  83. package/node_modules/@aws-sdk/client-ssm/package.json +7 -7
  84. package/node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  85. package/node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js +68 -0
  86. package/node_modules/@aws-sdk/client-sso/dist-cjs/index.js +67 -6
  87. package/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js +16 -0
  88. package/node_modules/@aws-sdk/client-sso/dist-es/SSOClient.js +19 -3
  89. package/node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  90. package/node_modules/@aws-sdk/client-sso/dist-es/auth/httpAuthSchemeProvider.js +62 -0
  91. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.shared.js +16 -0
  92. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeExtensions.js +3 -0
  93. package/node_modules/@aws-sdk/client-sso/dist-types/SSOClient.d.ts +9 -6
  94. package/node_modules/@aws-sdk/client-sso/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  95. package/node_modules/@aws-sdk/client-sso/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  96. package/node_modules/@aws-sdk/client-sso/dist-types/extensionConfiguration.d.ts +2 -1
  97. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.browser.d.ts +16 -0
  98. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.d.ts +16 -0
  99. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.native.d.ts +17 -1
  100. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.shared.d.ts +13 -0
  101. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/SSOClient.d.ts +9 -1
  102. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  103. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +43 -0
  104. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  105. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.browser.d.ts +46 -0
  106. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.d.ts +46 -0
  107. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.native.d.ts +47 -1
  108. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.shared.d.ts +30 -0
  109. package/node_modules/@aws-sdk/client-sso/package.json +5 -4
  110. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  111. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/auth/httpAuthSchemeProvider.js +64 -0
  112. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js +66 -9
  113. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.shared.js +16 -0
  114. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/SSOOIDCClient.js +17 -3
  115. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  116. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/auth/httpAuthSchemeProvider.js +58 -0
  117. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/commands/CreateTokenWithIAMCommand.js +0 -2
  118. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.shared.js +16 -0
  119. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeExtensions.js +3 -0
  120. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/SSOOIDCClient.d.ts +13 -11
  121. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  122. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  123. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/extensionConfiguration.d.ts +2 -1
  124. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.browser.d.ts +13 -3
  125. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.d.ts +12 -2
  126. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.native.d.ts +14 -4
  127. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.shared.d.ts +13 -0
  128. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/SSOOIDCClient.d.ts +11 -9
  129. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  130. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +44 -0
  131. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  132. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.browser.d.ts +30 -5
  133. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.d.ts +29 -4
  134. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.native.d.ts +33 -8
  135. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.shared.d.ts +30 -0
  136. package/node_modules/@aws-sdk/client-sso-oidc/package.json +7 -7
  137. package/node_modules/@aws-sdk/client-sts/package.json +5 -5
  138. package/node_modules/@aws-sdk/core/CHANGELOG.md +11 -0
  139. package/node_modules/@aws-sdk/core/package.json +2 -2
  140. package/node_modules/@aws-sdk/credential-provider-ini/package.json +4 -4
  141. package/node_modules/@aws-sdk/credential-provider-node/package.json +4 -4
  142. package/node_modules/@aws-sdk/credential-provider-sso/package.json +3 -3
  143. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +2 -2
  144. package/node_modules/@aws-sdk/token-providers/package.json +2 -2
  145. package/node_modules/cdk-nag/.jsii +2 -2
  146. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  147. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  148. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  149. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  150. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  151. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  152. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  153. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  154. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  155. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  156. package/node_modules/cdk-nag/package.json +2 -2
  157. package/package.json +9 -9
@@ -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.defaultSESHttpAuthSchemeProvider,
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 ?? "SES",
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 { defaultSESHttpAuthSchemeParametersProvider, 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 SESClient 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 SESClient 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 defaultSESHttpAuthSchemeParametersProvider;
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 defaultSESHttpAuthSchemeParametersProvider = 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: "ses",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultSESHttpAuthSchemeProvider = (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 { defaultSESHttpAuthSchemeProvider } 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 ?? defaultSESHttpAuthSchemeProvider,
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 ?? "SES",
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 { CloneReceiptRuleSetCommandInput, CloneReceiptRuleSetCommandOutput } from "./commands/CloneReceiptRuleSetCommand";
12
11
  import { CreateConfigurationSetCommandInput, CreateConfigurationSetCommandOutput } from "./commands/CreateConfigurationSetCommand";
13
12
  import { CreateConfigurationSetEventDestinationCommandInput, CreateConfigurationSetEventDestinationCommandOutput } from "./commands/CreateConfigurationSetEventDestinationCommand";
@@ -162,20 +161,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
162
161
  * Enables FIPS compatible endpoints.
163
162
  */
164
163
  useFipsEndpoint?: boolean | __Provider<boolean>;
164
+ /**
165
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
166
+ * @internal
167
+ */
168
+ defaultUserAgentProvider?: Provider<__UserAgent>;
165
169
  /**
166
170
  * The AWS region to which this client will send requests
167
171
  */
168
172
  region?: string | __Provider<string>;
169
173
  /**
170
174
  * Default credentials provider; Not available in browser runtime.
175
+ * @deprecated
171
176
  * @internal
172
177
  */
173
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
174
- /**
175
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
176
- * @internal
177
- */
178
- defaultUserAgentProvider?: Provider<__UserAgent>;
178
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
179
179
  /**
180
180
  * Value for how many times a request will be made at most in case of retry.
181
181
  */
@@ -202,7 +202,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
202
202
  /**
203
203
  * @public
204
204
  */
205
- export type SESClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
205
+ export type SESClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
206
206
  /**
207
207
  * @public
208
208
  *
@@ -213,7 +213,7 @@ export interface SESClientConfig extends SESClientConfigType {
213
213
  /**
214
214
  * @public
215
215
  */
216
- export type SESClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
216
+ export type SESClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
217
217
  /**
218
218
  * @public
219
219
  *
@@ -270,4 +270,6 @@ export declare class SESClient extends __Client<__HttpHandlerOptions, ServiceInp
270
270
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
271
271
  */
272
272
  destroy(): void;
273
+ private getDefaultHttpAuthSchemeParametersProvider;
274
+ private getIdentityProviderConfigProvider;
273
275
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { SESHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: SESHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): SESHttpAuthSchemeProvider;
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: SESHttpAuthSchemeProvider;
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 { SESClientResolvedConfig } from "../SESClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface SESHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface SESHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<SESClientResolvedConfig, HandlerExecutionContext, SESHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultSESHttpAuthSchemeParametersProvider: (config: SESClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<SESHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface SESHttpAuthSchemeProvider extends HttpAuthSchemeProvider<SESHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultSESHttpAuthSchemeProvider: SESHttpAuthSchemeProvider;
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?: SESHttpAuthSchemeProvider;
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: SESHttpAuthSchemeProvider;
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 SESExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface SESExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: SESClientConfig) => {
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: SESClientConfig) => {
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").SESHttpAuthSchemeProvider;
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: SESClientConfig) => {
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").SESHttpAuthSchemeProvider;
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: SESClientConfig) => {
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: SESClientConfig) => {
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").SESHttpAuthSchemeProvider;
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: SESClientConfig) => {
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").SESHttpAuthSchemeProvider;
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
  CloneReceiptRuleSetCommandInput,
50
50
  CloneReceiptRuleSetCommandOutput,
@@ -496,9 +496,9 @@ export interface ClientDefaults
496
496
  serviceId?: string;
497
497
  useDualstackEndpoint?: boolean | __Provider<boolean>;
498
498
  useFipsEndpoint?: boolean | __Provider<boolean>;
499
- region?: string | __Provider<string>;
500
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
501
499
  defaultUserAgentProvider?: Provider<__UserAgent>;
500
+ region?: string | __Provider<string>;
501
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
502
502
  maxAttempts?: number | __Provider<number>;
503
503
  retryMode?: string | __Provider<string>;
504
504
  logger?: __Logger;
@@ -513,8 +513,8 @@ export type SESClientConfigType = Partial<
513
513
  EndpointInputConfig<EndpointParameters> &
514
514
  RetryInputConfig &
515
515
  HostHeaderInputConfig &
516
- AwsAuthInputConfig &
517
516
  UserAgentInputConfig &
517
+ HttpAuthSchemeInputConfig &
518
518
  ClientInputEndpointParameters;
519
519
  export interface SESClientConfig extends SESClientConfigType {}
520
520
  export type SESClientResolvedConfigType =
@@ -525,8 +525,8 @@ export type SESClientResolvedConfigType =
525
525
  EndpointResolvedConfig<EndpointParameters> &
526
526
  RetryResolvedConfig &
527
527
  HostHeaderResolvedConfig &
528
- AwsAuthResolvedConfig &
529
528
  UserAgentResolvedConfig &
529
+ HttpAuthSchemeResolvedConfig &
530
530
  ClientResolvedEndpointParameters;
531
531
  export interface SESClientResolvedConfig extends SESClientResolvedConfigType {}
532
532
  export declare class SESClient extends __Client<
@@ -538,4 +538,6 @@ export declare class SESClient extends __Client<
538
538
  readonly config: SESClientResolvedConfig;
539
539
  constructor(...[configuration]: __CheckOptionalClientConfig<SESClientConfig>);
540
540
  destroy(): void;
541
+ private getDefaultHttpAuthSchemeParametersProvider;
542
+ private getIdentityProviderConfigProvider;
541
543
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { SESHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: SESHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): SESHttpAuthSchemeProvider;
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: SESHttpAuthSchemeProvider;
25
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
26
+ }>;
27
+ export declare const getHttpAuthExtensionConfiguration: (
28
+ runtimeConfig: HttpAuthRuntimeConfig
29
+ ) => HttpAuthExtensionConfiguration;
30
+ export declare const resolveHttpAuthRuntimeConfig: (
31
+ config: HttpAuthExtensionConfiguration
32
+ ) => HttpAuthRuntimeConfig;
@@ -0,0 +1,43 @@
1
+ import {
2
+ AwsSdkSigV4AuthInputConfig,
3
+ AwsSdkSigV4AuthResolvedConfig,
4
+ AwsSdkSigV4PreviouslyResolved,
5
+ } from "@aws-sdk/core";
6
+ import {
7
+ HandlerExecutionContext,
8
+ HttpAuthScheme,
9
+ HttpAuthSchemeParameters,
10
+ HttpAuthSchemeParametersProvider,
11
+ HttpAuthSchemeProvider,
12
+ } from "@smithy/types";
13
+ import { SESClientResolvedConfig } from "../SESClient";
14
+ export interface SESHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
15
+ region?: string;
16
+ }
17
+ export interface SESHttpAuthSchemeParametersProvider
18
+ extends HttpAuthSchemeParametersProvider<
19
+ SESClientResolvedConfig,
20
+ HandlerExecutionContext,
21
+ SESHttpAuthSchemeParameters,
22
+ object
23
+ > {}
24
+ export declare const defaultSESHttpAuthSchemeParametersProvider: (
25
+ config: SESClientResolvedConfig,
26
+ context: HandlerExecutionContext,
27
+ input: object
28
+ ) => Promise<SESHttpAuthSchemeParameters>;
29
+ export interface SESHttpAuthSchemeProvider
30
+ extends HttpAuthSchemeProvider<SESHttpAuthSchemeParameters> {}
31
+ export declare const defaultSESHttpAuthSchemeProvider: SESHttpAuthSchemeProvider;
32
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
33
+ httpAuthSchemes?: HttpAuthScheme[];
34
+ httpAuthSchemeProvider?: SESHttpAuthSchemeProvider;
35
+ }
36
+ export interface HttpAuthSchemeResolvedConfig
37
+ extends AwsSdkSigV4AuthResolvedConfig {
38
+ readonly httpAuthSchemes: HttpAuthScheme[];
39
+ readonly httpAuthSchemeProvider: SESHttpAuthSchemeProvider;
40
+ }
41
+ export declare const resolveHttpAuthSchemeConfig: <T>(
42
+ config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
43
+ ) => T & HttpAuthSchemeResolvedConfig;
@@ -1,7 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  export interface SESExtensionConfiguration
5
6
  extends HttpHandlerExtensionConfiguration,
6
7
  DefaultExtensionConfiguration,
7
- AwsRegionExtensionConfiguration {}
8
+ AwsRegionExtensionConfiguration,
9
+ HttpAuthExtensionConfiguration {}