diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-11-15 22:01:33 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-11-15 22:01:33 +0100 |
commit | c1b8378cd4f717e1fb6d1d0956c5f357f9304254 (patch) | |
tree | 89d9df98756fd8d3a24681e6b5d32f4c9fbe92a7 /config-provisioning | |
parent | 9a35cc0b67c8d9e5abe0b5b66ed7fc0a67498c07 (diff) |
Separate dynamic provisioning and host sharing
Diffstat (limited to 'config-provisioning')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java | 16 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | 1 |
2 files changed, 15 insertions, 2 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java index b9f56ab02a7..801e6e3fe75 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java @@ -13,12 +13,15 @@ public class Cloud { private final CloudName name; private final boolean dynamicProvisioning; + private final boolean allowHostSharing; private final boolean requireAccessControl; private final CloudAccount account; - private Cloud(CloudName name, boolean dynamicProvisioning, boolean requireAccessControl, CloudAccount account) { + private Cloud(CloudName name, boolean dynamicProvisioning, boolean allowHostSharing, boolean requireAccessControl, + CloudAccount account) { this.name = Objects.requireNonNull(name); this.dynamicProvisioning = dynamicProvisioning; + this.allowHostSharing = allowHostSharing; this.requireAccessControl = requireAccessControl; this.account = Objects.requireNonNull(account); if (name.equals(CloudName.AWS) && account.isUnspecified()) { @@ -36,6 +39,9 @@ public class Cloud { return dynamicProvisioning; } + /** Returns whether this allows host sharing */ + public boolean allowHostSharing() { return allowHostSharing; } + /** Returns whether to require access control for all clusters in this */ public boolean requireAccessControl() { return requireAccessControl; @@ -59,6 +65,7 @@ public class Cloud { private CloudName name = CloudName.DEFAULT; private boolean dynamicProvisioning = false; + private boolean allowHostSharing = true; private boolean requireAccessControl = false; private CloudAccount account = CloudAccount.empty; @@ -74,6 +81,11 @@ public class Cloud { return this; } + public Builder allowHostSharing(boolean allowHostSharing) { + this.allowHostSharing = allowHostSharing; + return this; + } + public Builder requireAccessControl(boolean requireAccessControl) { this.requireAccessControl = requireAccessControl; return this; @@ -85,7 +97,7 @@ public class Cloud { } public Cloud build() { - return new Cloud(name, dynamicProvisioning, requireAccessControl, account); + return new Cloud(name, dynamicProvisioning, allowHostSharing, requireAccessControl, account); } } 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 b1a9ecac394..97234056705 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 @@ -26,6 +26,7 @@ public class Zone { this(Cloud.builder() .name(CloudName.from(configserverConfig.cloud())) .dynamicProvisioning(cloudConfig.dynamicProvisioning()) + .allowHostSharing(cloudConfig.allowHostSharing()) .requireAccessControl(cloudConfig.requireAccessControl()) .account(CloudAccount.from(cloudConfig.account())) .build(), |