diff options
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 |