@@ -96,7 +96,10 @@ private void loadServiceEndpoints() {
96
96
&& (config .containsMember ("hostname" ) || config .containsMember ("variants" ))) {
97
97
String region = entry .getKey ();
98
98
String hostname = config .getStringMemberOrDefault ("hostname" , partition .hostnameTemplate );
99
- String resolvedHostname = getResolvedHostname (hostname , dnsSuffix , endpointPrefix , region );
99
+ String resolvedHostname = getResolvedHostnameWithDnsSuffix (
100
+ getResolvedHostname (hostname , endpointPrefix , region ),
101
+ dnsSuffix
102
+ );
100
103
101
104
ArrayNode variants = config .getArrayMember ("variants" ).orElse (ArrayNode .fromNodes ());
102
105
ArrayNode defaultVariant = ArrayNode .fromNodes (getDefaultVariant (resolvedHostname ));
@@ -187,15 +190,18 @@ private ObjectNode getDefaultVariant(String hostname) {
187
190
.withMember ("tags" , ArrayNode .fromStrings (Collections .emptyList ()));
188
191
}
189
192
190
- private String getResolvedHostname (String hostnameTemplate , String dnsSuffix , String service ) {
191
- return getResolvedHostname (hostnameTemplate , dnsSuffix , service , "{region}" );
193
+ private String getResolvedHostname (String hostnameTemplate , String service ) {
194
+ return getResolvedHostname (hostnameTemplate , service , "{region}" );
192
195
}
193
196
194
- private String getResolvedHostname (String hostnameTemplate , String dnsSuffix , String service , String region ) {
197
+ private String getResolvedHostname (String hostnameTemplate , String service , String region ) {
195
198
return hostnameTemplate
196
199
.replace ("{service}" , service )
197
- .replace ("{region}" , region )
198
- .replace ("{dnsSuffix}" , dnsSuffix );
200
+ .replace ("{region}" , region );
201
+ }
202
+
203
+ private String getResolvedHostnameWithDnsSuffix (String hostnameTemplate , String dnsSuffix ) {
204
+ return hostnameTemplate .replace ("{dnsSuffix}" , dnsSuffix );
199
205
}
200
206
201
207
private final class Partition {
@@ -219,7 +225,7 @@ private Partition(ObjectNode config, String partition) {
219
225
220
226
// Resolve the template to use for this service in this partition.
221
227
String hostname = defaults .expectStringMember ("hostname" ).getValue ();
222
- hostnameTemplate = getResolvedHostname (hostname , dnsSuffix , endpointPrefix );
228
+ hostnameTemplate = getResolvedHostname (hostname , endpointPrefix );
223
229
224
230
ArrayNode mergedVariants = getMergedVariants (
225
231
partitionDefaults .getArrayMember ("variants" ).orElse (Node .arrayNode ()),
@@ -249,12 +255,15 @@ Set<String> getAllRegions() {
249
255
private ArrayNode getVariants (ArrayNode mergedVariants ) {
250
256
List <Node > allVariants = new ArrayList <Node >();
251
257
252
- allVariants .add (getDefaultVariant (hostnameTemplate ));
258
+ allVariants .add (getDefaultVariant (getResolvedHostnameWithDnsSuffix ( hostnameTemplate , this . dnsSuffix ) ));
253
259
mergedVariants .forEach (mergedVariant -> {
254
260
ObjectNode variantNode = mergedVariant .expectObjectNode ();
255
261
String hostname = variantNode .expectStringMember ("hostname" ).getValue ();
256
262
String dnsSuffix = variantNode .getStringMemberOrDefault ("dnsSuffix" , this .dnsSuffix );
257
- String resolvedHostname = getResolvedHostname (hostname , dnsSuffix , endpointPrefix );
263
+ String resolvedHostname = getResolvedHostnameWithDnsSuffix (
264
+ getResolvedHostname (hostname , endpointPrefix ),
265
+ dnsSuffix
266
+ );
258
267
allVariants .add (variantNode .withMember ("hostname" , resolvedHostname ).withoutMember ("dnsSuffix" ));
259
268
});
260
269
0 commit comments