diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-07-02 10:24:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-02 10:24:59 +0200 |
commit | 87372a16c7ec43a5babcf44bb5ff109ac3369b2e (patch) | |
tree | 53430261cd07b3ed857fcbcc34f386bc18ce9618 /controller-server | |
parent | ff89bb61f5454175572d10c53d139eef55f2eda3 (diff) | |
parent | 5deb539bdb7a2aef53a0741bdc29cf0ba6b96dc8 (diff) |
Merge pull request #13756 from vespa-engine/olaa/propagate-error-message
Propagate error message when setting plan fails
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java | 21 |
1 files changed, 4 insertions, 17 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 ccbee15d2c5..0e6f856b115 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 @@ -139,12 +139,12 @@ public class BillingApiHandler extends LoggingRequestHandler { var planId = PlanId.from(slime.field("plan").asString()); var hasApplications = applicationController.asList(tenantName).size() > 0; - if (billingController.setPlan(tenantName, planId, hasApplications)) { + var result = billingController.setPlan(tenantName, planId, hasApplications); + + if (result.isSuccess()) return new StringResponse("Plan: " + planId.value()); - } else { - return ErrorResponse.forbidden("Invalid plan change with active deployments"); - } + return ErrorResponse.forbidden(result.getErrorMessage().orElse("Invalid plan change")); } private HttpResponse getBillingAllTenants(String until) { @@ -374,19 +374,6 @@ public class BillingApiHandler extends LoggingRequestHandler { return inspector.field(field).asString(); } - private DeploymentId getDeploymentIdOrNull(Inspector inspector) { - if (inspector.field("applicationId").valid() != inspector.field("zoneId").valid() ) { - throw new BadRequestException("Either both application id and zone id should be set, or neither."); - } - if (inspector.field("applicationId").valid()) { - return new DeploymentId( - ApplicationId.fromSerializedForm(inspector.field("applicationId").asString()), - com.yahoo.config.provision.zone.ZoneId.from(inspector.field("zoneId").asString()) - ); - } - return null; - } - private LocalDate untilParameter(String until) { if (until == null || until.isEmpty() || until.isBlank()) return LocalDate.now().plusDays(1); |