diff options
author | Torbjørn Smørgrav <smorgrav@users.noreply.github.com> | 2020-11-10 09:49:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-10 09:49:14 +0100 |
commit | 65d2ee07336a92ce84f5156a8cab66970e806f29 (patch) | |
tree | 4a8e487ecf5de04b4aad99e0788c4916fb8ac484 /controller-api | |
parent | 1a96731f45eaeb9d975be083ebdb2d547588cd86 (diff) | |
parent | 271d1ff49b7ad9a9642fc12740af5ee026794888 (diff) |
Merge pull request #15227 from vespa-engine/smorgrav/billing_api_collection_patch
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; |