Skip to content

Commit cb36c8d

Browse files
authored
Merge pull request #851 from aws/r53cust-fix
route53: codegen fix to correctly look for operations that need sanitize url
2 parents 4e3fc08 + cc57f65 commit cb36c8d

15 files changed

+24
-4
lines changed

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
import java.util.List;
44
import java.util.Optional;
55
import java.util.stream.Collectors;
6+
import java.util.stream.Stream;
67
import software.amazon.smithy.aws.traits.ServiceTrait;
8+
import software.amazon.smithy.codegen.core.CodegenException;
79
import software.amazon.smithy.codegen.core.SymbolProvider;
810
import software.amazon.smithy.go.codegen.GoDelegator;
911
import software.amazon.smithy.go.codegen.GoSettings;
@@ -143,12 +145,17 @@ private static boolean supportsHostedZoneIDValue(Model model, ServiceShape servi
143145
}
144146

145147
StructureShape input = model.expectShape(operation.getInput().get(), StructureShape.class);
146-
Optional<MemberShape> targetMember = input.getAllMembers().values().stream().findFirst().filter(
148+
List<MemberShape> targetMembers = input.getAllMembers().values().stream().filter(
147149
memberShape -> memberShape.getTarget().getName().equalsIgnoreCase("ResourceId") ||
148150
memberShape.getTarget().getName().equalsIgnoreCase("DelegationSetId")
149-
);
151+
).collect(Collectors.toList());
152+
153+
if (targetMembers.size() >1 ){
154+
throw new CodegenException(String.format("Route53 service has ResourceId, DelegationSetId members " +
155+
"modeled on %s shape", input.getId().getName()));
156+
}
150157

151-
return targetMember.isPresent();
158+
return targetMembers.size() != 0;
152159
}
153160

154161
// returns true if service is route53

service/route53/api_op_ChangeResourceRecordSets.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_CreateHostedZone.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_CreateQueryLoggingConfig.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_CreateTrafficPolicyInstance.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_CreateVPCAssociationAuthorization.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_DeleteVPCAssociationAuthorization.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_DisassociateVPCFromHostedZone.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_ListHostedZonesByName.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

service/route53/api_op_ListTrafficPolicyInstances.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)