diff options
author | smorgrav <smorgrav@verizonmedia.com> | 2020-11-09 10:55:23 +0100 |
---|---|---|
committer | smorgrav <smorgrav@verizonmedia.com> | 2020-11-09 10:56:40 +0100 |
commit | 271d1ff49b7ad9a9642fc12740af5ee026794888 (patch) | |
tree | d5346fb7db984f33f28a03838e43a283ebd8a48e /controller-api | |
parent | bb75c5975c5588b8e05e9bd62016d1dce0a6d654 (diff) |
Rest api to patch collection method - only accessible for accountants
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/role/PathGroup.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/PathGroup.java index b6e8dcee2af..9efd216b9f1 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 @@ -77,6 +77,10 @@ enum PathGroup { PathPrefix.api, "/billing/v1/tenant/{tenant}/plan/{*}"), + billingCollection(Matcher.tenant, + PathPrefix.api, + "/billing/v1/tenant/{tenant}/collection/{*}"), + billingList(Matcher.tenant, PathPrefix.api, "/billing/v1/tenant/{tenant}/billing/{*}"), diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Policy.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Policy.java index 75664a5e66f..c1d00b995aa 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Policy.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/Policy.java @@ -164,6 +164,12 @@ enum Policy { .on(PathGroup.billingPlan) .in(SystemName.PublicCd)), + /** Ability to update tenant collection method */ + collectionMethodUpdate(Privilege.grant(Action.update) + .on(PathGroup.billingCollection) + .in(SystemName.PublicCd)), + + /** Read the generated bills */ billingInformationRead(Privilege.grant(Action.read) .on(PathGroup.billingList) diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/RoleDefinition.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/RoleDefinition.java index 801661f454e..c3126cc8b7a 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/RoleDefinition.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/RoleDefinition.java @@ -91,7 +91,8 @@ public enum RoleDefinition { paymentProcessor(Policy.paymentProcessor), - hostedAccountant(Policy.hostedAccountant); + hostedAccountant(Policy.hostedAccountant, + Policy.collectionMethodUpdate); private final Set<RoleDefinition> parents; private final Set<Policy> policies; |