@aws-sdk/client-api-gateway 3.489.0 → 3.495.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 (170) hide show
  1. package/dist-cjs/APIGateway.js +1 -251
  2. package/dist-cjs/APIGatewayClient.js +1 -45
  3. package/dist-cjs/auth/httpAuthExtensionConfiguration.js +1 -0
  4. package/dist-cjs/auth/httpAuthSchemeProvider.js +47 -0
  5. package/dist-cjs/commands/CreateApiKeyCommand.js +1 -28
  6. package/dist-cjs/commands/CreateAuthorizerCommand.js +1 -28
  7. package/dist-cjs/commands/CreateBasePathMappingCommand.js +1 -28
  8. package/dist-cjs/commands/CreateDeploymentCommand.js +1 -28
  9. package/dist-cjs/commands/CreateDocumentationPartCommand.js +1 -28
  10. package/dist-cjs/commands/CreateDocumentationVersionCommand.js +1 -28
  11. package/dist-cjs/commands/CreateDomainNameCommand.js +1 -28
  12. package/dist-cjs/commands/CreateModelCommand.js +1 -28
  13. package/dist-cjs/commands/CreateRequestValidatorCommand.js +1 -28
  14. package/dist-cjs/commands/CreateResourceCommand.js +1 -28
  15. package/dist-cjs/commands/CreateRestApiCommand.js +1 -28
  16. package/dist-cjs/commands/CreateStageCommand.js +1 -28
  17. package/dist-cjs/commands/CreateUsagePlanCommand.js +1 -28
  18. package/dist-cjs/commands/CreateUsagePlanKeyCommand.js +1 -28
  19. package/dist-cjs/commands/CreateVpcLinkCommand.js +1 -28
  20. package/dist-cjs/commands/DeleteApiKeyCommand.js +1 -28
  21. package/dist-cjs/commands/DeleteAuthorizerCommand.js +1 -28
  22. package/dist-cjs/commands/DeleteBasePathMappingCommand.js +1 -28
  23. package/dist-cjs/commands/DeleteClientCertificateCommand.js +1 -28
  24. package/dist-cjs/commands/DeleteDeploymentCommand.js +1 -28
  25. package/dist-cjs/commands/DeleteDocumentationPartCommand.js +1 -28
  26. package/dist-cjs/commands/DeleteDocumentationVersionCommand.js +1 -28
  27. package/dist-cjs/commands/DeleteDomainNameCommand.js +1 -28
  28. package/dist-cjs/commands/DeleteGatewayResponseCommand.js +1 -28
  29. package/dist-cjs/commands/DeleteIntegrationCommand.js +1 -28
  30. package/dist-cjs/commands/DeleteIntegrationResponseCommand.js +1 -28
  31. package/dist-cjs/commands/DeleteMethodCommand.js +1 -28
  32. package/dist-cjs/commands/DeleteMethodResponseCommand.js +1 -28
  33. package/dist-cjs/commands/DeleteModelCommand.js +1 -28
  34. package/dist-cjs/commands/DeleteRequestValidatorCommand.js +1 -28
  35. package/dist-cjs/commands/DeleteResourceCommand.js +1 -28
  36. package/dist-cjs/commands/DeleteRestApiCommand.js +1 -28
  37. package/dist-cjs/commands/DeleteStageCommand.js +1 -28
  38. package/dist-cjs/commands/DeleteUsagePlanCommand.js +1 -28
  39. package/dist-cjs/commands/DeleteUsagePlanKeyCommand.js +1 -28
  40. package/dist-cjs/commands/DeleteVpcLinkCommand.js +1 -28
  41. package/dist-cjs/commands/FlushStageAuthorizersCacheCommand.js +1 -28
  42. package/dist-cjs/commands/FlushStageCacheCommand.js +1 -28
  43. package/dist-cjs/commands/GenerateClientCertificateCommand.js +1 -28
  44. package/dist-cjs/commands/GetAccountCommand.js +1 -28
  45. package/dist-cjs/commands/GetApiKeyCommand.js +1 -28
  46. package/dist-cjs/commands/GetApiKeysCommand.js +1 -28
  47. package/dist-cjs/commands/GetAuthorizerCommand.js +1 -28
  48. package/dist-cjs/commands/GetAuthorizersCommand.js +1 -28
  49. package/dist-cjs/commands/GetBasePathMappingCommand.js +1 -28
  50. package/dist-cjs/commands/GetBasePathMappingsCommand.js +1 -28
  51. package/dist-cjs/commands/GetClientCertificateCommand.js +1 -28
  52. package/dist-cjs/commands/GetClientCertificatesCommand.js +1 -28
  53. package/dist-cjs/commands/GetDeploymentCommand.js +1 -28
  54. package/dist-cjs/commands/GetDeploymentsCommand.js +1 -28
  55. package/dist-cjs/commands/GetDocumentationPartCommand.js +1 -28
  56. package/dist-cjs/commands/GetDocumentationPartsCommand.js +1 -28
  57. package/dist-cjs/commands/GetDocumentationVersionCommand.js +1 -28
  58. package/dist-cjs/commands/GetDocumentationVersionsCommand.js +1 -28
  59. package/dist-cjs/commands/GetDomainNameCommand.js +1 -28
  60. package/dist-cjs/commands/GetDomainNamesCommand.js +1 -28
  61. package/dist-cjs/commands/GetExportCommand.js +1 -28
  62. package/dist-cjs/commands/GetGatewayResponseCommand.js +1 -28
  63. package/dist-cjs/commands/GetGatewayResponsesCommand.js +1 -28
  64. package/dist-cjs/commands/GetIntegrationCommand.js +1 -28
  65. package/dist-cjs/commands/GetIntegrationResponseCommand.js +1 -28
  66. package/dist-cjs/commands/GetMethodCommand.js +1 -28
  67. package/dist-cjs/commands/GetMethodResponseCommand.js +1 -28
  68. package/dist-cjs/commands/GetModelCommand.js +1 -28
  69. package/dist-cjs/commands/GetModelTemplateCommand.js +1 -28
  70. package/dist-cjs/commands/GetModelsCommand.js +1 -28
  71. package/dist-cjs/commands/GetRequestValidatorCommand.js +1 -28
  72. package/dist-cjs/commands/GetRequestValidatorsCommand.js +1 -28
  73. package/dist-cjs/commands/GetResourceCommand.js +1 -28
  74. package/dist-cjs/commands/GetResourcesCommand.js +1 -28
  75. package/dist-cjs/commands/GetRestApiCommand.js +1 -28
  76. package/dist-cjs/commands/GetRestApisCommand.js +1 -28
  77. package/dist-cjs/commands/GetSdkCommand.js +1 -28
  78. package/dist-cjs/commands/GetSdkTypeCommand.js +1 -28
  79. package/dist-cjs/commands/GetSdkTypesCommand.js +1 -28
  80. package/dist-cjs/commands/GetStageCommand.js +1 -28
  81. package/dist-cjs/commands/GetStagesCommand.js +1 -28
  82. package/dist-cjs/commands/GetTagsCommand.js +1 -28
  83. package/dist-cjs/commands/GetUsageCommand.js +1 -28
  84. package/dist-cjs/commands/GetUsagePlanCommand.js +1 -28
  85. package/dist-cjs/commands/GetUsagePlanKeyCommand.js +1 -28
  86. package/dist-cjs/commands/GetUsagePlanKeysCommand.js +1 -28
  87. package/dist-cjs/commands/GetUsagePlansCommand.js +1 -28
  88. package/dist-cjs/commands/GetVpcLinkCommand.js +1 -28
  89. package/dist-cjs/commands/GetVpcLinksCommand.js +1 -28
  90. package/dist-cjs/commands/ImportApiKeysCommand.js +1 -28
  91. package/dist-cjs/commands/ImportDocumentationPartsCommand.js +1 -28
  92. package/dist-cjs/commands/ImportRestApiCommand.js +1 -28
  93. package/dist-cjs/commands/PutGatewayResponseCommand.js +1 -28
  94. package/dist-cjs/commands/PutIntegrationCommand.js +1 -28
  95. package/dist-cjs/commands/PutIntegrationResponseCommand.js +1 -28
  96. package/dist-cjs/commands/PutMethodCommand.js +1 -28
  97. package/dist-cjs/commands/PutMethodResponseCommand.js +1 -28
  98. package/dist-cjs/commands/PutRestApiCommand.js +1 -28
  99. package/dist-cjs/commands/TagResourceCommand.js +1 -28
  100. package/dist-cjs/commands/TestInvokeAuthorizerCommand.js +1 -28
  101. package/dist-cjs/commands/TestInvokeMethodCommand.js +1 -28
  102. package/dist-cjs/commands/UntagResourceCommand.js +1 -28
  103. package/dist-cjs/commands/UpdateAccountCommand.js +1 -28
  104. package/dist-cjs/commands/UpdateApiKeyCommand.js +1 -28
  105. package/dist-cjs/commands/UpdateAuthorizerCommand.js +1 -28
  106. package/dist-cjs/commands/UpdateBasePathMappingCommand.js +1 -28
  107. package/dist-cjs/commands/UpdateClientCertificateCommand.js +1 -28
  108. package/dist-cjs/commands/UpdateDeploymentCommand.js +1 -28
  109. package/dist-cjs/commands/UpdateDocumentationPartCommand.js +1 -28
  110. package/dist-cjs/commands/UpdateDocumentationVersionCommand.js +1 -28
  111. package/dist-cjs/commands/UpdateDomainNameCommand.js +1 -28
  112. package/dist-cjs/commands/UpdateGatewayResponseCommand.js +1 -28
  113. package/dist-cjs/commands/UpdateIntegrationCommand.js +1 -28
  114. package/dist-cjs/commands/UpdateIntegrationResponseCommand.js +1 -28
  115. package/dist-cjs/commands/UpdateMethodCommand.js +1 -28
  116. package/dist-cjs/commands/UpdateMethodResponseCommand.js +1 -28
  117. package/dist-cjs/commands/UpdateModelCommand.js +1 -28
  118. package/dist-cjs/commands/UpdateRequestValidatorCommand.js +1 -28
  119. package/dist-cjs/commands/UpdateResourceCommand.js +1 -28
  120. package/dist-cjs/commands/UpdateRestApiCommand.js +1 -28
  121. package/dist-cjs/commands/UpdateStageCommand.js +1 -28
  122. package/dist-cjs/commands/UpdateUsageCommand.js +1 -28
  123. package/dist-cjs/commands/UpdateUsagePlanCommand.js +1 -28
  124. package/dist-cjs/commands/UpdateVpcLinkCommand.js +1 -28
  125. package/dist-cjs/commands/index.js +1 -123
  126. package/dist-cjs/endpoint/EndpointParameters.js +1 -18
  127. package/dist-cjs/extensionConfiguration.js +1 -2
  128. package/dist-cjs/index.js +10968 -11
  129. package/dist-cjs/models/APIGatewayServiceException.js +1 -12
  130. package/dist-cjs/models/index.js +1 -4
  131. package/dist-cjs/models/models_0.js +1 -227
  132. package/dist-cjs/pagination/GetApiKeysPaginator.js +1 -7
  133. package/dist-cjs/pagination/GetBasePathMappingsPaginator.js +1 -7
  134. package/dist-cjs/pagination/GetClientCertificatesPaginator.js +1 -7
  135. package/dist-cjs/pagination/GetDeploymentsPaginator.js +1 -7
  136. package/dist-cjs/pagination/GetDomainNamesPaginator.js +1 -7
  137. package/dist-cjs/pagination/GetModelsPaginator.js +1 -7
  138. package/dist-cjs/pagination/GetResourcesPaginator.js +1 -7
  139. package/dist-cjs/pagination/GetRestApisPaginator.js +1 -7
  140. package/dist-cjs/pagination/GetUsagePaginator.js +1 -7
  141. package/dist-cjs/pagination/GetUsagePlanKeysPaginator.js +1 -7
  142. package/dist-cjs/pagination/GetUsagePlansPaginator.js +1 -7
  143. package/dist-cjs/pagination/GetVpcLinksPaginator.js +1 -7
  144. package/dist-cjs/pagination/Interfaces.js +1 -2
  145. package/dist-cjs/pagination/index.js +1 -16
  146. package/dist-cjs/protocols/Aws_restJson1.js +1 -8157
  147. package/dist-cjs/runtimeConfig.shared.js +10 -0
  148. package/dist-cjs/runtimeExtensions.js +1 -22
  149. package/dist-es/APIGatewayClient.js +17 -4
  150. package/dist-es/auth/httpAuthExtensionConfiguration.js +38 -0
  151. package/dist-es/auth/httpAuthSchemeProvider.js +41 -0
  152. package/dist-es/runtimeConfig.shared.js +10 -0
  153. package/dist-es/runtimeExtensions.js +3 -0
  154. package/dist-types/APIGatewayClient.d.ts +13 -11
  155. package/dist-types/auth/httpAuthExtensionConfiguration.d.ts +29 -0
  156. package/dist-types/auth/httpAuthSchemeProvider.d.ts +61 -0
  157. package/dist-types/extensionConfiguration.d.ts +2 -1
  158. package/dist-types/runtimeConfig.browser.d.ts +6 -6
  159. package/dist-types/runtimeConfig.d.ts +5 -3
  160. package/dist-types/runtimeConfig.native.d.ts +6 -4
  161. package/dist-types/runtimeConfig.shared.d.ts +2 -0
  162. package/dist-types/ts3.4/APIGatewayClient.d.ts +11 -9
  163. package/dist-types/ts3.4/auth/httpAuthExtensionConfiguration.d.ts +32 -0
  164. package/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +44 -0
  165. package/dist-types/ts3.4/extensionConfiguration.d.ts +3 -1
  166. package/dist-types/ts3.4/runtimeConfig.browser.d.ts +5 -5
  167. package/dist-types/ts3.4/runtimeConfig.d.ts +5 -5
  168. package/dist-types/ts3.4/runtimeConfig.native.d.ts +8 -8
  169. package/dist-types/ts3.4/runtimeConfig.shared.d.ts +2 -0
  170. package/package.json +42 -42
@@ -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.defaultAPIGatewayHttpAuthSchemeProvider,
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 ?? "API Gateway",
19
29
  urlParser: config?.urlParser ?? url_parser_1.parseUrl,
@@ -1,22 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveRuntimeExtensions = void 0;
4
- const region_config_resolver_1 = require("@aws-sdk/region-config-resolver");
5
- const protocol_http_1 = require("@smithy/protocol-http");
6
- const smithy_client_1 = require("@smithy/smithy-client");
7
- const asPartial = (t) => t;
8
- const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
9
- const extensionConfiguration = {
10
- ...asPartial((0, region_config_resolver_1.getAwsRegionExtensionConfiguration)(runtimeConfig)),
11
- ...asPartial((0, smithy_client_1.getDefaultExtensionConfiguration)(runtimeConfig)),
12
- ...asPartial((0, protocol_http_1.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
13
- };
14
- extensions.forEach((extension) => extension.configure(extensionConfiguration));
15
- return {
16
- ...runtimeConfig,
17
- ...(0, region_config_resolver_1.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
18
- ...(0, smithy_client_1.resolveDefaultRuntimeConfig)(extensionConfiguration),
19
- ...(0, protocol_http_1.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
20
- };
21
- };
22
- exports.resolveRuntimeExtensions = resolveRuntimeExtensions;
1
+ module.exports = require("./index.js");
@@ -2,13 +2,14 @@ import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middlewa
2
2
  import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
3
3
  import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
4
4
  import { getAcceptHeaderPlugin } from "@aws-sdk/middleware-sdk-api-gateway";
5
- import { getAwsAuthPlugin, resolveAwsAuthConfig, } from "@aws-sdk/middleware-signing";
6
5
  import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
7
6
  import { resolveRegionConfig } from "@smithy/config-resolver";
7
+ import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core";
8
8
  import { getContentLengthPlugin } from "@smithy/middleware-content-length";
9
9
  import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
10
10
  import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
11
11
  import { Client as __Client, } from "@smithy/smithy-client";
12
+ import { defaultAPIGatewayHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider";
12
13
  import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
13
14
  import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
14
15
  import { resolveRuntimeExtensions } from "./runtimeExtensions";
@@ -21,8 +22,8 @@ export class APIGatewayClient extends __Client {
21
22
  const _config_3 = resolveEndpointConfig(_config_2);
22
23
  const _config_4 = resolveRetryConfig(_config_3);
23
24
  const _config_5 = resolveHostHeaderConfig(_config_4);
24
- const _config_6 = resolveAwsAuthConfig(_config_5);
25
- const _config_7 = resolveUserAgentConfig(_config_6);
25
+ const _config_6 = resolveUserAgentConfig(_config_5);
26
+ const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
26
27
  const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
27
28
  super(_config_8);
28
29
  this.config = _config_8;
@@ -32,10 +33,22 @@ export class APIGatewayClient extends __Client {
32
33
  this.middlewareStack.use(getHostHeaderPlugin(this.config));
33
34
  this.middlewareStack.use(getLoggerPlugin(this.config));
34
35
  this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
35
- this.middlewareStack.use(getAwsAuthPlugin(this.config));
36
36
  this.middlewareStack.use(getUserAgentPlugin(this.config));
37
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
38
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
39
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
40
+ }));
41
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
37
42
  }
38
43
  destroy() {
39
44
  super.destroy();
40
45
  }
46
+ getDefaultHttpAuthSchemeParametersProvider() {
47
+ return defaultAPIGatewayHttpAuthSchemeParametersProvider;
48
+ }
49
+ getIdentityProviderConfigProvider() {
50
+ return async (config) => new DefaultIdentityProviderConfig({
51
+ "aws.auth#sigv4": config.credentials,
52
+ });
53
+ }
41
54
  }
@@ -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 defaultAPIGatewayHttpAuthSchemeParametersProvider = 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: "apigateway",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultAPIGatewayHttpAuthSchemeProvider = (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 { defaultAPIGatewayHttpAuthSchemeProvider } 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 ?? defaultAPIGatewayHttpAuthSchemeProvider,
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 ?? "API Gateway",
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 { CreateApiKeyCommandInput, CreateApiKeyCommandOutput } from "./commands/CreateApiKeyCommand";
12
11
  import { CreateAuthorizerCommandInput, CreateAuthorizerCommandOutput } from "./commands/CreateAuthorizerCommand";
13
12
  import { CreateBasePathMappingCommandInput, CreateBasePathMappingCommandOutput } from "./commands/CreateBasePathMappingCommand";
@@ -211,20 +210,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
211
210
  * Enables FIPS compatible endpoints.
212
211
  */
213
212
  useFipsEndpoint?: boolean | __Provider<boolean>;
213
+ /**
214
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
215
+ * @internal
216
+ */
217
+ defaultUserAgentProvider?: Provider<__UserAgent>;
214
218
  /**
215
219
  * The AWS region to which this client will send requests
216
220
  */
217
221
  region?: string | __Provider<string>;
218
222
  /**
219
223
  * Default credentials provider; Not available in browser runtime.
224
+ * @deprecated
220
225
  * @internal
221
226
  */
222
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
223
- /**
224
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
225
- * @internal
226
- */
227
- defaultUserAgentProvider?: Provider<__UserAgent>;
227
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
228
228
  /**
229
229
  * Value for how many times a request will be made at most in case of retry.
230
230
  */
@@ -251,7 +251,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
251
251
  /**
252
252
  * @public
253
253
  */
254
- export type APIGatewayClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
254
+ export type APIGatewayClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
255
255
  /**
256
256
  * @public
257
257
  *
@@ -262,7 +262,7 @@ export interface APIGatewayClientConfig extends APIGatewayClientConfigType {
262
262
  /**
263
263
  * @public
264
264
  */
265
- export type APIGatewayClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
265
+ export type APIGatewayClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
266
266
  /**
267
267
  * @public
268
268
  *
@@ -287,4 +287,6 @@ export declare class APIGatewayClient extends __Client<__HttpHandlerOptions, Ser
287
287
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
288
288
  */
289
289
  destroy(): void;
290
+ private getDefaultHttpAuthSchemeParametersProvider;
291
+ private getIdentityProviderConfigProvider;
290
292
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { APIGatewayHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: APIGatewayHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): APIGatewayHttpAuthSchemeProvider;
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: APIGatewayHttpAuthSchemeProvider;
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 { APIGatewayClientResolvedConfig } from "../APIGatewayClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface APIGatewayHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface APIGatewayHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<APIGatewayClientResolvedConfig, HandlerExecutionContext, APIGatewayHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultAPIGatewayHttpAuthSchemeParametersProvider: (config: APIGatewayClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<APIGatewayHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface APIGatewayHttpAuthSchemeProvider extends HttpAuthSchemeProvider<APIGatewayHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultAPIGatewayHttpAuthSchemeProvider: APIGatewayHttpAuthSchemeProvider;
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?: APIGatewayHttpAuthSchemeProvider;
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: APIGatewayHttpAuthSchemeProvider;
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 APIGatewayExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface APIGatewayExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: APIGatewayClientConfig) => {
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,13 +36,13 @@ export declare const getRuntimeConfig: (config: APIGatewayClientConfig) => {
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").APIGatewayHttpAuthSchemeProvider;
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
- signingRegion?: string | undefined; /**
44
- * @internal
45
- */
46
+ signingRegion?: string | undefined;
46
47
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
47
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
48
48
  };
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: APIGatewayClientConfig) => {
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<string>;
@@ -36,11 +36,13 @@ export declare const getRuntimeConfig: (config: APIGatewayClientConfig) => {
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").APIGatewayHttpAuthSchemeProvider;
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: APIGatewayClientConfig) => {
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: APIGatewayClientConfig) => {
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").APIGatewayHttpAuthSchemeProvider;
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: APIGatewayClientConfig) => {
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").APIGatewayHttpAuthSchemeProvider;
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
  CreateApiKeyCommandInput,
50
50
  CreateApiKeyCommandOutput,
@@ -790,9 +790,9 @@ export interface ClientDefaults
790
790
  serviceId?: string;
791
791
  useDualstackEndpoint?: boolean | __Provider<boolean>;
792
792
  useFipsEndpoint?: boolean | __Provider<boolean>;
793
- region?: string | __Provider<string>;
794
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
795
793
  defaultUserAgentProvider?: Provider<__UserAgent>;
794
+ region?: string | __Provider<string>;
795
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
796
796
  maxAttempts?: number | __Provider<number>;
797
797
  retryMode?: string | __Provider<string>;
798
798
  logger?: __Logger;
@@ -807,8 +807,8 @@ export type APIGatewayClientConfigType = Partial<
807
807
  EndpointInputConfig<EndpointParameters> &
808
808
  RetryInputConfig &
809
809
  HostHeaderInputConfig &
810
- AwsAuthInputConfig &
811
810
  UserAgentInputConfig &
811
+ HttpAuthSchemeInputConfig &
812
812
  ClientInputEndpointParameters;
813
813
  export interface APIGatewayClientConfig extends APIGatewayClientConfigType {}
814
814
  export type APIGatewayClientResolvedConfigType =
@@ -819,8 +819,8 @@ export type APIGatewayClientResolvedConfigType =
819
819
  EndpointResolvedConfig<EndpointParameters> &
820
820
  RetryResolvedConfig &
821
821
  HostHeaderResolvedConfig &
822
- AwsAuthResolvedConfig &
823
822
  UserAgentResolvedConfig &
823
+ HttpAuthSchemeResolvedConfig &
824
824
  ClientResolvedEndpointParameters;
825
825
  export interface APIGatewayClientResolvedConfig
826
826
  extends APIGatewayClientResolvedConfigType {}
@@ -835,4 +835,6 @@ export declare class APIGatewayClient extends __Client<
835
835
  ...[configuration]: __CheckOptionalClientConfig<APIGatewayClientConfig>
836
836
  );
837
837
  destroy(): void;
838
+ private getDefaultHttpAuthSchemeParametersProvider;
839
+ private getIdentityProviderConfigProvider;
838
840
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { APIGatewayHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: APIGatewayHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): APIGatewayHttpAuthSchemeProvider;
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: APIGatewayHttpAuthSchemeProvider;
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;