aboutsummaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-08-22 15:44:10 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-08-22 15:44:10 +0200
commitb613c2212bfb6f2055c3b69e9188c0b79e67eea0 (patch)
treebcfe72fea1f9f9624b9f0a7ba2c8652e64d64fd3 /config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
parent3b9047f5113146ff578ac4eea19d1ec5796fcac8 (diff)
Add methods to easily modify Flavor
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
index c2b2fc2cb20..e814c272aa0 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Flavor.java
@@ -57,10 +57,7 @@ public class Flavor {
this.cost = cost;
}
- public Flavor withFlavorOverrides(FlavorOverrides flavorOverrides) {
- if (type == Type.DOCKER_CONTAINER)
- throw new IllegalArgumentException("Cannot override flavor for docker containers");
-
+ public Flavor with(FlavorOverrides flavorOverrides) {
if (!configured)
throw new IllegalArgumentException("Cannot override non-configured flavor");
@@ -73,6 +70,16 @@ public class Flavor {
return new Flavor(name, newResources, Optional.of(flavorOverrides), type, true, cost);
}
+ public Flavor with(NodeResources resources) {
+ if (type == Type.DOCKER_CONTAINER && !configured)
+ return new Flavor(resources);
+
+ if (!resources.equals(this.resources.withDiskGb(resources.diskGb())))
+ throw new IllegalArgumentException("Can only override disk GB for configured flavor");
+
+ return with(FlavorOverrides.ofDisk(resources.diskGb()));
+ }
+
/** Returns the unique identity of this flavor if it is configured, or the resource spec string otherwise */
public String name() { return name; }