summaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/CloudAccount.java11
1 files changed, 9 insertions, 2 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 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() + "'";