diff options
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Cloud.java | 18 | ||||
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | 1 |
2 files changed, 17 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 78ed8c9b60d..0899a6f1007 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 reprovisionToUpgradeOs; private final boolean requireAccessControl; - private Cloud(CloudName name, boolean dynamicProvisioning, boolean reprovisionToUpgradeOs, boolean requireAccessControl) { + private Cloud(CloudName name, boolean dynamicProvisioning, boolean allowHostSharing, boolean reprovisionToUpgradeOs, + boolean requireAccessControl) { this.name = Objects.requireNonNull(name); this.dynamicProvisioning = dynamicProvisioning; + this.allowHostSharing = allowHostSharing; this.reprovisionToUpgradeOs = reprovisionToUpgradeOs; this.requireAccessControl = requireAccessControl; } @@ -33,6 +36,11 @@ public class Cloud { return dynamicProvisioning; } + /** Returns whether this allows different applications to share the same host */ + public boolean allowHostSharing() { + return allowHostSharing; + } + /** Returns whether upgrading OS on hosts in this requires the host to be reprovisioned */ public boolean reprovisionToUpgradeOs() { return reprovisionToUpgradeOs; @@ -56,6 +64,7 @@ public class Cloud { private CloudName name = CloudName.defaultName(); private boolean dynamicProvisioning = false; + private boolean allowHostSharing = true; private boolean reprovisionToUpgradeOs = false; private boolean requireAccessControl = false; @@ -71,6 +80,11 @@ public class Cloud { return this; } + public Builder allowHostSharing(boolean allowHostSharing) { + this.allowHostSharing = allowHostSharing; + return this; + } + public Builder reprovisionToUpgradeOs(boolean reprovisionToUpgradeOs) { this.reprovisionToUpgradeOs = reprovisionToUpgradeOs; return this; @@ -82,7 +96,7 @@ public class Cloud { } public Cloud build() { - return new Cloud(name, dynamicProvisioning, reprovisionToUpgradeOs, requireAccessControl); + return new Cloud(name, dynamicProvisioning, allowHostSharing, reprovisionToUpgradeOs, requireAccessControl); } } 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 4401606ca01..4b562a0856d 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()) .reprovisionToUpgradeOs(cloudConfig.reprovisionToUpgradeOs()) .requireAccessControl(cloudConfig.requireAccessControl()) .build(), |