@aws-sdk/client-cost-optimization-hub 3.511.0 → 3.513.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ module.exports = require("../index.js");
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthSchemeConfig = exports.defaultCostOptimizationHubHttpAuthSchemeProvider = exports.defaultCostOptimizationHubHttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultCostOptimizationHubHttpAuthSchemeParametersProvider = async (config, context, input) => {
7
+ return {
8
+ operation: (0, util_middleware_1.getSmithyContext)(context).operation,
9
+ region: (await (0, util_middleware_1.normalizeProvider)(config.region)()) ||
10
+ (() => {
11
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
12
+ })(),
13
+ };
14
+ };
15
+ exports.defaultCostOptimizationHubHttpAuthSchemeParametersProvider = defaultCostOptimizationHubHttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "cost-optimization-hub",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ const defaultCostOptimizationHubHttpAuthSchemeProvider = (authParameters) => {
32
+ const options = [];
33
+ switch (authParameters.operation) {
34
+ default: {
35
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
36
+ }
37
+ }
38
+ return options;
39
+ };
40
+ exports.defaultCostOptimizationHubHttpAuthSchemeProvider = defaultCostOptimizationHubHttpAuthSchemeProvider;
41
+ const resolveHttpAuthSchemeConfig = (config) => {
42
+ const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);
43
+ return {
44
+ ...config_0,
45
+ };
46
+ };
47
+ exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
package/dist-cjs/index.js CHANGED
@@ -57,13 +57,14 @@ module.exports = __toCommonJS(src_exports);
57
57
  var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
58
58
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
59
59
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
60
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
61
60
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
62
61
  var import_config_resolver = require("@smithy/config-resolver");
62
+ var import_core = require("@smithy/core");
63
63
  var import_middleware_content_length = require("@smithy/middleware-content-length");
64
64
  var import_middleware_endpoint = require("@smithy/middleware-endpoint");
65
65
  var import_middleware_retry = require("@smithy/middleware-retry");
66
66
 
67
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
67
68
 
68
69
  // src/endpoint/EndpointParameters.ts
69
70
  var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
@@ -88,19 +89,62 @@ var import_runtimeConfig = require("././runtimeConfig");
88
89
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
89
90
  var import_protocol_http = require("@smithy/protocol-http");
90
91
  var import_smithy_client = require("@smithy/smithy-client");
92
+
93
+ // src/auth/httpAuthExtensionConfiguration.ts
94
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
95
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
96
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
97
+ let _credentials = runtimeConfig.credentials;
98
+ return {
99
+ setHttpAuthScheme(httpAuthScheme) {
100
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
101
+ if (index === -1) {
102
+ _httpAuthSchemes.push(httpAuthScheme);
103
+ } else {
104
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
105
+ }
106
+ },
107
+ httpAuthSchemes() {
108
+ return _httpAuthSchemes;
109
+ },
110
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
111
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
112
+ },
113
+ httpAuthSchemeProvider() {
114
+ return _httpAuthSchemeProvider;
115
+ },
116
+ setCredentials(credentials) {
117
+ _credentials = credentials;
118
+ },
119
+ credentials() {
120
+ return _credentials;
121
+ }
122
+ };
123
+ }, "getHttpAuthExtensionConfiguration");
124
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
125
+ return {
126
+ httpAuthSchemes: config.httpAuthSchemes(),
127
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
128
+ credentials: config.credentials()
129
+ };
130
+ }, "resolveHttpAuthRuntimeConfig");
131
+
132
+ // src/runtimeExtensions.ts
91
133
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
92
134
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
93
135
  const extensionConfiguration = {
94
136
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
95
137
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
96
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
138
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
139
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
97
140
  };
98
141
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
99
142
  return {
100
143
  ...runtimeConfig,
101
144
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
102
145
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
103
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
146
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
147
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
104
148
  };
105
149
  }, "resolveRuntimeExtensions");
106
150
 
@@ -113,8 +157,8 @@ var _CostOptimizationHubClient = class _CostOptimizationHubClient extends import
113
157
  const _config_3 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_2);
114
158
  const _config_4 = (0, import_middleware_retry.resolveRetryConfig)(_config_3);
115
159
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
116
- const _config_6 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_5);
117
- const _config_7 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_6);
160
+ const _config_6 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_5);
161
+ const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6);
118
162
  const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []);
119
163
  super(_config_8);
120
164
  this.config = _config_8;
@@ -123,8 +167,14 @@ var _CostOptimizationHubClient = class _CostOptimizationHubClient extends import
123
167
  this.middlewareStack.use((0, import_middleware_host_header.getHostHeaderPlugin)(this.config));
124
168
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
125
169
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
126
- this.middlewareStack.use((0, import_middleware_signing.getAwsAuthPlugin)(this.config));
127
170
  this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config));
171
+ this.middlewareStack.use(
172
+ (0, import_core.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
173
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
174
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider()
175
+ })
176
+ );
177
+ this.middlewareStack.use((0, import_core.getHttpSigningPlugin)(this.config));
128
178
  }
129
179
  /**
130
180
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -134,6 +184,14 @@ var _CostOptimizationHubClient = class _CostOptimizationHubClient extends import
134
184
  destroy() {
135
185
  super.destroy();
136
186
  }
187
+ getDefaultHttpAuthSchemeParametersProvider() {
188
+ return import_httpAuthSchemeProvider.defaultCostOptimizationHubHttpAuthSchemeParametersProvider;
189
+ }
190
+ getIdentityProviderConfigProvider() {
191
+ return async (config) => new import_core.DefaultIdentityProviderConfig({
192
+ "aws.auth#sigv4": config.credentials
193
+ });
194
+ }
137
195
  };
138
196
  __name(_CostOptimizationHubClient, "CostOptimizationHubClient");
139
197
  var CostOptimizationHubClient = _CostOptimizationHubClient;
@@ -148,7 +206,7 @@ var import_middleware_serde = require("@smithy/middleware-serde");
148
206
  var import_types = require("@smithy/types");
149
207
 
150
208
  // src/protocols/Aws_json1_0.ts
151
- var import_core = require("@aws-sdk/core");
209
+ var import_core2 = require("@aws-sdk/core");
152
210
 
153
211
 
154
212
 
@@ -653,7 +711,7 @@ var de_GetRecommendationResponse = /* @__PURE__ */ __name((output, context) => {
653
711
  actionType: import_smithy_client.expectString,
654
712
  costCalculationLookbackPeriodInDays: import_smithy_client.expectInt32,
655
713
  currencyCode: import_smithy_client.expectString,
656
- currentResourceDetails: (_) => de_ResourceDetails((0, import_core.awsExpectUnion)(_), context),
714
+ currentResourceDetails: (_) => de_ResourceDetails((0, import_core2.awsExpectUnion)(_), context),
657
715
  currentResourceType: import_smithy_client.expectString,
658
716
  estimatedMonthlyCost: import_smithy_client.limitedParseDouble,
659
717
  estimatedMonthlySavings: import_smithy_client.limitedParseDouble,
@@ -663,7 +721,7 @@ var de_GetRecommendationResponse = /* @__PURE__ */ __name((output, context) => {
663
721
  lastRefreshTimestamp: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))),
664
722
  recommendationId: import_smithy_client.expectString,
665
723
  recommendationLookbackPeriodInDays: import_smithy_client.expectInt32,
666
- recommendedResourceDetails: (_) => de_ResourceDetails((0, import_core.awsExpectUnion)(_), context),
724
+ recommendedResourceDetails: (_) => de_ResourceDetails((0, import_core2.awsExpectUnion)(_), context),
667
725
  recommendedResourceType: import_smithy_client.expectString,
668
726
  region: import_smithy_client.expectString,
669
727
  resourceArn: import_smithy_client.expectString,
@@ -1110,16 +1168,16 @@ var CostOptimizationHub = _CostOptimizationHub;
1110
1168
  (0, import_smithy_client.createAggregatedClient)(commands, CostOptimizationHub);
1111
1169
 
1112
1170
  // src/pagination/ListEnrollmentStatusesPaginator.ts
1113
- var import_core2 = require("@smithy/core");
1114
- var paginateListEnrollmentStatuses = (0, import_core2.createPaginator)(CostOptimizationHubClient, ListEnrollmentStatusesCommand, "nextToken", "nextToken", "maxResults");
1171
+
1172
+ var paginateListEnrollmentStatuses = (0, import_core.createPaginator)(CostOptimizationHubClient, ListEnrollmentStatusesCommand, "nextToken", "nextToken", "maxResults");
1115
1173
 
1116
1174
  // src/pagination/ListRecommendationSummariesPaginator.ts
1117
- var import_core3 = require("@smithy/core");
1118
- var paginateListRecommendationSummaries = (0, import_core3.createPaginator)(CostOptimizationHubClient, ListRecommendationSummariesCommand, "nextToken", "nextToken", "maxResults");
1175
+
1176
+ var paginateListRecommendationSummaries = (0, import_core.createPaginator)(CostOptimizationHubClient, ListRecommendationSummariesCommand, "nextToken", "nextToken", "maxResults");
1119
1177
 
1120
1178
  // src/pagination/ListRecommendationsPaginator.ts
1121
- var import_core4 = require("@smithy/core");
1122
- var paginateListRecommendations = (0, import_core4.createPaginator)(CostOptimizationHubClient, ListRecommendationsCommand, "nextToken", "nextToken", "maxResults");
1179
+
1180
+ var paginateListRecommendations = (0, import_core.createPaginator)(CostOptimizationHubClient, ListRecommendationsCommand, "nextToken", "nextToken", "maxResults");
1123
1181
 
1124
1182
  // src/index.ts
1125
1183
  var import_util_endpoints = require("@aws-sdk/util-endpoints");
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRuntimeConfig = void 0;
4
+ const core_1 = require("@aws-sdk/core");
4
5
  const smithy_client_1 = require("@smithy/smithy-client");
5
6
  const url_parser_1 = require("@smithy/url-parser");
6
7
  const util_base64_1 = require("@smithy/util-base64");
7
8
  const util_utf8_1 = require("@smithy/util-utf8");
9
+ const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
8
10
  const endpointResolver_1 = require("./endpoint/endpointResolver");
9
11
  const getRuntimeConfig = (config) => {
10
12
  return {
@@ -14,6 +16,14 @@ const getRuntimeConfig = (config) => {
14
16
  disableHostPrefix: config?.disableHostPrefix ?? false,
15
17
  endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
16
18
  extensions: config?.extensions ?? [],
19
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultCostOptimizationHubHttpAuthSchemeProvider,
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 ?? "Cost Optimization Hub",
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 { defaultCostOptimizationHubHttpAuthSchemeParametersProvider, 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 CostOptimizationHubClient 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 CostOptimizationHubClient 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 defaultCostOptimizationHubHttpAuthSchemeParametersProvider;
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 defaultCostOptimizationHubHttpAuthSchemeParametersProvider = 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: "cost-optimization-hub",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ export const defaultCostOptimizationHubHttpAuthSchemeProvider = (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 { defaultCostOptimizationHubHttpAuthSchemeProvider } 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 ?? defaultCostOptimizationHubHttpAuthSchemeProvider,
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 ?? "Cost Optimization Hub",
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 { GetPreferencesCommandInput, GetPreferencesCommandOutput } from "./commands/GetPreferencesCommand";
12
11
  import { GetRecommendationCommandInput, GetRecommendationCommandOutput } from "./commands/GetRecommendationCommand";
13
12
  import { ListEnrollmentStatusesCommandInput, ListEnrollmentStatusesCommandOutput } from "./commands/ListEnrollmentStatusesCommand";
@@ -98,20 +97,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
98
97
  * Enables FIPS compatible endpoints.
99
98
  */
100
99
  useFipsEndpoint?: boolean | __Provider<boolean>;
100
+ /**
101
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
102
+ * @internal
103
+ */
104
+ defaultUserAgentProvider?: Provider<__UserAgent>;
101
105
  /**
102
106
  * The AWS region to which this client will send requests
103
107
  */
104
108
  region?: string | __Provider<string>;
105
109
  /**
106
110
  * Default credentials provider; Not available in browser runtime.
111
+ * @deprecated
107
112
  * @internal
108
113
  */
109
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
110
- /**
111
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
112
- * @internal
113
- */
114
- defaultUserAgentProvider?: Provider<__UserAgent>;
114
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
115
115
  /**
116
116
  * Value for how many times a request will be made at most in case of retry.
117
117
  */
@@ -138,7 +138,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
138
138
  /**
139
139
  * @public
140
140
  */
141
- export type CostOptimizationHubClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
141
+ export type CostOptimizationHubClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
142
142
  /**
143
143
  * @public
144
144
  *
@@ -149,7 +149,7 @@ export interface CostOptimizationHubClientConfig extends CostOptimizationHubClie
149
149
  /**
150
150
  * @public
151
151
  */
152
- export type CostOptimizationHubClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
152
+ export type CostOptimizationHubClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
153
153
  /**
154
154
  * @public
155
155
  *
@@ -180,4 +180,6 @@ export declare class CostOptimizationHubClient extends __Client<__HttpHandlerOpt
180
180
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
181
181
  */
182
182
  destroy(): void;
183
+ private getDefaultHttpAuthSchemeParametersProvider;
184
+ private getIdentityProviderConfigProvider;
183
185
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { CostOptimizationHubHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: CostOptimizationHubHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubHttpAuthSchemeProvider;
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 { CostOptimizationHubClientResolvedConfig } from "../CostOptimizationHubClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface CostOptimizationHubHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface CostOptimizationHubHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<CostOptimizationHubClientResolvedConfig, HandlerExecutionContext, CostOptimizationHubHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultCostOptimizationHubHttpAuthSchemeParametersProvider: (config: CostOptimizationHubClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<CostOptimizationHubHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface CostOptimizationHubHttpAuthSchemeProvider extends HttpAuthSchemeProvider<CostOptimizationHubHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultCostOptimizationHubHttpAuthSchemeProvider: CostOptimizationHubHttpAuthSchemeProvider;
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?: CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubHttpAuthSchemeProvider;
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 CostOptimizationHubExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface CostOptimizationHubExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: CostOptimizationHubClientConfig)
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: CostOptimizationHubClientConfig)
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").CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubClientConfig)
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").CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubClientConfig)
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: CostOptimizationHubClientConfig)
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").CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubClientConfig)
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").CostOptimizationHubHttpAuthSchemeProvider;
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
  GetPreferencesCommandInput,
50
50
  GetPreferencesCommandOutput,
@@ -112,9 +112,9 @@ export interface ClientDefaults
112
112
  serviceId?: string;
113
113
  useDualstackEndpoint?: boolean | __Provider<boolean>;
114
114
  useFipsEndpoint?: boolean | __Provider<boolean>;
115
- region?: string | __Provider<string>;
116
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
117
115
  defaultUserAgentProvider?: Provider<__UserAgent>;
116
+ region?: string | __Provider<string>;
117
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
118
118
  maxAttempts?: number | __Provider<number>;
119
119
  retryMode?: string | __Provider<string>;
120
120
  logger?: __Logger;
@@ -129,8 +129,8 @@ export type CostOptimizationHubClientConfigType = Partial<
129
129
  EndpointInputConfig<EndpointParameters> &
130
130
  RetryInputConfig &
131
131
  HostHeaderInputConfig &
132
- AwsAuthInputConfig &
133
132
  UserAgentInputConfig &
133
+ HttpAuthSchemeInputConfig &
134
134
  ClientInputEndpointParameters;
135
135
  export interface CostOptimizationHubClientConfig
136
136
  extends CostOptimizationHubClientConfigType {}
@@ -142,8 +142,8 @@ export type CostOptimizationHubClientResolvedConfigType =
142
142
  EndpointResolvedConfig<EndpointParameters> &
143
143
  RetryResolvedConfig &
144
144
  HostHeaderResolvedConfig &
145
- AwsAuthResolvedConfig &
146
145
  UserAgentResolvedConfig &
146
+ HttpAuthSchemeResolvedConfig &
147
147
  ClientResolvedEndpointParameters;
148
148
  export interface CostOptimizationHubClientResolvedConfig
149
149
  extends CostOptimizationHubClientResolvedConfigType {}
@@ -160,4 +160,6 @@ export declare class CostOptimizationHubClient extends __Client<
160
160
  ]: __CheckOptionalClientConfig<CostOptimizationHubClientConfig>
161
161
  );
162
162
  destroy(): void;
163
+ private getDefaultHttpAuthSchemeParametersProvider;
164
+ private getIdentityProviderConfigProvider;
163
165
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { CostOptimizationHubHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: CostOptimizationHubHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): CostOptimizationHubHttpAuthSchemeProvider;
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: CostOptimizationHubHttpAuthSchemeProvider;
25
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
26
+ }>;
27
+ export declare const getHttpAuthExtensionConfiguration: (
28
+ runtimeConfig: HttpAuthRuntimeConfig
29
+ ) => HttpAuthExtensionConfiguration;
30
+ export declare const resolveHttpAuthRuntimeConfig: (
31
+ config: HttpAuthExtensionConfiguration
32
+ ) => HttpAuthRuntimeConfig;
@@ -0,0 +1,44 @@
1
+ import {
2
+ AwsSdkSigV4AuthInputConfig,
3
+ AwsSdkSigV4AuthResolvedConfig,
4
+ AwsSdkSigV4PreviouslyResolved,
5
+ } from "@aws-sdk/core";
6
+ import {
7
+ HandlerExecutionContext,
8
+ HttpAuthScheme,
9
+ HttpAuthSchemeParameters,
10
+ HttpAuthSchemeParametersProvider,
11
+ HttpAuthSchemeProvider,
12
+ } from "@smithy/types";
13
+ import { CostOptimizationHubClientResolvedConfig } from "../CostOptimizationHubClient";
14
+ export interface CostOptimizationHubHttpAuthSchemeParameters
15
+ extends HttpAuthSchemeParameters {
16
+ region?: string;
17
+ }
18
+ export interface CostOptimizationHubHttpAuthSchemeParametersProvider
19
+ extends HttpAuthSchemeParametersProvider<
20
+ CostOptimizationHubClientResolvedConfig,
21
+ HandlerExecutionContext,
22
+ CostOptimizationHubHttpAuthSchemeParameters,
23
+ object
24
+ > {}
25
+ export declare const defaultCostOptimizationHubHttpAuthSchemeParametersProvider: (
26
+ config: CostOptimizationHubClientResolvedConfig,
27
+ context: HandlerExecutionContext,
28
+ input: object
29
+ ) => Promise<CostOptimizationHubHttpAuthSchemeParameters>;
30
+ export interface CostOptimizationHubHttpAuthSchemeProvider
31
+ extends HttpAuthSchemeProvider<CostOptimizationHubHttpAuthSchemeParameters> {}
32
+ export declare const defaultCostOptimizationHubHttpAuthSchemeProvider: CostOptimizationHubHttpAuthSchemeProvider;
33
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
34
+ httpAuthSchemes?: HttpAuthScheme[];
35
+ httpAuthSchemeProvider?: CostOptimizationHubHttpAuthSchemeProvider;
36
+ }
37
+ export interface HttpAuthSchemeResolvedConfig
38
+ extends AwsSdkSigV4AuthResolvedConfig {
39
+ readonly httpAuthSchemes: HttpAuthScheme[];
40
+ readonly httpAuthSchemeProvider: CostOptimizationHubHttpAuthSchemeProvider;
41
+ }
42
+ export declare const resolveHttpAuthSchemeConfig: <T>(
43
+ config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
44
+ ) => T & HttpAuthSchemeResolvedConfig;
@@ -1,7 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  export interface CostOptimizationHubExtensionConfiguration
5
6
  extends HttpHandlerExtensionConfiguration,
6
7
  DefaultExtensionConfiguration,
7
- AwsRegionExtensionConfiguration {}
8
+ AwsRegionExtensionConfiguration,
9
+ HttpAuthExtensionConfiguration {}
@@ -10,7 +10,7 @@ export declare const getRuntimeConfig: (
10
10
  bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
11
11
  credentialDefaultProvider: (
12
12
  input: any
13
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
13
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
14
14
  defaultUserAgentProvider: import("@smithy/types").Provider<
15
15
  import("@smithy/types").UserAgent
16
16
  >;
@@ -74,11 +74,12 @@ export declare const getRuntimeConfig: (
74
74
  | import("@smithy/types").RetryStrategy
75
75
  | import("@smithy/types").RetryStrategyV2
76
76
  | undefined;
77
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
78
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
79
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").CostOptimizationHubHttpAuthSchemeProvider;
77
80
  credentials?:
78
81
  | import("@smithy/types").AwsCredentialIdentity
79
- | import("@smithy/types").Provider<
80
- import("@smithy/types").AwsCredentialIdentity
81
- >
82
+ | import("@smithy/types").AwsCredentialIdentityProvider
82
83
  | undefined;
83
84
  signer?:
84
85
  | import("@smithy/types").RequestSigner
@@ -95,5 +96,4 @@ export declare const getRuntimeConfig: (
95
96
  import("@smithy/signature-v4").SignatureV4CryptoInit
96
97
  ) => import("@smithy/types").RequestSigner)
97
98
  | undefined;
98
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
99
99
  };
@@ -78,11 +78,12 @@ export declare const getRuntimeConfig: (
78
78
  | import("@smithy/types").RetryStrategy
79
79
  | import("@smithy/types").RetryStrategyV2
80
80
  | undefined;
81
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
82
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
83
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").CostOptimizationHubHttpAuthSchemeProvider;
81
84
  credentials?:
82
85
  | import("@smithy/types").AwsCredentialIdentity
83
- | import("@smithy/types").Provider<
84
- import("@smithy/types").AwsCredentialIdentity
85
- >
86
+ | import("@smithy/types").AwsCredentialIdentityProvider
86
87
  | undefined;
87
88
  signer?:
88
89
  | import("@smithy/types").RequestSigner
@@ -99,5 +100,4 @@ export declare const getRuntimeConfig: (
99
100
  import("@smithy/signature-v4").SignatureV4CryptoInit
100
101
  ) => import("@smithy/types").RequestSigner)
101
102
  | undefined;
102
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
103
103
  };
@@ -31,13 +31,13 @@ export declare const getRuntimeConfig: (
31
31
  serviceId: string;
32
32
  useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
33
33
  useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
34
- region: string | import("@smithy/types").Provider<any>;
35
- credentialDefaultProvider: (
36
- input: any
37
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
38
34
  defaultUserAgentProvider: import("@smithy/types").Provider<
39
35
  import("@smithy/types").UserAgent
40
36
  >;
37
+ region: string | import("@smithy/types").Provider<any>;
38
+ credentialDefaultProvider: (
39
+ input: any
40
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
41
41
  maxAttempts: number | import("@smithy/types").Provider<number>;
42
42
  retryMode: string | import("@smithy/types").Provider<string>;
43
43
  logger: import("@smithy/types").Logger;
@@ -65,11 +65,12 @@ export declare const getRuntimeConfig: (
65
65
  | import("@smithy/types").RetryStrategy
66
66
  | import("@smithy/types").RetryStrategyV2
67
67
  | undefined;
68
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
69
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
70
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").CostOptimizationHubHttpAuthSchemeProvider;
68
71
  credentials?:
69
72
  | import("@smithy/types").AwsCredentialIdentity
70
- | import("@smithy/types").Provider<
71
- import("@smithy/types").AwsCredentialIdentity
72
- >
73
+ | import("@smithy/types").AwsCredentialIdentityProvider
73
74
  | undefined;
74
75
  signer?:
75
76
  | import("@smithy/types").RequestSigner
@@ -86,5 +87,4 @@ export declare const getRuntimeConfig: (
86
87
  import("@smithy/signature-v4").SignatureV4CryptoInit
87
88
  ) => import("@smithy/types").RequestSigner)
88
89
  | undefined;
89
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
90
90
  };
@@ -13,6 +13,8 @@ export declare const getRuntimeConfig: (
13
13
  }
14
14
  ) => import("@smithy/types").EndpointV2;
15
15
  extensions: import("./runtimeExtensions").RuntimeExtension[];
16
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").CostOptimizationHubHttpAuthSchemeProvider;
17
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[];
16
18
  logger: import("@smithy/types").Logger;
17
19
  serviceId: string;
18
20
  urlParser: import("@smithy/types").UrlParser;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cost-optimization-hub",
3
3
  "description": "AWS SDK for JavaScript Cost Optimization Hub Client for Node.js, Browser and React Native",
4
- "version": "3.511.0",
4
+ "version": "3.513.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-cost-optimization-hub",
@@ -20,13 +20,12 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sts": "3.511.0",
24
- "@aws-sdk/core": "3.511.0",
25
- "@aws-sdk/credential-provider-node": "3.511.0",
23
+ "@aws-sdk/client-sts": "3.513.0",
24
+ "@aws-sdk/core": "3.513.0",
25
+ "@aws-sdk/credential-provider-node": "3.513.0",
26
26
  "@aws-sdk/middleware-host-header": "3.511.0",
27
27
  "@aws-sdk/middleware-logger": "3.511.0",
28
28
  "@aws-sdk/middleware-recursion-detection": "3.511.0",
29
- "@aws-sdk/middleware-signing": "3.511.0",
30
29
  "@aws-sdk/middleware-user-agent": "3.511.0",
31
30
  "@aws-sdk/region-config-resolver": "3.511.0",
32
31
  "@aws-sdk/types": "3.511.0",
@@ -34,7 +33,7 @@
34
33
  "@aws-sdk/util-user-agent-browser": "3.511.0",
35
34
  "@aws-sdk/util-user-agent-node": "3.511.0",
36
35
  "@smithy/config-resolver": "^2.1.1",
37
- "@smithy/core": "^1.3.1",
36
+ "@smithy/core": "^1.3.2",
38
37
  "@smithy/fetch-http-handler": "^2.4.1",
39
38
  "@smithy/hash-node": "^2.1.1",
40
39
  "@smithy/invalid-dependency": "^2.1.1",
@@ -53,8 +52,9 @@
53
52
  "@smithy/util-body-length-browser": "^2.1.1",
54
53
  "@smithy/util-body-length-node": "^2.2.1",
55
54
  "@smithy/util-defaults-mode-browser": "^2.1.1",
56
- "@smithy/util-defaults-mode-node": "^2.1.1",
55
+ "@smithy/util-defaults-mode-node": "^2.2.0",
57
56
  "@smithy/util-endpoints": "^1.1.1",
57
+ "@smithy/util-middleware": "^2.1.1",
58
58
  "@smithy/util-retry": "^2.1.1",
59
59
  "@smithy/util-utf8": "^2.1.1",
60
60
  "tslib": "^2.5.0"