summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2023-10-16 15:33:40 +0200
committerØyvind Grønnesby <oyving@yahooinc.com>2023-10-16 15:33:40 +0200
commitc3dccf9252181dca05329585c9ec97dc89393c5e (patch)
tree56475a52398a5087796f72ee7da091cc82f73551 /controller-api
parent1954438841002899640641363169f5c56d5d2724 (diff)
parent2c243871f2ddf031abe4ba1ebd2e84b78be8658c (diff)
Merge remote-tracking branch 'origin/master' into ogronnesby/additional-items-v2
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/MockPricingController.java5
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/ApplicationResources.java13
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/PriceInformation.java7
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/Prices.java6
4 files changed, 12 insertions, 19 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 0aa07e93010..6fe7017e3b7 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
@@ -34,8 +34,7 @@ public class MockPricingController implements PricingController {
BigDecimal appTotalAmount = listPrice.add(supportLevelCost).add(enclaveDiscount).add(volumeDiscount);
List<PriceInformation> appPrices = applicationResources.stream()
- .map(appResources -> new PriceInformation(appResources.applicationName(),
- listPriceWithSupport,
+ .map(appResources -> new PriceInformation(listPriceWithSupport,
volumeDiscount,
ZERO,
enclaveDiscount,
@@ -45,7 +44,7 @@ public class MockPricingController implements PricingController {
PriceInformation sum = PriceInformation.sum(appPrices);
var committedAmountDiscount = new BigDecimal("-1.23");
var totalAmount = sum.totalAmount().add(committedAmountDiscount);
- var totalPrice = new PriceInformation("total", ZERO, ZERO, committedAmountDiscount, ZERO, totalAmount);
+ var totalPrice = new PriceInformation(ZERO, ZERO, committedAmountDiscount, ZERO, totalAmount);
return new Prices(appPrices, totalPrice);
}
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 fa742c27486..106d9ab6bbe 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
@@ -5,7 +5,6 @@ import java.math.BigDecimal;
import static java.math.BigDecimal.ZERO;
/**
- * @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
@@ -15,18 +14,20 @@ import static java.math.BigDecimal.ZERO;
* @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,
+public record ApplicationResources(BigDecimal vcpu, BigDecimal memoryGb, BigDecimal diskGb,
BigDecimal gpuMemoryGb, BigDecimal enclaveVcpu, BigDecimal enclaveMemoryGb,
BigDecimal enclaveDiskGb, BigDecimal enclaveGpuMemoryGb) {
- public static ApplicationResources create(String applicationName, BigDecimal vcpu, BigDecimal memoryGb,
+ public static ApplicationResources create(BigDecimal vcpu, BigDecimal memoryGb,
BigDecimal diskGb, BigDecimal gpuMemoryGb) {
- return new ApplicationResources(applicationName, vcpu, memoryGb, diskGb, gpuMemoryGb, ZERO, ZERO, ZERO, ZERO);
+ return new ApplicationResources(vcpu, memoryGb, diskGb, gpuMemoryGb, ZERO, ZERO, ZERO, ZERO);
}
- public static ApplicationResources createEnclave(String applicationName, BigDecimal vcpu, BigDecimal memoryGb,
+ public static ApplicationResources createEnclave(BigDecimal vcpu, BigDecimal memoryGb,
BigDecimal diskGb, BigDecimal gpuMemoryGb) {
- return new ApplicationResources(applicationName, ZERO, ZERO, ZERO, ZERO, vcpu, memoryGb, diskGb, gpuMemoryGb);
+ return new ApplicationResources(ZERO, ZERO, ZERO, ZERO, vcpu, memoryGb, diskGb, gpuMemoryGb);
}
+ public boolean enclave() { return enclaveVcpu().compareTo(ZERO) > 0; }
+
}
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 2c37b122b04..50463553f8e 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
@@ -6,10 +6,10 @@ import java.util.List;
import static java.math.BigDecimal.ZERO;
-public record PriceInformation(String applicationName, BigDecimal listPriceWithSupport, BigDecimal volumeDiscount,
+public record PriceInformation(BigDecimal listPriceWithSupport, BigDecimal volumeDiscount,
BigDecimal committedAmountDiscount, BigDecimal enclaveDiscount, BigDecimal totalAmount) {
- public static PriceInformation empty() { return new PriceInformation("default", ZERO, ZERO, ZERO, ZERO, ZERO); }
+ public static PriceInformation empty() { return new PriceInformation(ZERO, ZERO, ZERO, ZERO, ZERO); }
public static PriceInformation sum(List<PriceInformation> priceInformationList) {
var result = PriceInformation.empty();
@@ -19,8 +19,7 @@ public record PriceInformation(String applicationName, BigDecimal listPriceWithS
}
public PriceInformation add(PriceInformation priceInformation) {
- return new PriceInformation("accumulated",
- this.listPriceWithSupport().add(priceInformation.listPriceWithSupport()),
+ return new PriceInformation(this.listPriceWithSupport().add(priceInformation.listPriceWithSupport()),
this.volumeDiscount().add(priceInformation.volumeDiscount()),
this.committedAmountDiscount().add(priceInformation.committedAmountDiscount()),
this.enclaveDiscount().add(priceInformation.enclaveDiscount()),
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/Prices.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/Prices.java
index 2ebd6ba5d38..650a07c51e0 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/Prices.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/pricing/Prices.java
@@ -5,10 +5,4 @@ import java.util.List;
public record Prices(List<PriceInformation> priceInformationApplications, PriceInformation totalPriceInformation) {
- public PriceInformation get(String applicationName) {
- return priceInformationApplications.stream()
- .filter(priceInformation -> priceInformation.applicationName().equals(applicationName))
- .findFirst().orElseThrow(() -> new IllegalArgumentException("Unknown application name " + applicationName));
- }
-
}