diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-05-06 14:09:10 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-05-06 15:05:39 +0200 |
commit | 5aa8f4c900e1c7ff87c7dd804939713f5a87b9e2 (patch) | |
tree | 5c5e1bcfd6761ce4afcca1239a77dd4271d434f6 /config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | |
parent | ee4fb54e2078961257a9c399f6e90622dc0b2298 (diff) |
Model cloud features explicitly
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Zone.java | 23 |
1 files changed, 13 insertions, 10 deletions
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 33a13b1aa9f..260f17f1c81 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 @@ -3,6 +3,7 @@ package com.yahoo.config.provision; import com.google.inject.Inject; import com.yahoo.cloud.config.ConfigserverConfig; +import com.yahoo.config.provisioning.CloudConfig; import java.util.Objects; import java.util.Optional; @@ -16,15 +17,17 @@ import java.util.Optional; */ public class Zone { - private final CloudName cloudName; + private final Cloud cloud; private final SystemName systemName; private final Environment environment; private final RegionName region; private final Optional<NodeFlavors> nodeFlavors; @Inject - public Zone(ConfigserverConfig configserverConfig, NodeFlavors nodeFlavors) { - this(CloudName.from(configserverConfig.cloud()), + public Zone(ConfigserverConfig configserverConfig, NodeFlavors nodeFlavors, CloudConfig cloudConfig) { + this(new Cloud(CloudName.from(configserverConfig.cloud()), cloudConfig.dynamicProvisioning(), + cloudConfig.allowHostSharing(), cloudConfig.reprovisionToUpgradeOs(), + cloudConfig.requireAccessControl()), SystemName.from(configserverConfig.system()), Environment.from(configserverConfig.environment()), RegionName.from(configserverConfig.region()), @@ -38,21 +41,21 @@ public class Zone { /** Create from system, environment and region. Use for testing. */ public Zone(SystemName systemName, Environment environment, RegionName region) { - this(CloudName.defaultName(), systemName, environment, region); + this(Cloud.defaultCloud(), systemName, environment, region); } /** Create from cloud, system, environment and region. Use for testing. */ - public Zone(CloudName cloudName, SystemName systemName, Environment environment, RegionName region) { - this(cloudName, systemName, environment, region, null); + public Zone(Cloud cloud, SystemName systemName, Environment environment, RegionName region) { + this(cloud, systemName, environment, region, null); } /** Create from cloud, system, environment, region and node flavors. Use for testing. */ - private Zone(CloudName cloudName, + private Zone(Cloud cloud, SystemName systemName, Environment environment, RegionName region, NodeFlavors nodeFlavors) { - this.cloudName = cloudName; + this.cloud = cloud; this.systemName = systemName; this.environment = environment; this.region = region; @@ -60,7 +63,7 @@ public class Zone { } /** Returns the current cloud */ - public CloudName cloud() { return cloudName; } + public Cloud cloud() { return cloud; } /** Returns the current system */ public SystemName system() { return systemName; } @@ -80,7 +83,7 @@ public class Zone { /** Do not use */ public static Zone defaultZone() { - return new Zone(CloudName.defaultName(), SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName()); + return new Zone(Cloud.defaultCloud(), SystemName.defaultSystem(), Environment.defaultEnvironment(), RegionName.defaultName()); } @Override |