Skip to content

Commit 849c44e

Browse files
author
Steven Yuan
committed
chore(temp codegen): generate clients
1 parent e3b85d6 commit 849c44e

10 files changed

+283
-19
lines changed

clients/client-codecatalyst/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,15 @@
2525
"@aws-sdk/middleware-host-header": "*",
2626
"@aws-sdk/middleware-logger": "*",
2727
"@aws-sdk/middleware-recursion-detection": "*",
28-
"@aws-sdk/middleware-token": "*",
2928
"@aws-sdk/middleware-user-agent": "*",
3029
"@aws-sdk/region-config-resolver": "*",
30+
"@aws-sdk/token-providers": "*",
3131
"@aws-sdk/types": "*",
3232
"@aws-sdk/util-endpoints": "*",
3333
"@aws-sdk/util-user-agent-browser": "*",
3434
"@aws-sdk/util-user-agent-node": "*",
3535
"@smithy/config-resolver": "^2.0.17",
36+
"@smithy/core": "^0.0.1",
3637
"@smithy/fetch-http-handler": "^2.2.5",
3738
"@smithy/hash-node": "^2.0.14",
3839
"@smithy/invalid-dependency": "^2.0.12",
@@ -53,6 +54,7 @@
5354
"@smithy/util-defaults-mode-browser": "^2.0.18",
5455
"@smithy/util-defaults-mode-node": "^2.0.24",
5556
"@smithy/util-endpoints": "^1.0.3",
57+
"@smithy/util-middleware": "^2.0.5",
5658
"@smithy/util-retry": "^2.0.5",
5759
"@smithy/util-utf8": "^2.0.2",
5860
"tslib": "^2.5.0"

clients/client-codecatalyst/src/CodeCatalystClient.ts

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ import {
77
} from "@aws-sdk/middleware-host-header";
88
import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
99
import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
10-
import { getTokenPlugin, resolveTokenConfig, TokenInputConfig, TokenResolvedConfig } from "@aws-sdk/middleware-token";
1110
import {
1211
getUserAgentPlugin,
1312
resolveUserAgentConfig,
1413
UserAgentInputConfig,
1514
UserAgentResolvedConfig,
1615
} from "@aws-sdk/middleware-user-agent";
17-
import { RegionInputConfig, RegionResolvedConfig, resolveRegionConfig } from "@smithy/config-resolver";
16+
import {
17+
DefaultIdentityProviderConfig,
18+
getHttpAuthSchemeEndpointRuleSetPlugin,
19+
getHttpSigningPlugin,
20+
} from "@smithy/core";
1821
import { getContentLengthPlugin } from "@smithy/middleware-content-length";
1922
import { EndpointInputConfig, EndpointResolvedConfig, resolveEndpointConfig } from "@smithy/middleware-endpoint";
2023
import { getRetryPlugin, resolveRetryConfig, RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
@@ -44,6 +47,12 @@ import {
4447
UserAgent as __UserAgent,
4548
} from "@smithy/types";
4649

50+
import {
51+
defaultCodeCatalystHttpAuthSchemeParametersProvider,
52+
HttpAuthSchemeInputConfig,
53+
HttpAuthSchemeResolvedConfig,
54+
resolveHttpAuthSchemeConfig,
55+
} from "./auth/httpAuthSchemeProvider";
4756
import { CreateAccessTokenCommandInput, CreateAccessTokenCommandOutput } from "./commands/CreateAccessTokenCommand";
4857
import {
4958
CreateDevEnvironmentCommandInput,
@@ -334,12 +343,11 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
334343
*/
335344
export type CodeCatalystClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &
336345
ClientDefaults &
337-
RegionInputConfig &
338346
EndpointInputConfig<EndpointParameters> &
339347
RetryInputConfig &
340348
HostHeaderInputConfig &
341-
TokenInputConfig &
342349
UserAgentInputConfig &
350+
HttpAuthSchemeInputConfig &
343351
ClientInputEndpointParameters;
344352
/**
345353
* @public
@@ -354,12 +362,11 @@ export interface CodeCatalystClientConfig extends CodeCatalystClientConfigType {
354362
export type CodeCatalystClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> &
355363
Required<ClientDefaults> &
356364
RuntimeExtensionsConfig &
357-
RegionResolvedConfig &
358365
EndpointResolvedConfig<EndpointParameters> &
359366
RetryResolvedConfig &
360367
HostHeaderResolvedConfig &
361-
TokenResolvedConfig &
362368
UserAgentResolvedConfig &
369+
HttpAuthSchemeResolvedConfig &
363370
ClientResolvedEndpointParameters;
364371
/**
365372
* @public
@@ -534,25 +541,41 @@ export class CodeCatalystClient extends __Client<
534541
*/
535542
readonly config: CodeCatalystClientResolvedConfig;
536543

544+
private getDefaultHttpAuthSchemeParametersProvider() {
545+
return defaultCodeCatalystHttpAuthSchemeParametersProvider;
546+
}
547+
548+
private getIdentityProviderConfigProvider() {
549+
return async (config: CodeCatalystClientResolvedConfig) =>
550+
new DefaultIdentityProviderConfig({
551+
"smithy.api#httpBearerAuth": config.token,
552+
});
553+
}
554+
537555
constructor(...[configuration]: __CheckOptionalClientConfig<CodeCatalystClientConfig>) {
538556
const _config_0 = __getRuntimeConfig(configuration || {});
539557
const _config_1 = resolveClientEndpointParameters(_config_0);
540-
const _config_2 = resolveRegionConfig(_config_1);
541-
const _config_3 = resolveEndpointConfig(_config_2);
542-
const _config_4 = resolveRetryConfig(_config_3);
543-
const _config_5 = resolveHostHeaderConfig(_config_4);
544-
const _config_6 = resolveTokenConfig(_config_5);
545-
const _config_7 = resolveUserAgentConfig(_config_6);
546-
const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
547-
super(_config_8);
548-
this.config = _config_8;
558+
const _config_2 = resolveEndpointConfig(_config_1);
559+
const _config_3 = resolveRetryConfig(_config_2);
560+
const _config_4 = resolveHostHeaderConfig(_config_3);
561+
const _config_5 = resolveUserAgentConfig(_config_4);
562+
const _config_6 = resolveHttpAuthSchemeConfig(_config_5);
563+
const _config_7 = resolveRuntimeExtensions(_config_6, configuration?.extensions || []);
564+
super(_config_7);
565+
this.config = _config_7;
549566
this.middlewareStack.use(getRetryPlugin(this.config));
550567
this.middlewareStack.use(getContentLengthPlugin(this.config));
551568
this.middlewareStack.use(getHostHeaderPlugin(this.config));
552569
this.middlewareStack.use(getLoggerPlugin(this.config));
553570
this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
554-
this.middlewareStack.use(getTokenPlugin(this.config));
555571
this.middlewareStack.use(getUserAgentPlugin(this.config));
572+
this.middlewareStack.use(
573+
getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
574+
identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
575+
httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
576+
})
577+
);
578+
this.middlewareStack.use(getHttpSigningPlugin(this.config));
556579
}
557580

558581
/**
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
// smithy-typescript generated code
2+
import { HttpAuthScheme, TokenIdentity, TokenIdentityProvider } from "@smithy/types";
3+
4+
import { CodeCatalystHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
5+
6+
/**
7+
* @internal
8+
*/
9+
export interface HttpAuthExtensionConfiguration {
10+
setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
11+
httpAuthSchemes(): HttpAuthScheme[];
12+
setHttpAuthSchemeProvider(httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider): void;
13+
httpAuthSchemeProvider(): CodeCatalystHttpAuthSchemeProvider;
14+
setToken(token: TokenIdentity | TokenIdentityProvider): void;
15+
token(): TokenIdentity | TokenIdentityProvider | undefined;
16+
}
17+
18+
/**
19+
* @internal
20+
*/
21+
export type HttpAuthRuntimeConfig = Partial<{
22+
httpAuthSchemes: HttpAuthScheme[];
23+
httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider;
24+
token: TokenIdentity | TokenIdentityProvider;
25+
}>;
26+
27+
/**
28+
* @internal
29+
*/
30+
export const getHttpAuthExtensionConfiguration = (
31+
runtimeConfig: HttpAuthRuntimeConfig
32+
): HttpAuthExtensionConfiguration => {
33+
const _httpAuthSchemes = runtimeConfig.httpAuthSchemes!;
34+
let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider!;
35+
let _token = runtimeConfig.token;
36+
return {
37+
setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void {
38+
const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
39+
if (index === -1) {
40+
_httpAuthSchemes.push(httpAuthScheme);
41+
} else {
42+
_httpAuthSchemes.splice(index, 1, httpAuthScheme);
43+
}
44+
},
45+
httpAuthSchemes(): HttpAuthScheme[] {
46+
return _httpAuthSchemes;
47+
},
48+
setHttpAuthSchemeProvider(httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider): void {
49+
_httpAuthSchemeProvider = httpAuthSchemeProvider;
50+
},
51+
httpAuthSchemeProvider(): CodeCatalystHttpAuthSchemeProvider {
52+
return _httpAuthSchemeProvider;
53+
},
54+
setToken(token: TokenIdentity | TokenIdentityProvider): void {
55+
_token = token;
56+
},
57+
token(): TokenIdentity | TokenIdentityProvider | undefined {
58+
return _token;
59+
},
60+
};
61+
};
62+
63+
/**
64+
* @internal
65+
*/
66+
export const resolveHttpAuthRuntimeConfig = (config: HttpAuthExtensionConfiguration): HttpAuthRuntimeConfig => {
67+
return {
68+
httpAuthSchemes: config.httpAuthSchemes(),
69+
httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
70+
token: config.token(),
71+
};
72+
};
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
// smithy-typescript generated code
2+
import { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider } from "@smithy/core";
3+
import {
4+
HandlerExecutionContext,
5+
HttpAuthOption,
6+
HttpAuthScheme,
7+
HttpAuthSchemeParameters,
8+
HttpAuthSchemeParametersProvider,
9+
HttpAuthSchemeProvider,
10+
TokenIdentity,
11+
TokenIdentityProvider,
12+
} from "@smithy/types";
13+
import { getSmithyContext } from "@smithy/util-middleware";
14+
15+
import { CodeCatalystClientResolvedConfig } from "../CodeCatalystClient";
16+
17+
/**
18+
* @internal
19+
*/
20+
export interface CodeCatalystHttpAuthSchemeParameters extends HttpAuthSchemeParameters {}
21+
22+
/**
23+
* @internal
24+
*/
25+
export interface CodeCatalystHttpAuthSchemeParametersProvider
26+
extends HttpAuthSchemeParametersProvider<
27+
CodeCatalystClientResolvedConfig,
28+
HandlerExecutionContext,
29+
CodeCatalystHttpAuthSchemeParameters,
30+
object
31+
> {}
32+
33+
/**
34+
* @internal
35+
*/
36+
export const defaultCodeCatalystHttpAuthSchemeParametersProvider = async (
37+
config: CodeCatalystClientResolvedConfig,
38+
context: HandlerExecutionContext,
39+
input: object
40+
): Promise<CodeCatalystHttpAuthSchemeParameters> => {
41+
return {
42+
operation: getSmithyContext(context).operation as string,
43+
};
44+
};
45+
46+
function createSmithyApiHttpBearerAuthHttpAuthOption(
47+
authParameters: CodeCatalystHttpAuthSchemeParameters
48+
): HttpAuthOption {
49+
return {
50+
schemeId: "smithy.api#httpBearerAuth",
51+
};
52+
}
53+
54+
/**
55+
* @internal
56+
*/
57+
export interface CodeCatalystHttpAuthSchemeProvider
58+
extends HttpAuthSchemeProvider<CodeCatalystHttpAuthSchemeParameters> {}
59+
60+
/**
61+
* @internal
62+
*/
63+
export const defaultCodeCatalystHttpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider = (authParameters) => {
64+
const options: HttpAuthOption[] = [];
65+
switch (authParameters.operation) {
66+
default: {
67+
options.push(createSmithyApiHttpBearerAuthHttpAuthOption(authParameters));
68+
}
69+
}
70+
return options;
71+
};
72+
73+
/**
74+
* @internal
75+
*/
76+
export interface HttpAuthSchemeInputConfig {
77+
/**
78+
* experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
79+
* @internal
80+
*/
81+
httpAuthSchemes?: HttpAuthScheme[];
82+
83+
/**
84+
* experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
85+
* @internal
86+
*/
87+
httpAuthSchemeProvider?: CodeCatalystHttpAuthSchemeProvider;
88+
89+
/**
90+
* The token used to authenticate requests.
91+
*/
92+
token?: TokenIdentity | TokenIdentityProvider;
93+
}
94+
95+
/**
96+
* @internal
97+
*/
98+
export interface HttpAuthSchemeResolvedConfig {
99+
/**
100+
* experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
101+
* @internal
102+
*/
103+
readonly httpAuthSchemes: HttpAuthScheme[];
104+
105+
/**
106+
* experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
107+
* @internal
108+
*/
109+
readonly httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider;
110+
111+
/**
112+
* The token used to authenticate requests.
113+
*/
114+
readonly token?: TokenIdentityProvider;
115+
}
116+
117+
/**
118+
* @internal
119+
*/
120+
export const resolveHttpAuthSchemeConfig = (config: HttpAuthSchemeInputConfig): HttpAuthSchemeResolvedConfig => {
121+
const token = memoizeIdentityProvider(config.token, isIdentityExpired, doesIdentityRequireRefresh);
122+
return {
123+
...config,
124+
token,
125+
} as HttpAuthSchemeResolvedConfig;
126+
};

clients/client-codecatalyst/src/endpoint/EndpointParameters.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const resolveClientEndpointParameters = <T>(
2020
return {
2121
...options,
2222
useFipsEndpoint: options.useFipsEndpoint ?? false,
23-
defaultSigningName: "codecatalyst",
23+
defaultSigningName: "",
2424
};
2525
};
2626

clients/client-codecatalyst/src/extensionConfiguration.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
33
import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
44
import { DefaultExtensionConfiguration } from "@smithy/types";
55

6+
import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
7+
68
/**
79
* @internal
810
*/
911
export interface CodeCatalystExtensionConfiguration
1012
extends HttpHandlerExtensionConfiguration,
1113
DefaultExtensionConfiguration,
12-
AwsRegionExtensionConfiguration {}
14+
AwsRegionExtensionConfiguration,
15+
HttpAuthExtensionConfiguration {}

clients/client-codecatalyst/src/runtimeConfig.browser.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import packageInfo from "../package.json"; // eslint-disable-line
55
import { Sha256 } from "@aws-crypto/sha256-browser";
66
import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
77
import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@smithy/config-resolver";
8+
import { HttpBearerAuthSigner } from "@smithy/core";
89
import { FetchHttpHandler as RequestHandler, streamCollector } from "@smithy/fetch-http-handler";
10+
import { IdentityProviderConfig } from "@smithy/types";
911
import { calculateBodyLength } from "@smithy/util-body-length-browser";
1012
import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@smithy/util-retry";
1113
import { CodeCatalystClientConfig } from "./CodeCatalystClient";
@@ -29,6 +31,17 @@ export const getRuntimeConfig = (config: CodeCatalystClientConfig) => {
2931
defaultUserAgentProvider:
3032
config?.defaultUserAgentProvider ??
3133
defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
34+
httpAuthSchemes: config?.httpAuthSchemes ?? [
35+
{
36+
schemeId: "smithy.api#httpBearerAuth",
37+
identityProvider: (config: IdentityProviderConfig) =>
38+
config.getIdentityProvider("smithy.api#httpBearerAuth") ||
39+
(async () => {
40+
throw new Error("`token` is missing");
41+
}),
42+
signer: new HttpBearerAuthSigner(),
43+
},
44+
],
3245
maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
3346
requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
3447
retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),

0 commit comments

Comments
 (0)