summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java6
-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.java2
3 files changed, 4 insertions, 6 deletions
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 d0dc88ebcbc..f466e6f2ebb 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
@@ -12,8 +12,8 @@ import java.util.regex.Pattern;
*/
public class CloudAccount extends PatternedStringWrapper<CloudAccount> {
+ /** Empty value. When this is used, either implicitly or explicitly, the zone will use its default account */
public static final CloudAccount empty = new CloudAccount("");
- public static final CloudAccount default_ = new CloudAccount("default");
private CloudAccount(String value) {
super(value, Pattern.compile("^([0-9]{12})?$"), "cloud account");
@@ -23,11 +23,9 @@ public class CloudAccount extends PatternedStringWrapper<CloudAccount> {
return this.equals(empty);
}
- public boolean isDefault() { return this.equals(default_); }
-
public static CloudAccount from(String cloudAccount) {
return switch (cloudAccount) {
- case "" -> empty;
+ case "", "default" -> empty;
default -> new CloudAccount(cloudAccount);
};
}
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 b1ad178b34e..cd6b590f22b 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
@@ -677,7 +677,7 @@ public class ApplicationController {
.flatMap(instanceSpec -> instanceSpec.cloudAccount(zoneId.environment(),
Optional.of(zoneId.region())))
.or(spec::cloudAccount);
- if (requestedAccount.isEmpty() || requestedAccount.map(CloudAccount::isDefault).orElse(false)) {
+ if (requestedAccount.isEmpty() || requestedAccount.get().isEmpty()) {
return Optional.empty();
}
TenantName tenant = deployment.applicationId().tenant();
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 3b03f7660c8..8f82faedeb9 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
@@ -1335,7 +1335,7 @@ public class ControllerTest {
.region(prodZone2.region(), "default")
.build();
- // I don't know why this makes the test pass :(
+ // Allow use of custom account (zone 1)
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