Skip to content

Commit fe3cef6

Browse files
authored
Make AccountIDEndpointRouting aware of bdd endpoints (#3387)
1 parent 08d3034 commit fe3cef6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

codegen/smithy-aws-go-codegen/src/main/java/software/amazon/smithy/aws/go/codegen/customization/AccountIDEndpointRouting.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
import software.amazon.smithy.model.Model;
1212
import software.amazon.smithy.model.shapes.ServiceShape;
1313
import software.amazon.smithy.rulesengine.language.syntax.Identifier;
14+
import software.amazon.smithy.rulesengine.language.syntax.parameters.Parameters;
1415
import software.amazon.smithy.rulesengine.traits.EndpointRuleSetTrait;
16+
import software.amazon.smithy.rulesengine.traits.EndpointBddTrait;
1517
import software.amazon.smithy.utils.MapUtils;
1618

1719
import static software.amazon.smithy.go.codegen.GoWriter.goTemplate;
@@ -76,12 +78,17 @@ func checkAccountID(identity $auth:T, mode $accountIDEndpointMode:T) error {
7678
}
7779

7880
public static boolean hasAccountIdEndpoints(Model model, ServiceShape service) {
79-
if (!service.hasTrait(EndpointRuleSetTrait.class)) {
81+
if (!service.hasTrait(EndpointRuleSetTrait.class) && !service.hasTrait(EndpointBddTrait.class)) {
8082
return false;
8183
}
82-
83-
var rules = service.expectTrait(EndpointRuleSetTrait.class).getEndpointRuleSet();
84-
for (var param : rules.getParameters()) {
84+
Parameters parameters;
85+
if (service.hasTrait(EndpointRuleSetTrait.class)) {
86+
var rules = service.expectTrait(EndpointRuleSetTrait.class).getEndpointRuleSet();
87+
parameters = rules.getParameters();
88+
} else {
89+
parameters = service.expectTrait(EndpointBddTrait.class).getParameters();
90+
}
91+
for (var param : parameters) {
8592
if (param.getBuiltIn().orElse("").equals("AWS::Auth::AccountId")) {
8693
return true;
8794
}

0 commit comments

Comments
 (0)