diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-07-02 13:48:20 +0200 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2020-07-02 13:48:20 +0200 |
commit | f69cf4cb4a0538e93dda495c23c79a29ab451d48 (patch) | |
tree | d40ec7698099dee188e5514bd2cb79b46dd6de47 /controller-server | |
parent | a6ca420bef2c7b7f43afc541d62c889dbac69c06 (diff) |
Check if tenant has active deployments, instead of apps
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java index 0e6f856b115..8fad0db4368 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java @@ -19,6 +19,7 @@ import com.yahoo.slime.Slime; import com.yahoo.slime.SlimeUtils; import com.yahoo.vespa.hosted.controller.ApplicationController; import com.yahoo.vespa.hosted.controller.Controller; +import com.yahoo.vespa.hosted.controller.Instance; import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId; import com.yahoo.vespa.hosted.controller.api.integration.billing.PaymentInstrument; import com.yahoo.vespa.hosted.controller.api.integration.billing.Invoice; @@ -137,9 +138,9 @@ public class BillingApiHandler extends LoggingRequestHandler { var tenantName = TenantName.from(tenant); var slime = inspectorOrThrow(request); var planId = PlanId.from(slime.field("plan").asString()); - var hasApplications = applicationController.asList(tenantName).size() > 0; - var result = billingController.setPlan(tenantName, planId, hasApplications); + var hasDeployments = hasDeployments(tenantName); + var result = billingController.setPlan(tenantName, planId, hasDeployments); if (result.isSuccess()) return new StringResponse("Plan: " + planId.value()); @@ -380,4 +381,14 @@ public class BillingApiHandler extends LoggingRequestHandler { return LocalDate.parse(until); } + private boolean hasDeployments(TenantName tenantName) { + return applicationController.asList(tenantName) + .stream() + .flatMap(app -> app.instances().values() + .stream() + .flatMap(instance -> instance.deployments().values().stream()) + ) + .count() > 0; + } + } |