summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-10-12 16:22:48 +0200
committerHarald Musum <musum@yahooinc.com>2023-10-12 16:22:48 +0200
commitef0cf0011618a12cf9b4a9fc93c0b9120827bed4 (patch)
treee1ef480ebed6856c279d284347a5d328ee77b094 /controller-api
parent65fe9777bea1a3e75b2ada1429da2d242cc6291d (diff)
Use separate keys for enclave node resources
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java8
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java17
2 files changed, 17 insertions, 8 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java
index fc1c6b1e28f..69d396bcf20 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java
@@ -12,6 +12,7 @@ import java.math.BigDecimal;
import java.util.List;
import static com.yahoo.vespa.hosted.controller.api.integration.pricing.PricingInfo.SupportLevel.BASIC;
+import static java.math.BigDecimal.ZERO;
import static java.math.BigDecimal.valueOf;
public class MockPricingController implements PricingController {
@@ -41,11 +42,14 @@ public class MockPricingController implements PricingController {
System.out.println(resources);
BigDecimal listPrice = resources.vcpu().multiply(valueOf(1000))
.add(resources.memoryGb().multiply(valueOf(100)))
- .add(resources.diskGb().multiply(valueOf(10)));
+ .add(resources.diskGb().multiply(valueOf(10)))
+ .add(resources.enclaveVcpu().multiply(valueOf(1000))
+ .add(resources.enclaveMemoryGb().multiply(valueOf(100)))
+ .add(resources.enclaveDiskGb().multiply(valueOf(10))));
BigDecimal supportLevelCost = pricingInfo.supportLevel() == BASIC ? new BigDecimal("-160.00") : new BigDecimal("800.00");
BigDecimal listPriceWithSupport = listPrice.add(supportLevelCost);
- BigDecimal enclaveDiscount = pricingInfo.enclave() ? new BigDecimal("-15.1234") : BigDecimal.ZERO;
+ BigDecimal enclaveDiscount = (resources.enclaveVcpu().compareTo(ZERO) > 0) ? new BigDecimal("-15.1234") : BigDecimal.ZERO;
BigDecimal volumeDiscount = new BigDecimal("-5.64315634");
BigDecimal committedAmountDiscount = new BigDecimal("-1.23");
BigDecimal totalAmount = listPrice.add(supportLevelCost).add(enclaveDiscount).add(volumeDiscount).add(committedAmountDiscount);
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java
index 99ea0febd9d..5c6de406a55 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java
@@ -3,14 +3,19 @@ package com.yahoo.vespa.hosted.controller.api.integration.pricing;
import java.math.BigDecimal;
/**
- * @param applicationName name of the application
- * @param vcpu vcpus summed over all clusters, instances, zones
- * @param memoryGb memory in Gb summed over all clusters, instances, zones
- * @param diskGb disk in Gb summed over all clusters, instances, zones
- * @param gpuMemoryGb GPU memory in Gb summed over all clusters, instances, zones
+ * @param applicationName name of the application
+ * @param vcpu vcpus summed over all clusters, instances, zones
+ * @param memoryGb memory in Gb summed over all clusters, instances, zones
+ * @param diskGb disk in Gb summed over all clusters, instances, zones
+ * @param gpuMemoryGb GPU memory in Gb summed over all clusters, instances, zones
+ * @param enclaveVcpu vcpus summed over all clusters, instances, zones
+ * @param enclaveMemoryGb memory in Gb summed over all clusters, instances, zones
+ * @param enclaveDiskGb disk in Gb summed over all clusters, instances, zones
+ * @param enclaveGpuMemoryGb GPU memory in Gb summed over all clusters, instances, zones
*/
public record ApplicationResources(String applicationName, BigDecimal vcpu, BigDecimal memoryGb, BigDecimal diskGb,
- BigDecimal gpuMemoryGb) {
+ BigDecimal gpuMemoryGb, BigDecimal enclaveVcpu, BigDecimal enclaveMemoryGb,
+ BigDecimal enclaveDiskGb, BigDecimal enclaveGpuMemoryGb) {
}