diff options
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 |
commit | c3dccf9252181dca05329585c9ec97dc89393c5e (patch) | |
tree | 56475a52398a5087796f72ee7da091cc82f73551 /controller-api/src/main | |
parent | 1954438841002899640641363169f5c56d5d2724 (diff) | |
parent | 2c243871f2ddf031abe4ba1ebd2e84b78be8658c (diff) |
Merge remote-tracking branch 'origin/master' into ogronnesby/additional-items-v2
Diffstat (limited to 'controller-api/src/main')
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)); - } - } |