Skip to content

Commit f001d1c

Browse files
committed
chore: codegen injecting default role assumers
1 parent 8ed3607 commit f001d1c

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,26 @@ public Map<String, Consumer<TypeScriptWriter>> getRuntimeConfigWriters(
104104
case NODE:
105105
return MapUtils.of(
106106
"credentialDefaultProvider", writer -> {
107+
if (!testServiceId(service, "STS")) {
108+
writer.addDependency(AwsDependency.STS_CLIENT);
109+
writer.addImport("decorateDefaultCredentialProvider",
110+
"decorateDefaultCredentialProvider", AwsDependency.STS_CLIENT.packageName
111+
+ "/defaultRoleAssumers");
112+
}
107113
writer.addDependency(AwsDependency.CREDENTIAL_PROVIDER_NODE);
108114
writer.addImport("defaultProvider", "credentialDefaultProvider",
109115
AwsDependency.CREDENTIAL_PROVIDER_NODE.packageName);
110-
writer.write("credentialDefaultProvider,");
116+
if (testServiceId(service, "STS")) {
117+
writer.openBlock("credentialDefaultProvider: (input) => {", "},", () -> {
118+
writer.writeDocs("Inline require to avoid circular dependencies");
119+
writer.write("return require(\"./defaultRoleAssumers\")."
120+
+ "decorateDefaultCredentialProvider(credentialDefaultProvider)(input);");
121+
});
122+
} else {
123+
writer.write(
124+
"credentialDefaultProvider: decorateDefaultCredentialProvider("
125+
+ "credentialDefaultProvider),");
126+
}
111127
}
112128
);
113129
default:

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
public enum AwsDependency implements SymbolDependencyContainer {
3131

3232
MIDDLEWARE_SIGNING(NORMAL_DEPENDENCY, "@aws-sdk/middleware-signing", "^1.0.0-rc.1"),
33+
STS_CLIENT(NORMAL_DEPENDENCY, "@aws-sdk/client-sts", "^3.9.0"),
3334
CREDENTIAL_PROVIDER_NODE(NORMAL_DEPENDENCY, "@aws-sdk/credential-provider-node", "^1.0.0-rc.1"),
3435
ACCEPT_HEADER(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-api-gateway", "^1.0.0-rc.1"),
3536
S3_MIDDLEWARE(NORMAL_DEPENDENCY, "@aws-sdk/middleware-sdk-s3", "^1.0.0-rc.1"),

0 commit comments

Comments
 (0)