summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-10-11 11:39:15 +0200
committerHarald Musum <musum@yahooinc.com>2023-10-11 11:39:15 +0200
commitd98dd58e943b0d661c3cfb2b34b155046afc26d0 (patch)
treed3f1901832cbeec77974159e7ccfec926b1e5147 /controller-api
parente7686cdb6f461699cde8561becd17e0fd1b78fea (diff)
Add support level cost to pricing API response
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java11
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java2
2 files changed, 9 insertions, 4 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 fb48694607a..28a679c09a9 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
@@ -10,6 +10,8 @@ import com.yahoo.vespa.hosted.controller.api.integration.pricing.PricingInfo;
import java.math.BigDecimal;
import java.util.List;
+import static com.yahoo.vespa.hosted.controller.api.integration.pricing.PricingInfo.SupportLevel.BASIC;
+
public class MockPricingController implements PricingController {
@Override
@@ -20,11 +22,14 @@ public class MockPricingController implements PricingController {
resources.nodeResources().memoryGb() * 100 +
resources.nodeResources().diskGb() * 10))
.sum());
+
+ BigDecimal supportLevelCost = pricingInfo.supportLevel() == BASIC ? new BigDecimal("-160.00") : new BigDecimal("800.00");
+ BigDecimal enclaveDiscount = pricingInfo.enclave() ? new BigDecimal("-15.1234") : BigDecimal.ZERO;
BigDecimal volumeDiscount = new BigDecimal("-5.64315634");
BigDecimal committedAmountDiscount = new BigDecimal("0.00");
- BigDecimal enclaveDiscount = pricingInfo.enclave() ? new BigDecimal("-15.1234") : BigDecimal.ZERO;
- BigDecimal totalAmount = listPrice.add(volumeDiscount);
- return new PriceInformation(listPrice, volumeDiscount, committedAmountDiscount, enclaveDiscount, totalAmount);
+ BigDecimal totalAmount = listPrice.add(supportLevelCost).add(enclaveDiscount).add(volumeDiscount).add(committedAmountDiscount);
+ return new PriceInformation(listPrice, volumeDiscount, committedAmountDiscount, enclaveDiscount, totalAmount,
+ supportLevelCost);
}
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java
index 2a6ecf87180..3511d6008ba 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java
@@ -4,6 +4,6 @@ package com.yahoo.vespa.hosted.controller.api.integration.pricing;
import java.math.BigDecimal;
public record PriceInformation(BigDecimal listPrice, BigDecimal volumeDiscount, BigDecimal committedAmountDiscount,
- BigDecimal enclaveDiscount, BigDecimal totalAmount) {
+ BigDecimal enclaveDiscount, BigDecimal totalAmount, BigDecimal supportLevelCost) {
}