Skip to content

Commit bd2e0d9

Browse files
authored
fix(endpoint): add default signing name (#615)
* fix(endpoint): add default signing name * fix(endpoint): prioritize resolving endpoint default parameters and default signing name
1 parent 0f27d51 commit bd2e0d9

File tree

3 files changed

+24
-9
lines changed

3 files changed

+24
-9
lines changed

smithy-typescript-codegen/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ buildscript {
3333
dependencies {
3434
api("software.amazon.smithy:smithy-codegen-core:$smithyVersion")
3535
api("software.amazon.smithy:smithy-rules-engine:$smithyVersion")
36+
api("software.amazon.smithy:smithy-aws-traits:$smithyVersion")
3637
api("software.amazon.smithy:smithy-waiters:$smithyVersion")
3738
implementation("software.amazon.smithy:smithy-protocol-test-traits:$smithyVersion")
3839
}

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/ServiceBareBonesClientGenerator.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,14 @@ private void generateConstructor() {
327327
writer.write("let $L = __getRuntimeConfig(configuration);",
328328
generateConfigVariable(configVariable));
329329

330+
if (service.hasTrait(EndpointRuleSetTrait.class)) {
331+
configVariable++;
332+
writer.write("let $L = $L($L);",
333+
generateConfigVariable(configVariable),
334+
"resolveClientEndpointParameters",
335+
generateConfigVariable(configVariable - 1));
336+
}
337+
330338
// Add runtime plugin "resolve" method calls. These are invoked one
331339
// after the other until all of the runtime plugins have been called.
332340
// Only plugins that have configuration are called. Each time the
@@ -350,14 +358,6 @@ private void generateConstructor() {
350358
}
351359
}
352360

353-
if (service.hasTrait(EndpointRuleSetTrait.class)) {
354-
configVariable++;
355-
writer.write("let $L = $L($L);",
356-
generateConfigVariable(configVariable),
357-
"resolveClientEndpointParameters",
358-
generateConfigVariable(configVariable - 1));
359-
}
360-
361361
writer.write("super($L);", generateConfigVariable(configVariable));
362362
writer.write("this.config = $L;", generateConfigVariable(configVariable));
363363

smithy-typescript-codegen/src/main/java/software/amazon/smithy/typescript/codegen/endpointsV2/EndpointsV2Generator.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
import java.nio.file.Paths;
1919
import java.util.Map;
20+
import software.amazon.smithy.aws.traits.ServiceTrait;
21+
import software.amazon.smithy.aws.traits.auth.SigV4Trait;
2022
import software.amazon.smithy.build.FileManifest;
2123
import software.amazon.smithy.model.Model;
2224
import software.amazon.smithy.model.node.ObjectNode;
@@ -83,7 +85,13 @@ private void generateEndpointParameters() {
8385
);
8486

8587
writer.write("");
86-
writer.write("export type ClientResolvedEndpointParameters = ClientInputEndpointParameters;");
88+
writer.openBlock(
89+
"export type ClientResolvedEndpointParameters = ClientInputEndpointParameters & {",
90+
"};",
91+
() -> {
92+
writer.write("defaultSigningName: string;");
93+
}
94+
);
8795
writer.write("");
8896

8997
writer.openBlock(
@@ -98,6 +106,12 @@ private void generateEndpointParameters() {
98106
ruleSet.getObjectMember("parameters").ifPresent(parameters -> {
99107
parameters.accept(new RuleSetParametersVisitor(writer, true));
100108
});
109+
ServiceTrait serviceTrait = service.getTrait(ServiceTrait.class).get();
110+
writer.write(
111+
"defaultSigningName: \"$L\",",
112+
service.getTrait(SigV4Trait.class).map(SigV4Trait::getName)
113+
.orElse(serviceTrait.getArnNamespace())
114+
);
101115
});
102116
}
103117
);

0 commit comments

Comments
 (0)