summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-11-14 11:01:56 +0100
committerMartin Polden <mpolden@mpolden.no>2022-11-14 11:37:14 +0100
commitab09b81951e20cd85d8c2e595ca02be9e3deae77 (patch)
tree1ce1a17d815c965ca30d6f1c463b3e9edb165c46
parent0979fffb39994efb81fb6f51daf807dc696eae26 (diff)
Extract factory method
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java6
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java4
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java11
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/CloudAccountChangeValidatorTest.java2
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java11
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializer.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/PrepareParamsTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializerTest.java2
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java7
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostCapacityMaintainerTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java2
20 files changed, 38 insertions, 33 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index 82402afa3f3..c1ecddee456 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -148,7 +148,7 @@ public class DeploymentSpecXmlReader {
optionalIntegerAttribute(majorVersionAttribute, root),
stringAttribute(athenzDomainAttribute, root).map(AthenzDomain::from),
stringAttribute(athenzServiceAttribute, root).map(AthenzService::from),
- stringAttribute(cloudAccountAttribute, root).map(CloudAccount::new),
+ stringAttribute(cloudAccountAttribute, root).map(CloudAccount::from),
applicationEndpoints,
xmlForm,
deprecatedElements);
@@ -186,7 +186,7 @@ public class DeploymentSpecXmlReader {
int maxIdleHours = getWithFallback(instanceElement, parentTag, upgradeTag, "max-idle-hours", Integer::parseInt, 8);
List<DeploymentSpec.ChangeBlocker> changeBlockers = readChangeBlockers(instanceElement, parentTag);
Optional<AthenzService> athenzService = mostSpecificAttribute(instanceElement, athenzServiceAttribute).map(AthenzService::from);
- Optional<CloudAccount> cloudAccount = mostSpecificAttribute(instanceElement, cloudAccountAttribute).map(CloudAccount::new);
+ Optional<CloudAccount> cloudAccount = mostSpecificAttribute(instanceElement, cloudAccountAttribute).map(CloudAccount::from);
Notifications notifications = readNotifications(instanceElement, parentTag);
// Values where there is no default
@@ -448,7 +448,7 @@ public class DeploymentSpecXmlReader {
}
private Optional<CloudAccount> readCloudAccount(Element tag) {
- return mostSpecificAttribute(tag, cloudAccountAttribute).map(CloudAccount::new);
+ return mostSpecificAttribute(tag, cloudAccountAttribute).map(CloudAccount::from);
}
private Optional<String> readGlobalServiceId(Element environmentTag) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
index dab84233e02..d6af531ff89 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
@@ -1615,7 +1615,7 @@ public class DeploymentSpecTest {
</deployment>
""";
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(Optional.of(new CloudAccount("100000000000")), spec.cloudAccount());
+ assertEquals(Optional.of(CloudAccount.from("100000000000")), spec.cloudAccount());
assertCloudAccount("800000000000", spec.requireInstance("alpha"), Environment.prod, "us-east-1");
assertCloudAccount("200000000000", spec.requireInstance("beta"), Environment.prod, "us-west-1");
assertCloudAccount("600000000000", spec.requireInstance("beta"), Environment.staging, "");
@@ -1630,7 +1630,7 @@ public class DeploymentSpecTest {
}
private void assertCloudAccount(String expected, DeploymentInstanceSpec instance, Environment environment, String region) {
- assertEquals(Optional.of(expected).map(CloudAccount::new), instance.cloudAccount(environment, Optional.of(region).filter(s -> !s.isEmpty()).map(RegionName::from)));
+ assertEquals(Optional.of(expected).map(CloudAccount::from), instance.cloudAccount(environment, Optional.of(region).filter(s -> !s.isEmpty()).map(RegionName::from)));
}
private static void assertInvalid(String deploymentSpec, String errorMessagePart) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
index ccefa24738c..e822b42a909 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
@@ -4,7 +4,6 @@ package com.yahoo.config.application.api;
import com.google.common.collect.ImmutableSet;
import com.yahoo.config.provision.CloudAccount;
import com.yahoo.config.provision.Environment;
-import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.RegionName;
import org.junit.Test;
@@ -716,10 +715,10 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
DeploymentInstanceSpec instance = spec.requireInstance("default");
- assertEquals(Optional.of(new CloudAccount("012345678912")), spec.cloudAccount());
- assertEquals(Optional.of(new CloudAccount("219876543210")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1"))));
- assertEquals(Optional.of(new CloudAccount("012345678912")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-west-1"))));
- assertEquals(Optional.of(new CloudAccount("012345678912")), instance.cloudAccount(Environment.staging, Optional.empty()));
+ assertEquals(Optional.of(CloudAccount.from("012345678912")), spec.cloudAccount());
+ assertEquals(Optional.of(CloudAccount.from("219876543210")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1"))));
+ assertEquals(Optional.of(CloudAccount.from("012345678912")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-west-1"))));
+ assertEquals(Optional.of(CloudAccount.from("012345678912")), instance.cloudAccount(Environment.staging, Optional.empty()));
r = new StringReader(
"<deployment version='1.0'>" +
@@ -731,7 +730,7 @@ public class DeploymentSpecWithoutInstanceTest {
);
spec = DeploymentSpec.fromXml(r);
assertEquals(Optional.empty(), spec.cloudAccount());
- assertEquals(Optional.of(new CloudAccount("219876543210")), spec.requireInstance("default").cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1"))));
+ assertEquals(Optional.of(CloudAccount.from("219876543210")), spec.requireInstance("default").cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1"))));
assertEquals(Optional.empty(), spec.requireInstance("default").cloudAccount(Environment.prod, Optional.of(RegionName.from("us-west-1"))));
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/CloudAccountChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/CloudAccountChangeValidatorTest.java
index aec6cb468d1..b84038ae9b8 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/CloudAccountChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/CloudAccountChangeValidatorTest.java
@@ -28,7 +28,7 @@ class CloudAccountChangeValidatorTest {
@Test
public void validate() {
VespaModel model0 = model(provisioned(capacity(CloudAccount.empty)));
- VespaModel model1 = model(provisioned(capacity(new CloudAccount("000000000000"))));
+ VespaModel model1 = model(provisioned(capacity(CloudAccount.from("000000000000"))));
CloudAccountChangeValidator validator = new CloudAccountChangeValidator();
try {
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java b/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java
index 0e709575627..d0dc88ebcbc 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java
@@ -15,8 +15,8 @@ public class CloudAccount extends PatternedStringWrapper<CloudAccount> {
public static final CloudAccount empty = new CloudAccount("");
public static final CloudAccount default_ = new CloudAccount("default");
- public CloudAccount(String value) {
- super(value, Pattern.compile("^([0-9]{12}|default)?$"), "cloud account");
+ private CloudAccount(String value) {
+ super(value, Pattern.compile("^([0-9]{12})?$"), "cloud account");
}
public boolean isEmpty() {
@@ -25,6 +25,13 @@ public class CloudAccount extends PatternedStringWrapper<CloudAccount> {
public boolean isDefault() { return this.equals(default_); }
+ public static CloudAccount from(String cloudAccount) {
+ return switch (cloudAccount) {
+ case "" -> empty;
+ default -> new CloudAccount(cloudAccount);
+ };
+ }
+
@Override
public String toString() {
return isEmpty() ? "unspecified account" : "account '" + value() + "'";
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
index 8b662c4f66b..b1a9ecac394 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java
@@ -27,7 +27,7 @@ public class Zone {
.name(CloudName.from(configserverConfig.cloud()))
.dynamicProvisioning(cloudConfig.dynamicProvisioning())
.requireAccessControl(cloudConfig.requireAccessControl())
- .account(cloudConfig.account().isEmpty() ? CloudAccount.empty : new CloudAccount(cloudConfig.account()))
+ .account(CloudAccount.from(cloudConfig.account()))
.build(),
SystemName.from(configserverConfig.system()),
Environment.from(configserverConfig.environment()),
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializer.java
index 2478cf6baeb..7bc2ad3f777 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializer.java
@@ -16,7 +16,7 @@ public class CloudAccountSerializer {
private CloudAccountSerializer() {}
public static CloudAccount fromSlime(Inspector object) {
- return new CloudAccount(object.field(ID_FIELD).asString());
+ return CloudAccount.from(object.field(ID_FIELD).asString());
}
public static Slime toSlime(CloudAccount account) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index b1b42465b00..95f44bf09a1 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -512,7 +512,7 @@ public class HostedDeployTest {
@Test
public void testRedeployWithCloudAccount() {
- CloudAccount cloudAccount = new CloudAccount("012345678912");
+ CloudAccount cloudAccount = CloudAccount.from("012345678912");
DeployTester tester = new DeployTester.Builder(temporaryFolder)
.modelFactory(createHostedModelFactory(Version.fromString("4.5.6"), Clock.systemUTC()))
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/PrepareParamsTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/PrepareParamsTest.java
index 34921db1bb7..82d6f183761 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/PrepareParamsTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/PrepareParamsTest.java
@@ -210,7 +210,7 @@ public class PrepareParamsTest {
public void testCloudAccount() {
String json = "{\"cloudAccount\": {\"id\": \"012345678912\"}}";
PrepareParams params = PrepareParams.fromJson(json.getBytes(StandardCharsets.UTF_8), TenantName.defaultName(), Duration.ZERO);
- assertEquals(new CloudAccount("012345678912"), params.cloudAccount().get());
+ assertEquals(CloudAccount.from("012345678912"), params.cloudAccount().get());
}
private void assertPrepareParamsEqual(PrepareParams urlParams, PrepareParams jsonParams) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 78548dea195..6156dd8b6dc 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -348,7 +348,7 @@ public class SessionPreparerTest {
TestModelFactory modelFactory = new TestModelFactory(version123);
preparer = createPreparer(new ModelFactoryRegistry(List.of(modelFactory)), HostProvisionerProvider.empty());
ApplicationId applicationId = applicationId("test");
- CloudAccount expected = new CloudAccount("012345678912");
+ CloudAccount expected = CloudAccount.from("012345678912");
PrepareParams params = new PrepareParams.Builder().applicationId(applicationId)
.cloudAccount(expected)
.build();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializerTest.java
index 7989cdcf019..7fb6a27b22b 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/tenant/CloudAccountSerializerTest.java
@@ -15,7 +15,7 @@ public class CloudAccountSerializerTest {
@Test
public void serialization() {
- CloudAccount account = new CloudAccount("012345678912");
+ CloudAccount account = CloudAccount.from("012345678912");
assertEquals(account, fromSlime(toSlime(account).get()));
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
index ba148345d0d..b1ad178b34e 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java
@@ -683,7 +683,7 @@ public class ApplicationController {
TenantName tenant = deployment.applicationId().tenant();
Set<CloudAccount> tenantAccounts = cloudAccountsFlag.with(FetchVector.Dimension.TENANT_ID, tenant.value())
.value().stream()
- .map(CloudAccount::new)
+ .map(CloudAccount::from)
.collect(Collectors.toSet());
if (!tenantAccounts.contains(requestedAccount.get())) {
throw new IllegalArgumentException("Requested cloud account '" + requestedAccount.get().value() +
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
index f6af6bbe7e5..3b03f7660c8 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
@@ -56,7 +56,6 @@ import org.junit.jupiter.api.Test;
import java.time.Duration;
import java.time.Instant;
import java.util.Collection;
-import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@@ -1306,14 +1305,14 @@ public class ControllerTest {
.abortJob(stagingTest);
// Deployment to prod succeeds once all zones are configured in requested account
- tester.controllerTester().zoneRegistry().configureCloudAccount(new CloudAccount(cloudAccount),
+ tester.controllerTester().zoneRegistry().configureCloudAccount(CloudAccount.from(cloudAccount),
systemTest.zone(),
stagingTest.zone(),
prodZone);
context.submit(applicationPackage).deploy();
// Dev zone is added as a configured zone and deployment succeeds
- tester.controllerTester().zoneRegistry().configureCloudAccount(new CloudAccount(cloudAccount), devZone);
+ tester.controllerTester().zoneRegistry().configureCloudAccount(CloudAccount.from(cloudAccount), devZone);
context.runJob(devZone, applicationPackage);
// All deployments use the custom account
@@ -1340,7 +1339,7 @@ public class ControllerTest {
tester.controllerTester().flagSource().withListFlag(PermanentFlags.CLOUD_ACCOUNTS.id(), List.of(cloudAccount), String.class);
// Deployment to prod succeeds once all zones are configured in requested account
- tester.controllerTester().zoneRegistry().configureCloudAccount(new CloudAccount(cloudAccount),
+ tester.controllerTester().zoneRegistry().configureCloudAccount(CloudAccount.from(cloudAccount),
systemTest.zone(),
stagingTest.zone(),
prodZone1);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
index 4078a3e80d7..fd394e13f07 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializer.java
@@ -101,7 +101,7 @@ public class LoadBalancerSerializer {
Optional<DomainName> hostname = optionalString(object.field(hostnameField), Function.identity()).filter(s -> !s.isEmpty()).map(DomainName::of);
Optional<String> ipAddress = optionalString(object.field(lbIpAddressField), Function.identity()).filter(s -> !s.isEmpty());
Optional<DnsZone> dnsZone = optionalString(object.field(dnsZoneField), DnsZone::new);
- CloudAccount cloudAccount = optionalString(object.field(cloudAccountField), CloudAccount::new).orElse(CloudAccount.empty);
+ CloudAccount cloudAccount = optionalString(object.field(cloudAccountField), CloudAccount::from).orElse(CloudAccount.empty);
Optional<LoadBalancerInstance> instance = hostname.isEmpty() && ipAddress.isEmpty() ? Optional.empty() :
Optional.of(new LoadBalancerInstance(hostname, ipAddress, dnsZone, ports, networks, reals, cloudAccount));
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java
index 7ff0bb644fc..e924bd49949 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java
@@ -295,7 +295,7 @@ public class NodeSerializer {
SlimeUtils.optionalString(object.field(exclusiveToClusterTypeKey)).map(ClusterSpec.Type::from),
SlimeUtils.optionalString(object.field(switchHostnameKey)),
trustedCertificatesFromSlime(object),
- SlimeUtils.optionalString(object.field(cloudAccountKey)).map(CloudAccount::new).orElse(CloudAccount.empty));
+ SlimeUtils.optionalString(object.field(cloudAccountKey)).map(CloudAccount::from).orElse(CloudAccount.empty));
}
private Status statusFromSlime(Inspector object) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostCapacityMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostCapacityMaintainerTest.java
index afe02aa5e3a..4b90923efc2 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostCapacityMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/HostCapacityMaintainerTest.java
@@ -506,7 +506,7 @@ public class HostCapacityMaintainerTest {
// Deployment requests capacity in custom account
ClusterSpec spec = ProvisioningTester.contentClusterSpec();
ClusterResources resources = new ClusterResources(2, 1, new NodeResources(16, 24, 100, 1));
- CloudAccount cloudAccount0 = new CloudAccount("000000000000");
+ CloudAccount cloudAccount0 = CloudAccount.from("000000000000");
Capacity capacity0 = Capacity.from(resources, resources, false, true, Optional.of(cloudAccount0));
List<HostSpec> prepared = provisioningTester.prepare(applicationId, spec, capacity0);
@@ -516,7 +516,7 @@ public class HostCapacityMaintainerTest {
NodeList allNodes0 = tester.nodeRepository.nodes().list();
// Redeployment in different account provisions a new set of hosts
- CloudAccount cloudAccount1 = new CloudAccount("100000000000");
+ CloudAccount cloudAccount1 = CloudAccount.from("100000000000");
Capacity capacity1 = Capacity.from(resources, resources, false, true, Optional.of(cloudAccount1));
prepared = provisioningTester.prepare(applicationId, spec, capacity1);
provisionHostsIn(cloudAccount1, 2, tester);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
index 8e3932e51a8..ebd37c3fd20 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java
@@ -339,7 +339,7 @@ public class OsVersionsTest {
var versions = new OsVersions(tester.nodeRepository(), Cloud.builder()
.dynamicProvisioning(true)
.name(CloudName.AWS)
- .account(new CloudAccount("000000000000"))
+ .account(CloudAccount.from("000000000000"))
.build(), Integer.MAX_VALUE);
provisionInfraApplication(hostCount, infraApplication, NodeType.host, NodeResources.StorageType.remote);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
index 8d226899ec4..d2d805a1bd5 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/LoadBalancerSerializerTest.java
@@ -43,7 +43,7 @@ public class LoadBalancerSerializerTest {
new Real(DomainName.of("real-2"),
"127.0.0.2",
4080)),
- new CloudAccount("012345678912"))),
+ CloudAccount.from("012345678912"))),
LoadBalancer.State.active,
now);
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java
index 3f4487e0a34..2536d6b97ca 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java
@@ -492,7 +492,7 @@ public class NodeSerializerTest {
@Test
public void cloud_account_serialization() {
- CloudAccount account = new CloudAccount("012345678912");
+ CloudAccount account = CloudAccount.from("012345678912");
Node node = Node.create("id", "host1.example.com", nodeFlavors.getFlavorOrThrow("default"), State.provisioned, NodeType.host)
.cloudAccount(account)
.exclusiveToApplicationId(ApplicationId.defaultId())
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
index d3a8ca2dcc1..325e4b58174 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
@@ -326,7 +326,7 @@ public class LoadBalancerProvisionerTest {
assertEquals(cloudAccount0, loadBalancers.first().get().instance().get().cloudAccount());
// Changing account fails if there is an existing LB in the previous account.
- CloudAccount cloudAccount1 = new CloudAccount("111111111111");
+ CloudAccount cloudAccount1 = CloudAccount.from("111111111111");
Capacity capacity = Capacity.from(resources, resources, false, true, Optional.of(cloudAccount1));
try {
prepare(app1, capacity, clusterRequest(ClusterSpec.Type.container, ClusterSpec.Id.from("c1")));