aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-08 17:27:39 +0200
committerjonmv <venstad@gmail.com>2022-04-08 17:27:39 +0200
commit0ee94a18e5420f7f77aec110c8ff0a67a661a7ef (patch)
treed1592c6ed5f01ad1c820c403b8a9590373944b66 /controller-api
parent4ffc54339186574491a32b3166223c3fc50ba8fe (diff)
Revert "Merge pull request #22065 from vespa-engine/revert-22049-jonmv/unify-hostname-classes"
This reverts commit 4ffc54339186574491a32b3166223c3fc50ba8fe, reversing changes made to db9e570a36decb24e6cb13f44bd0ff444ab762e3.
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java4
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java13
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java3
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java6
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java8
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java9
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java7
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java7
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java18
-rw-r--r--controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java6
16 files changed, 46 insertions, 48 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
index 77b8118784a..8e22b079263 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/application/v4/EnvironmentResource.java
@@ -2,10 +2,10 @@
package com.yahoo.vespa.hosted.controller.api.application.v4;
import com.fasterxml.jackson.databind.JsonNode;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.InstanceInformation;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
import com.yahoo.vespa.hosted.controller.api.identifiers.EnvironmentId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.Hostname;
import com.yahoo.vespa.hosted.controller.api.identifiers.InstanceId;
import com.yahoo.vespa.hosted.controller.api.identifiers.RegionId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
@@ -51,7 +51,7 @@ public interface EnvironmentResource {
@PathParam("environmentId") EnvironmentId environmentId,
@PathParam("regionId") RegionId regionId,
@PathParam("instanceId") InstanceId instanceId,
- @QueryParam("hostname") Hostname hostname);
+ @QueryParam("hostname") HostName hostname);
@GET
@Path("{environmentId}/region/{regionId}/instance/{instanceId}")
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java
deleted file mode 100644
index fc46c92189d..00000000000
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/identifiers/Hostname.java
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.controller.api.identifiers;
-
-/**
- * @author smorgrav
- */
-public class Hostname extends Identifier {
-
- public Hostname(String hostname) {
- super(hostname);
- }
-
-}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
index ecd58bc292c..2c20ab904bc 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java
@@ -2,13 +2,12 @@
package com.yahoo.vespa.hosted.controller.api.integration.aws;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
/**
* @author olaa
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
index 18be3a414a5..073a6224ee8 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java
@@ -2,11 +2,10 @@
package com.yahoo.vespa.hosted.controller.api.integration.aws;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneApi;
import java.util.Map;
-import java.util.Optional;
/**
* @author olaa
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
index 015d7dce33b..74bcfbffb1a 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/LoadBalancer.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.Objects;
import java.util.Optional;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
index d82b9c97187..2afe5e516ed 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.DockerImage;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
@@ -530,7 +530,7 @@ public class Node {
}
public Builder hostname(String hostname) {
- return hostname(HostName.from(hostname));
+ return hostname(HostName.of(hostname));
}
public Builder hostname(HostName hostname) {
@@ -539,7 +539,7 @@ public class Node {
}
public Builder parentHostname(String parentHostname) {
- return parentHostname(HostName.from(parentHostname));
+ return parentHostname(HostName.of(parentHostname));
}
public Builder parentHostname(HostName parentHostname) {
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
index 7b209d231c4..a564037a676 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeFilter.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import java.util.Objects;
import java.util.Set;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
index 395f0642965..56b176d529b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.yahoo.component.Version;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.zone.ZoneId;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
index f0ed73c2dc9..b8d827ac24e 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/ServiceConvergence.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.configserver;
import com.google.common.collect.ImmutableList;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.List;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
index 0f410ede864..e429731ba52 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/deployment/TesterCloud.java
@@ -1,10 +1,12 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.deployment;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
+import java.net.InetAddress;
import java.net.URI;
import java.util.List;
import java.util.Optional;
@@ -32,10 +34,10 @@ public interface TesterCloud {
boolean testerReady(DeploymentId deploymentId);
/** Returns the IP address of the given host name, if any. */
- Optional<String> resolveHostName(HostName hostname);
+ Optional<InetAddress> resolveHostName(DomainName hostname);
/** Returns the host name of the given CNAME, if any. */
- Optional<HostName> resolveCname(HostName hostName);
+ Optional<DomainName> resolveCname(DomainName hostName);
/** Returns the test report as JSON if available */
Optional<TestReport> getTestReport(DeploymentId deploymentId);
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
index eeac395e8e1..81d55c50d69 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import java.util.Objects;
@@ -12,11 +13,11 @@ import java.util.Objects;
*/
public abstract class AliasTarget {
- private final HostName name;
+ private final DomainName name;
private final String dnsZone;
private final String id;
- public AliasTarget(HostName name, String dnsZone, String id) {
+ public AliasTarget(DomainName name, String dnsZone, String id) {
this.name = Objects.requireNonNull(name, "name must be non-null");
this.dnsZone = Objects.requireNonNull(dnsZone, "dnsZone must be non-null");
this.id = Objects.requireNonNull(id, "id must be non-null");
@@ -28,7 +29,7 @@ public abstract class AliasTarget {
}
/** DNS name this points to */
- public final HostName name() {
+ public final DomainName name() {
return name;
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
index 170cad8cd5b..c898796f4ea 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/LatencyAliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.Objects;
@@ -15,7 +16,7 @@ public class LatencyAliasTarget extends AliasTarget {
private final ZoneId zone;
- public LatencyAliasTarget(HostName name, String dnsZone, ZoneId zone) {
+ public LatencyAliasTarget(DomainName name, String dnsZone, ZoneId zone) {
super(name, dnsZone, zone.value());
this.zone = Objects.requireNonNull(zone);
}
@@ -59,7 +60,7 @@ public class LatencyAliasTarget extends AliasTarget {
if (!"latency".equals(parts[0])) {
throw new IllegalArgumentException("Unexpected type '" + parts[0] + "'");
}
- return new LatencyAliasTarget(HostName.from(parts[1]), parts[2], ZoneId.from(parts[3]));
+ return new LatencyAliasTarget(HostName.of(parts[1]), parts[2], ZoneId.from(parts[3]));
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
index 963cf74b948..c26c17cfc11 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/dns/WeightedAliasTarget.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import java.util.Objects;
@@ -18,7 +19,7 @@ public class WeightedAliasTarget extends AliasTarget {
private final long weight;
- public WeightedAliasTarget(HostName name, String dnsZone, ZoneId zone, long weight) {
+ public WeightedAliasTarget(DomainName name, String dnsZone, ZoneId zone, long weight) {
super(name, dnsZone, zone.value());
this.weight = weight;
if (weight < 0) throw new IllegalArgumentException("Weight cannot be negative");
@@ -63,7 +64,7 @@ public class WeightedAliasTarget extends AliasTarget {
if (!"weighted".equals(parts[0])) {
throw new IllegalArgumentException("Unexpected type '" + parts[0] + "'");
}
- return new WeightedAliasTarget(HostName.from(parts[1]), parts[2], ZoneId.from(parts[3]),
+ return new WeightedAliasTarget(HostName.of(parts[1]), parts[2], ZoneId.from(parts[3]),
Long.parseLong(parts[4]));
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
index 72457a6a45e..0a58d10fdf6 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/RestartFilter.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.api.integration.noderepository;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServer;
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
index cf6b592b7a5..5496b6022fd 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockTesterCloud.java
@@ -1,7 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.stubs;
-import com.yahoo.config.provision.HostName;
+import ai.vespa.http.DomainName;
+import com.yahoo.net.HostName;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.TestReport;
@@ -10,7 +11,9 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.NameService;
import com.yahoo.vespa.hosted.controller.api.integration.dns.Record;
import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordName;
+import java.net.InetAddress;
import java.net.URI;
+import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -57,15 +60,20 @@ public class MockTesterCloud implements TesterCloud {
}
@Override
- public Optional<String> resolveHostName(HostName hostname) {
- return Optional.of("1.2.3.4");
+ public Optional<InetAddress> resolveHostName(DomainName hostname) {
+ try {
+ return Optional.of(InetAddress.getByAddress(new byte[]{ 1, 2, 3, 4 }));
+ }
+ catch (UnknownHostException e) {
+ throw new IllegalStateException("should not happen");
+ }
}
@Override
- public Optional<HostName> resolveCname(HostName hostName) {
+ public Optional<DomainName> resolveCname(DomainName hostName) {
return nameService.findRecords(Record.Type.CNAME, RecordName.from(hostName.value())).stream()
.findFirst()
- .map(record -> HostName.from(record.data().asString().substring(0, record.data().asString().length() - 1)));
+ .map(record -> DomainName.of(record.data().asString().substring(0, record.data().asString().length() - 1)));
}
@Override
diff --git a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
index ff0fd9e460f..ebeddf83169 100644
--- a/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
+++ b/controller-api/src/test/java/com/yahoo/vespa/hosted/controller/api/integration/dns/AliasTargetTest.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.api.integration.dns;
-import com.yahoo.config.provision.HostName;
+import com.yahoo.net.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import org.junit.Test;
@@ -18,8 +18,8 @@ public class AliasTargetTest {
@Test
public void packing() {
List<AliasTarget> tests = List.of(
- new LatencyAliasTarget(HostName.from("foo.example.com"), "dns-zone-1", ZoneId.from("prod.us-north-1")),
- new WeightedAliasTarget(HostName.from("bar.example.com"), "dns-zone-2", ZoneId.from("prod.us-north-2"), 50)
+ new LatencyAliasTarget(HostName.of("foo.example.com"), "dns-zone-1", ZoneId.from("prod.us-north-1")),
+ new WeightedAliasTarget(HostName.of("bar.example.com"), "dns-zone-2", ZoneId.from("prod.us-north-2"), 50)
);
for (var target : tests) {
AliasTarget unpacked = AliasTarget.unpack(target.pack());