diff --git a/smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java b/smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java index 669da1b3ea2..3f1b19da784 100644 --- a/smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java +++ b/smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/Endpoint.java @@ -19,10 +19,12 @@ import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.TreeMap; import java.util.stream.Collectors; import software.amazon.smithy.model.FromSourceLocation; import software.amazon.smithy.model.SourceLocation; @@ -71,7 +73,8 @@ private Endpoint(Builder builder) { builder.authSchemes.copy().stream() .map( authScheme -> { - Map base = new LinkedHashMap<>(); + Map base = new TreeMap<>( + Comparator.comparing(Identifier::asString)); base.put(Identifier.of("name"), Literal.of(authScheme.left.asString())); base.putAll(authScheme.right); return Literal.record(base);