aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2023-10-17 11:31:54 +0200
committerHarald Musum <musum@yahooinc.com>2023-10-17 11:31:54 +0200
commit106cc09441e8af846cab5930c9d1a21444f82026 (patch)
tree9b117fb027557ea0a5968f247f1aad07e034c1bc /controller-api
parente469b637cc90581ba95d644bb28d4512bc2126a7 (diff)
Add description for enclave item for total spend
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java32
1 files changed, 20 insertions, 12 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 6fe7017e3b7..ee0df3adbfb 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
@@ -17,20 +17,25 @@ import static java.math.BigDecimal.valueOf;
public class MockPricingController implements PricingController {
+ private static final BigDecimal cpuCost = new BigDecimal("1.00");
+ private static final BigDecimal memoryCost = new BigDecimal("0.10");
+ private static final BigDecimal diskCost = new BigDecimal("0.005");
+
@Override
public Prices priceForApplications(List<ApplicationResources> applicationResources, PricingInfo pricingInfo, Plan plan) {
ApplicationResources resources = applicationResources.get(0);
- BigDecimal listPrice = resources.vcpu().multiply(valueOf(1000))
- .add(resources.memoryGb().multiply(valueOf(100)))
- .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 listPrice = resources.vcpu().multiply(cpuCost)
+ .add(resources.memoryGb().multiply(memoryCost)
+ .add(resources.diskGb().multiply(diskCost))
+ .add(resources.enclaveVcpu().multiply(cpuCost)
+ .add(resources.enclaveMemoryGb().multiply(memoryCost))
+ .add(resources.enclaveDiskGb().multiply(diskCost))));
+
+ BigDecimal supportLevelCost = pricingInfo.supportLevel() == BASIC ? new BigDecimal("-1.00") : new BigDecimal("8.00");
BigDecimal listPriceWithSupport = listPrice.add(supportLevelCost);
- BigDecimal enclaveDiscount = isEnclave(resources) ? new BigDecimal("-15.1234") : BigDecimal.ZERO;
- BigDecimal volumeDiscount = new BigDecimal("-5.64315634");
+ BigDecimal enclaveDiscount = isEnclave(resources) ? new BigDecimal("-0.15") : BigDecimal.ZERO;
+ BigDecimal volumeDiscount = new BigDecimal("-0.1");
BigDecimal appTotalAmount = listPrice.add(supportLevelCost).add(enclaveDiscount).add(volumeDiscount);
List<PriceInformation> appPrices = applicationResources.stream()
@@ -42,9 +47,12 @@ public class MockPricingController implements PricingController {
.toList();
PriceInformation sum = PriceInformation.sum(appPrices);
- var committedAmountDiscount = new BigDecimal("-1.23");
+ var committedAmountDiscount = new BigDecimal("-0.2");
var totalAmount = sum.totalAmount().add(committedAmountDiscount);
- var totalPrice = new PriceInformation(ZERO, ZERO, committedAmountDiscount, ZERO, totalAmount);
+ var enclave = ZERO;
+ if (resources.enclave() && totalAmount.compareTo(new BigDecimal("14.00")) < 0)
+ enclave = new BigDecimal("14.00").subtract(totalAmount);
+ var totalPrice = new PriceInformation(ZERO, ZERO, committedAmountDiscount, enclave, totalAmount);
return new Prices(appPrices, totalPrice);
}