summaryrefslogtreecommitdiffstats
path: root/config-provisioning
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-05-06 12:50:34 +0200
committerJon Bratseth <bratseth@gmail.com>2020-05-06 12:50:34 +0200
commit3993c44146615752132084387209417cea4d8ec3 (patch)
tree181ba81b3f0e044a8352005f42d6b20e03708699 /config-provisioning
parenta2e37ad30ec60c4ac7c785176aee2e9fb12aa0b5 (diff)
Propagate cluster info
Diffstat (limited to 'config-provisioning')
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/NodeResources.java10
1 files changed, 10 insertions, 0 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 bed36d0d5d2..18dc0b217a3 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
@@ -10,6 +10,11 @@ import java.util.Objects;
*/
public class NodeResources {
+ // Standard unit cost in dollars per hour
+ private static final double cpuUnitCost = 12.0;
+ private static final double memoryUnitCost = 1.2;
+ private static final double diskUnitCost = 0.045;
+
public static final NodeResources unspecified = new NodeResources(0, 0, 0, 0);
public enum DiskSpeed {
@@ -113,6 +118,11 @@ public class NodeResources {
public DiskSpeed diskSpeed() { return diskSpeed; }
public StorageType storageType() { return storageType; }
+ /** Returns the standard cost of these resources, in dollars per hour */
+ public double cost() {
+ return vcpu * cpuUnitCost + memoryGb * memoryUnitCost + diskGb * diskUnitCost;
+ }
+
public NodeResources withVcpu(double vcpu) {
if (vcpu == this.vcpu) return this;
return new NodeResources(vcpu, memoryGb, diskGb, bandwidthGbps, diskSpeed, storageType);