diff options
author | Harald Musum <musum@yahooinc.com> | 2023-10-07 12:37:02 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-10-07 12:37:02 +0200 |
commit | 95bad6b2f6a6343c556dc2af30d13f76ac289e0b (patch) | |
tree | 581532d23c3aae96ea16976edf75e22e8b0118e5 /controller-api/src | |
parent | 178d9d661c4eaebc9803031ec390ff2f9812ad9b (diff) |
Add handler for pricing API
Diffstat (limited to 'controller-api/src')
2 files changed, 11 insertions, 1 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 d38a84dd9ae..dc23e9d0617 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 @@ -7,13 +7,22 @@ import com.yahoo.vespa.hosted.controller.api.integration.pricing.PricingControll import com.yahoo.vespa.hosted.controller.api.integration.pricing.PricingInfo; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; public class MockPricingController implements PricingController { @Override public PriceInformation price(List<ClusterResources> clusterResources, PricingInfo pricingInfo, Plan plan) { - return new PriceInformation(new BigDecimal(2 * clusterResources.size()), BigDecimal.ZERO); + return new PriceInformation( + BigDecimal.valueOf(clusterResources.stream() + .peek(System.out::println) + .mapToDouble(resources -> resources.nodes() * + (resources.nodeResources().vcpu() * 1000 + + resources.nodeResources().memoryGb() * 100 + + resources.nodeResources().diskGb() * 10)) + .sum()) + .setScale(2, RoundingMode.HALF_UP), BigDecimal.ZERO); } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java index 6c603a1da7b..cf41fcf4ce8 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java @@ -234,6 +234,7 @@ enum PathGroup { "/badge/v1/{*}", // Badges for deployment jobs. "/zone/v1/{*}", // Lists environment and regions. "/cli/v1/{*}", // Public information for Vespa CLI. + "/pricing/v1/{*}", // Pricing information "/.well-known/{*}"), /** Paths used for deploying system-wide feature flags. */ |