Skip to content

Commit 03bb39f

Browse files
authoredAug 9, 2024··
feat(core/httpAuthSchemes): set configuration sources for sigv4a signingRegionSet (#6368)
1 parent 628ffe5 commit 03bb39f

File tree

14 files changed

+160
-20
lines changed

14 files changed

+160
-20
lines changed
 

‎clients/client-cloudfront-keyvaluestore/src/auth/httpAuthSchemeProvider.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
// smithy-typescript generated code
22
import {
3+
AwsSdkSigV4AAuthInputConfig,
4+
AwsSdkSigV4AAuthResolvedConfig,
5+
AwsSdkSigV4APreviouslyResolved,
36
AwsSdkSigV4AuthInputConfig,
47
AwsSdkSigV4AuthResolvedConfig,
58
AwsSdkSigV4PreviouslyResolved,
9+
resolveAwsSdkSigV4AConfig,
610
resolveAwsSdkSigV4Config,
711
} from "@aws-sdk/core";
812
import { signatureV4CrtContainer } from "@aws-sdk/signature-v4-multi-region";
@@ -297,7 +301,7 @@ export const defaultCloudFrontKeyValueStoreHttpAuthSchemeProvider: CloudFrontKey
297301
/**
298302
* @internal
299303
*/
300-
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
304+
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AAuthInputConfig {
301305
/**
302306
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
303307
* @internal
@@ -314,7 +318,7 @@ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
314318
/**
315319
* @internal
316320
*/
317-
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
321+
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4AAuthResolvedConfig {
318322
/**
319323
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
320324
* @internal
@@ -332,10 +336,11 @@ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedCon
332336
* @internal
333337
*/
334338
export const resolveHttpAuthSchemeConfig = <T>(
335-
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
339+
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved & AwsSdkSigV4APreviouslyResolved
336340
): T & HttpAuthSchemeResolvedConfig => {
337341
const config_0 = resolveAwsSdkSigV4Config(config);
342+
const config_1 = resolveAwsSdkSigV4AConfig(config_0);
338343
return {
339-
...config_0,
344+
...config_1,
340345
} as T & HttpAuthSchemeResolvedConfig;
341346
};

‎clients/client-cloudfront-keyvaluestore/src/runtimeConfig.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// @ts-ignore: package.json will be imported from dist folders
33
import packageInfo from "../package.json"; // eslint-disable-line
44

5-
import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
5+
import { NODE_SIGV4A_CONFIG_OPTIONS, emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
66
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
77
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
88
import {
@@ -52,6 +52,7 @@ export const getRuntimeConfig = (config: CloudFrontKeyValueStoreClientConfig) =>
5252
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
5353
}),
5454
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
55+
sigv4aSigningRegionSet: config?.sigv4aSigningRegionSet ?? loadNodeConfig(NODE_SIGV4A_CONFIG_OPTIONS),
5556
streamCollector: config?.streamCollector ?? streamCollector,
5657
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
5758
useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),

‎clients/client-eventbridge/src/auth/httpAuthSchemeProvider.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
// smithy-typescript generated code
22
import {
3+
AwsSdkSigV4AAuthInputConfig,
4+
AwsSdkSigV4AAuthResolvedConfig,
5+
AwsSdkSigV4APreviouslyResolved,
36
AwsSdkSigV4AuthInputConfig,
47
AwsSdkSigV4AuthResolvedConfig,
58
AwsSdkSigV4PreviouslyResolved,
9+
resolveAwsSdkSigV4AConfig,
610
resolveAwsSdkSigV4Config,
711
} from "@aws-sdk/core";
812
import { signatureV4CrtContainer } from "@aws-sdk/signature-v4-multi-region";
@@ -279,7 +283,7 @@ export const defaultEventBridgeHttpAuthSchemeProvider: EventBridgeHttpAuthScheme
279283
/**
280284
* @internal
281285
*/
282-
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
286+
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AAuthInputConfig {
283287
/**
284288
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
285289
* @internal
@@ -296,7 +300,7 @@ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
296300
/**
297301
* @internal
298302
*/
299-
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
303+
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4AAuthResolvedConfig {
300304
/**
301305
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
302306
* @internal
@@ -314,10 +318,11 @@ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedCon
314318
* @internal
315319
*/
316320
export const resolveHttpAuthSchemeConfig = <T>(
317-
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
321+
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved & AwsSdkSigV4APreviouslyResolved
318322
): T & HttpAuthSchemeResolvedConfig => {
319323
const config_0 = resolveAwsSdkSigV4Config(config);
324+
const config_1 = resolveAwsSdkSigV4AConfig(config_0);
320325
return {
321-
...config_0,
326+
...config_1,
322327
} as T & HttpAuthSchemeResolvedConfig;
323328
};

‎clients/client-eventbridge/src/runtimeConfig.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// @ts-ignore: package.json will be imported from dist folders
33
import packageInfo from "../package.json"; // eslint-disable-line
44

5-
import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
5+
import { NODE_SIGV4A_CONFIG_OPTIONS, emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
66
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
77
import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
88
import {
@@ -52,6 +52,7 @@ export const getRuntimeConfig = (config: EventBridgeClientConfig) => {
5252
default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,
5353
}),
5454
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
55+
sigv4aSigningRegionSet: config?.sigv4aSigningRegionSet ?? loadNodeConfig(NODE_SIGV4A_CONFIG_OPTIONS),
5556
streamCollector: config?.streamCollector ?? streamCollector,
5657
useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
5758
useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),

‎clients/client-s3/src/auth/httpAuthSchemeProvider.ts

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
// smithy-typescript generated code
22
import {
3+
AwsSdkSigV4AAuthInputConfig,
4+
AwsSdkSigV4AAuthResolvedConfig,
5+
AwsSdkSigV4APreviouslyResolved,
36
AwsSdkSigV4AuthInputConfig,
47
AwsSdkSigV4AuthResolvedConfig,
58
AwsSdkSigV4PreviouslyResolved,
9+
resolveAwsSdkSigV4AConfig,
610
resolveAwsSdkSigV4Config,
711
} from "@aws-sdk/core";
812
import { signatureV4CrtContainer } from "@aws-sdk/signature-v4-multi-region";
@@ -281,7 +285,7 @@ export const defaultS3HttpAuthSchemeProvider: S3HttpAuthSchemeProvider = createE
281285
/**
282286
* @internal
283287
*/
284-
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
288+
export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AAuthInputConfig {
285289
/**
286290
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
287291
* @internal
@@ -298,7 +302,7 @@ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
298302
/**
299303
* @internal
300304
*/
301-
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
305+
export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4AAuthResolvedConfig {
302306
/**
303307
* Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
304308
* @internal
@@ -316,10 +320,11 @@ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedCon
316320
* @internal
317321
*/
318322
export const resolveHttpAuthSchemeConfig = <T>(
319-
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
323+
config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved & AwsSdkSigV4APreviouslyResolved
320324
): T & HttpAuthSchemeResolvedConfig => {
321325
const config_0 = resolveAwsSdkSigV4Config(config);
326+
const config_1 = resolveAwsSdkSigV4AConfig(config_0);
322327
return {
323-
...config_0,
328+
...config_1,
324329
} as T & HttpAuthSchemeResolvedConfig;
325330
};

‎clients/client-s3/src/runtimeConfig.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// @ts-ignore: package.json will be imported from dist folders
33
import packageInfo from "../package.json"; // eslint-disable-line
44

5-
import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
5+
import { NODE_SIGV4A_CONFIG_OPTIONS, emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
66
import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
77
import { NODE_USE_ARN_REGION_CONFIG_OPTIONS } from "@aws-sdk/middleware-bucket-endpoint";
88
import { NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS } from "@aws-sdk/middleware-sdk-s3";
@@ -62,6 +62,7 @@ export const getRuntimeConfig = (config: S3ClientConfig) => {
6262
}),
6363
sha1: config?.sha1 ?? Hash.bind(null, "sha1"),
6464
sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
65+
sigv4aSigningRegionSet: config?.sigv4aSigningRegionSet ?? loadNodeConfig(NODE_SIGV4A_CONFIG_OPTIONS),
6566
streamCollector: config?.streamCollector ?? streamCollector,
6667
streamHasher: config?.streamHasher ?? streamHasher,
6768
useArnRegion: config?.useArnRegion ?? loadNodeConfig(NODE_USE_ARN_REGION_CONFIG_OPTIONS),

‎codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/AwsTraitsUtils.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,16 @@ public static boolean isSigV4Service(ServiceShape serviceShape) {
6060
}
6161

6262
public static boolean isSigV4AsymmetricService(Model model, TypeScriptSettings settings) {
63-
if (ENDPOINT_RULESET_HTTP_AUTH_SCHEME_SERVICES.contains(settings.getService())) {
63+
return isSigV4AsymmetricService(model, settings.getService(model));
64+
}
65+
66+
public static boolean isSigV4AsymmetricService(Model model, ServiceShape service) {
67+
if (ENDPOINT_RULESET_HTTP_AUTH_SCHEME_SERVICES.contains(service.getId())) {
6468
return true;
6569
}
6670

6771
return ServiceIndex.of(model)
68-
.getEffectiveAuthSchemes(settings.getService(), ServiceIndex.AuthSchemeMode.NO_AUTH_AWARE)
72+
.getEffectiveAuthSchemes(service, ServiceIndex.AuthSchemeMode.NO_AUTH_AWARE)
6973
.containsKey(SigV4ATrait.ID);
7074
}
7175

‎codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java

+42-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.List;
1414
import java.util.Map;
1515
import java.util.Set;
16+
import java.util.TreeMap;
1617
import java.util.function.Consumer;
1718
import software.amazon.smithy.aws.traits.auth.SigV4ATrait;
1819
import software.amazon.smithy.aws.traits.auth.SigV4Trait;
@@ -104,7 +105,8 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
104105
}
105106
case NODE:
106107
if (isAwsService(service)) {
107-
return MapUtils.of(
108+
Map<String, Consumer<TypeScriptWriter>> map = new TreeMap<String, Consumer<TypeScriptWriter>>();
109+
map.put(
108110
"credentialDefaultProvider", writer -> {
109111
writer
110112
.addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE)
@@ -114,6 +116,23 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
114116
AwsCredentialProviderUtils.addAwsCredentialProviderDependencies(service, writer);
115117
}
116118
);
119+
if (isSigV4AsymmetricService(model, settings)) {
120+
map.put(
121+
"sigv4aSigningRegionSet", writer -> {
122+
writer.addDependency(TypeScriptDependency.NODE_CONFIG_PROVIDER);
123+
writer.addDependency(AwsDependency.AWS_SDK_CORE);
124+
writer.addImport("loadConfig", "loadNodeConfig",
125+
TypeScriptDependency.NODE_CONFIG_PROVIDER);
126+
writer.addImport(
127+
"NODE_SIGV4A_CONFIG_OPTIONS",
128+
null,
129+
AwsDependency.AWS_SDK_CORE
130+
);
131+
writer.write("loadNodeConfig(NODE_SIGV4A_CONFIG_OPTIONS)");
132+
}
133+
);
134+
}
135+
return map;
117136
}
118137
default:
119138
return Collections.emptyMap();
@@ -180,6 +199,28 @@ public void customizeSupportedHttpAuthSchemes(
180199
.getHttpAuthScheme(SigV4Trait.ID)
181200
.toBuilder()
182201
.schemeId(SigV4ATrait.ID)
202+
.addResolveConfigFunction(ResolveConfigFunction.builder()
203+
.resolveConfigFunction(Symbol.builder()
204+
.name("resolveAwsSdkSigV4AConfig")
205+
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
206+
.addDependency(AwsDependency.AWS_SDK_CORE)
207+
.build())
208+
.inputConfig(Symbol.builder()
209+
.name("AwsSdkSigV4AAuthInputConfig")
210+
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
211+
.addDependency(AwsDependency.AWS_SDK_CORE)
212+
.build())
213+
.previouslyResolved(Symbol.builder()
214+
.name("AwsSdkSigV4APreviouslyResolved")
215+
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
216+
.addDependency(AwsDependency.AWS_SDK_CORE)
217+
.build())
218+
.resolvedConfig(Symbol.builder()
219+
.name("AwsSdkSigV4AAuthResolvedConfig")
220+
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
221+
.addDependency(AwsDependency.AWS_SDK_CORE)
222+
.build())
223+
.build())
183224
.putDefaultSigner(LanguageTarget.SHARED, w -> w
184225
.addDependency(AwsDependency.AWS_SDK_CORE)
185226
.addImport("AwsSdkSigV4ASigner", null, AwsDependency.AWS_SDK_CORE)

‎packages/core/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
"dependencies": {
7878
"@smithy/core": "^2.3.2",
7979
"@smithy/node-config-provider": "^3.1.4",
80+
"@smithy/property-provider": "^3.1.3",
8081
"@smithy/protocol-http": "^4.1.0",
8182
"@smithy/signature-v4": "^4.1.0",
8283
"@smithy/smithy-client": "^3.1.12",

‎packages/core/src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@ export class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
2222
const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(
2323
signingProperties
2424
);
25-
const multiRegionOverride: string | undefined = signingRegionSet?.join?.(",") ?? signingRegion;
25+
26+
const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();
27+
28+
const multiRegionOverride: string | undefined = (
29+
configResolvedSigningRegionSet ??
30+
signingRegionSet ?? [signingRegion]
31+
).join(",");
2632

2733
const signedRequest = await signer.sign(httpRequest, {
2834
signingDate: getSkewCorrectedDate(config.systemClockOffset),

‎packages/core/src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import {
1111
} from "@smithy/types";
1212

1313
import { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from "../utils";
14+
import { AwsSdkSigV4AAuthResolvedConfig } from "./resolveAwsSdkSigV4AConfig";
1415

1516
/**
1617
* @internal
@@ -25,7 +26,7 @@ const throwSigningPropertyError = <T>(name: string, property: T | undefined): T
2526
/**
2627
* @internal
2728
*/
28-
interface AwsSdkSigV4Config {
29+
interface AwsSdkSigV4Config extends AwsSdkSigV4AAuthResolvedConfig {
2930
systemClockOffset: number;
3031
signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
3132
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from "./AwsSdkSigV4Signer";
22
export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
3+
export * from "./resolveAwsSdkSigV4AConfig";
34
export * from "./resolveAwsSdkSigV4Config";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
import { normalizeProvider } from "@smithy/core";
2+
import { LoadedConfigSelectors } from "@smithy/node-config-provider";
3+
import { ProviderError } from "@smithy/property-provider";
4+
import { Profile, Provider } from "@smithy/types";
5+
6+
/**
7+
* @public
8+
*/
9+
export interface AwsSdkSigV4AAuthInputConfig {
10+
/**
11+
* This option will override the AWS sigv4a
12+
* signing regionSet from any other source.
13+
*
14+
* The lookup order is:
15+
* 1. this value
16+
* 2. configuration file value of sigv4a_signing_region_set.
17+
* 3. environment value of AWS_SIGV4A_SIGNING_REGION_SET.
18+
* 4. signingRegionSet given by endpoint resolution.
19+
* 5. the singular region of the SDK client.
20+
*/
21+
sigv4aSigningRegionSet?: string[] | undefined | Provider<string[] | undefined>;
22+
}
23+
24+
/**
25+
* @internal
26+
*/
27+
export interface AwsSdkSigV4APreviouslyResolved {}
28+
29+
/**
30+
* @internal
31+
*/
32+
export interface AwsSdkSigV4AAuthResolvedConfig {
33+
sigv4aSigningRegionSet: Provider<string[] | undefined>;
34+
}
35+
36+
/**
37+
* @internal
38+
*/
39+
export const resolveAwsSdkSigV4AConfig = <T>(
40+
config: T & AwsSdkSigV4AAuthInputConfig & AwsSdkSigV4APreviouslyResolved
41+
): T & AwsSdkSigV4AAuthResolvedConfig => {
42+
config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet ?? []);
43+
return config as T & AwsSdkSigV4AAuthResolvedConfig;
44+
};
45+
46+
/**
47+
* @internal
48+
*/
49+
export const NODE_SIGV4A_CONFIG_OPTIONS: LoadedConfigSelectors<string[] | undefined> = {
50+
environmentVariableSelector(env: Record<string, string | undefined>): string[] | undefined {
51+
if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
52+
return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
53+
}
54+
throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
55+
tryNextLink: true,
56+
});
57+
},
58+
configFileSelector(profile: Profile): string[] | undefined {
59+
if (profile.sigv4a_signing_region_set) {
60+
return ((profile.sigv4a_signing_region_set as string) ?? "").split(",").map((_) => _.trim());
61+
}
62+
throw new ProviderError("sigv4a_signing_region_set not set in profile.", {
63+
tryNextLink: true,
64+
});
65+
},
66+
default: undefined,
67+
};

‎private/aws-client-api-test/src/client-interface-tests/client-s3/impl/initializeWithMaximalConfiguration.ts

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ export const initializeWithMaximalConfiguration = () => {
119119
useGlobalEndpoint: false,
120120
signingEscapePath: false,
121121
bucketEndpoint: false,
122+
sigv4aSigningRegionSet: [],
122123
};
123124

124125
const s3 = new S3Client(config);

0 commit comments

Comments
 (0)
Please sign in to comment.