diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2022-03-17 14:08:59 +0100 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2022-03-17 14:08:59 +0100 |
commit | dcd70dc2889c0463f55bf0bebdf5e78488021e5f (patch) | |
tree | 7f06f51ea3ec19b2dff59f6cdea66ce52ce06527 /vespa-athenz | |
parent | 90cdd84b93c368774fa8f30d726c4029ef0638ac (diff) |
Membership decision includes 'approved' field. Only trigger athenz sync on approval
Diffstat (limited to 'vespa-athenz')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java | 2 | ||||
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java index a6d18f3167c..136ae1df8ae 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/DefaultZmsClient.java @@ -306,7 +306,7 @@ public class DefaultZmsClient extends ClientBase implements ZmsClient { public void decidePendingRoleMembership(AthenzRole athenzRole, AthenzIdentity athenzIdentity, Instant expiry, Optional<String> reason, Optional<OAuthCredentials> oAuthCredentials, boolean approve) { URI uri = zmsUrl.resolve(String.format("domain/%s/role/%s/member/%s/decision", athenzRole.domain().getName(), athenzRole.roleName(), athenzIdentity.getFullName())); - MembershipEntity membership = new MembershipEntity.RoleMembershipEntity(athenzIdentity.getFullName(), approve, athenzRole.roleName(), Long.toString(expiry.getEpochSecond())); + var membership = new MembershipEntity.RoleMembershipDecisionEntity(athenzIdentity.getFullName(), approve, athenzRole.roleName(), Long.toString(expiry.getEpochSecond()), approve); var requestBuilder = RequestBuilder.put() .setUri(uri) diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java index d679433a23d..dcffe006112 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/MembershipEntity.java @@ -61,6 +61,21 @@ public class MembershipEntity { } + public static class RoleMembershipDecisionEntity extends RoleMembershipEntity { + public final boolean approved; + + @JsonCreator + public RoleMembershipDecisionEntity(@JsonProperty("memberName") String memberName, + @JsonProperty("isMember") boolean isMember, + @JsonProperty("roleName") String roleName, + @JsonProperty("expiration") String expiration, + @JsonProperty("approved") boolean approved) { + super(memberName, isMember, roleName, expiration); + this.approved = approved; + } + + } + public static class GroupMembershipEntity extends MembershipEntity { public final String groupName; |