summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@vespa.ai>2023-05-15 20:47:16 +0200
committerJon Bratseth <bratseth@vespa.ai>2023-05-15 20:47:16 +0200
commit9406d9e50a3b0d183ec2d76595679eea41f0129f (patch)
treec75ae3cd85aa29522043ceb1f3f49e80fe6f8f5f /config-provisioning
parentc2a220bed85e7af09f62d34de339b168d9507b87 (diff)
Make all node resource elements optional
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
index 9ca10091129..d1fd409fc93 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java
@@ -210,6 +210,10 @@ public class NodeResources {
public Architecture architecture() { return architecture; }
public GpuResources gpuResources() { return gpuResources; }
+ public boolean vcpuIsUnspecified() { return vcpu == 0; }
+ public boolean memoryGbIsUnspecified() { return memoryGb == 0; }
+ public boolean diskGbIsUnspecified() { return diskGb == 0; }
+
/** Returns the standard cost of these resources, in dollars per hour */
public double cost() {
return (vcpu * cpuUnitCost) +
@@ -219,19 +223,16 @@ public class NodeResources {
}
public NodeResources withVcpu(double vcpu) {
- ensureSpecified();
if (vcpu == this.vcpu) return this;
return new NodeResources(vcpu, memoryGb, diskGb, bandwidthGbps, diskSpeed, storageType, architecture, gpuResources);
}
public NodeResources withMemoryGb(double memoryGb) {
- ensureSpecified();
if (memoryGb == this.memoryGb) return this;
return new NodeResources(vcpu, memoryGb, diskGb, bandwidthGbps, diskSpeed, storageType, architecture, gpuResources);
}
public NodeResources withDiskGb(double diskGb) {
- ensureSpecified();
if (diskGb == this.diskGb) return this;
return new NodeResources(vcpu, memoryGb, diskGb, bandwidthGbps, diskSpeed, storageType, architecture, gpuResources);
}