in codegen/smithy-aws-typescript-codegen/src/main/java/software/amazon/smithy/aws/typescript/codegen/auth/http/integration/AwsSdkCustomizeSigV4Auth.java [157:246]
public void customizeSupportedHttpAuthSchemes(
SupportedHttpAuthSchemesIndex supportedHttpAuthSchemesIndex,
Model model,
TypeScriptSettings settings
) {
ServiceShape service = settings.getService(model);
if (isAwsService(service)) {
HttpAuthScheme authScheme = supportedHttpAuthSchemesIndex.getHttpAuthScheme(SigV4Trait.ID).toBuilder()
.removeConfigField("region")
.removeConfigField("signingName")
.removeConfigField("credentials")
.addConfigField(SupportSigV4Auth.CREDENTIALS_CONFIG_FIELD.toBuilder()
.configFieldWriter(null)
.build())
.propertiesExtractor(s -> w -> w
.write("""
(config: Partial<$T>, context) => ({
/**
* @internal
*/
signingProperties: {
config,
context,
},
}),""", s))
.addResolveConfigFunction(ResolveConfigFunction.builder()
.resolveConfigFunction(Symbol.builder()
.name("resolveAwsSdkSigV4Config")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.inputConfig(Symbol.builder()
.name("AwsSdkSigV4AuthInputConfig")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.previouslyResolved(Symbol.builder()
.name("AwsSdkSigV4PreviouslyResolved")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.resolvedConfig(Symbol.builder()
.name("AwsSdkSigV4AuthResolvedConfig")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.build())
.putDefaultSigner(LanguageTarget.SHARED, w -> w
.addDependency(AwsDependency.AWS_SDK_CORE)
.addImport("AwsSdkSigV4Signer", null, AwsDependency.AWS_SDK_CORE)
.write("new AwsSdkSigV4Signer()"))
.build();
supportedHttpAuthSchemesIndex.putHttpAuthScheme(authScheme.getSchemeId(), authScheme);
if (isSigV4AsymmetricService(model, settings)) {
HttpAuthScheme authSchemeSigV4a = supportedHttpAuthSchemesIndex
.getHttpAuthScheme(SigV4Trait.ID)
.toBuilder()
.schemeId(SigV4ATrait.ID)
.addResolveConfigFunction(ResolveConfigFunction.builder()
.resolveConfigFunction(Symbol.builder()
.name("resolveAwsSdkSigV4AConfig")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.inputConfig(Symbol.builder()
.name("AwsSdkSigV4AAuthInputConfig")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.previouslyResolved(Symbol.builder()
.name("AwsSdkSigV4APreviouslyResolved")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.resolvedConfig(Symbol.builder()
.name("AwsSdkSigV4AAuthResolvedConfig")
.namespace(AwsDependency.AWS_SDK_CORE.getPackageName(), "/")
.addDependency(AwsDependency.AWS_SDK_CORE)
.build())
.build())
.putDefaultSigner(LanguageTarget.SHARED, w -> w
.addDependency(AwsDependency.AWS_SDK_CORE)
.addImport("AwsSdkSigV4ASigner", null, AwsDependency.AWS_SDK_CORE)
.write("new AwsSdkSigV4ASigner()"))
.build();
supportedHttpAuthSchemesIndex.putHttpAuthScheme(authSchemeSigV4a.getSchemeId(), authSchemeSigV4a);
}
}
}