diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-05-31 14:22:15 +0200 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-05-31 14:22:15 +0200 |
commit | da46b1496b114ef7d9bb163a56f8f4ddbac2dd16 (patch) | |
tree | f69fa3b79e937ba42d5073587ff7a4b668bf131b /controller-api | |
parent | da8c0d839fb45fddd4b59efa5a469d0b7e948d3f (diff) |
Expose all plans in billing API
Diffstat (limited to 'controller-api')
3 files changed, 12 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistry.java index 23fb1f20fbc..6b267e538e7 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistry.java @@ -1,6 +1,7 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.api.integration.billing; +import java.util.List; import java.util.Optional; /** @@ -16,6 +17,9 @@ public interface PlanRegistry { /** Get a plan given a plan ID */ Optional<Plan> plan(PlanId planId); + /** Get a set of all plans */ + List<Plan> all(); + /** Get a plan give a plan ID */ default Optional<Plan> plan(String planId) { if (planId == null || planId.isBlank()) diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistryMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistryMock.java index 4757fa76224..723ffa383eb 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistryMock.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/PlanRegistryMock.java @@ -6,6 +6,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.resource.ResourceUsage; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.List; import java.util.Optional; import java.util.stream.Stream; @@ -27,6 +28,11 @@ public class PlanRegistryMock implements PlanRegistry { .findAny(); } + @Override + public List<Plan> all() { + return List.of(freeTrial, paidPlan, nonePlan); + } + private static class MockPlan implements Plan { private final PlanId planId; private final String description; 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 c1034e6ab0d..a3c1a0315ec 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,7 +234,8 @@ enum PathGroup { /** Paths used for invoice management */ hostedAccountant("/billing/v1/invoice/{*}", - "/billing/v1/billing"), + "/billing/v1/billing", + "/billing/v1/plans"), /** Path used for listing endpoint certificate request and re-requesting endpoint certificates */ endpointCertificates("/endpointcertificates/"), |