You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ranger.apache.org by "Ramachandran (Jira)" <ji...@apache.org> on 2023/03/15 15:26:00 UTC

[jira] [Commented] (RANGER-4133) Improvement in Ranger Roles Rest API's

    [ https://issues.apache.org/jira/browse/RANGER-4133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17700738#comment-17700738 ] 

Ramachandran commented on RANGER-4133:
--------------------------------------

[~madhan@apache.org]  The review is available here :[https://reviews.apache.org/r/74349]

 

> Improvement in Ranger Roles Rest API's
> --------------------------------------
>
>                 Key: RANGER-4133
>                 URL: https://issues.apache.org/jira/browse/RANGER-4133
>             Project: Ranger
>          Issue Type: Improvement
>          Components: Ranger
>            Reporter: Ramachandran
>            Assignee: Ramachandran
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: Improvement in Ranger Roles Rest API's (1).pdf
>
>
> Apis:
> *API :addUsersAndGroups URI:/roles/roles/\{id}/addUsersAndGroups*
> In the API we mentioned a couple of fields (List<String> users, List<String> groups, Boolean isAdmin).
> How the caller will pass the fields
> *Proposed Solution:*
> Via query Parameter (Limitation: we can not pass more characters as part of URI )
> Via Request payload of List<String> users, List<String> groups, Boolean isAdmin –(RangerUsersAndGroups –Modal mentioned above to accommodate users, groups, isAdmin)
>  
> *API :removeUsersAndGroups URI:/roles/roles/\{id}/removeUsersAndGroups*
> In the API we mentioned a couple of fields (List<String> users, List<String> groups)
> How the caller will pass the fields
> *Proposed Solution:*
> Via query Parameter (Limitation: we can not pass more characters as part of URI )
> Via Request payload of List<String> users, List<String> groups (RangerUsersAndGroups –Modal mentioned above to accommodate users,groups)
> *API :removeAdminFromUsersAndGroups URI:/roles/roles/\{id}/removeUsersAndGroups*
> In the API we mentioned a couple of fields (List<String> users, List<String> groups)
> How the caller will pass the fields
> *Proposed Solution:*
> Via query Parameter (Limitation: we can not pass more characters as part of URI )
> Via Request payload of List<String> users, List<String> groups (RangerUsersAndGroups –Modal mentioned above to accommodate users, groups)
> {code:java}
> package org.apache.ranger.plugin.model;import org.codehaus.jackson.annotate.JsonAutoDetect;
> import org.codehaus.jackson.annotate.JsonIgnoreProperties;
> import org.codehaus.jackson.map.annotate.JsonSerialize;import javax.xml.bind.annotation.XmlAccessType;
> import javax.xml.bind.annotation.XmlAccessorType;
> import javax.xml.bind.annotation.XmlRootElement;
> import java.util.List;@JsonAutoDetect(fieldVisibility=JsonAutoDetect.Visibility.ANY)
> @JsonSerialize(include=JsonSerialize.Inclusion.NON_EMPTY)
> @JsonIgnoreProperties(ignoreUnknown=true)
> @XmlRootElement
> @XmlAccessorType(XmlAccessType.FIELD)
> public class RangerUsersAndGroups implements java.io.Serializable {
>     private static final long serialVersionUID = 1L;
>     private List<String> users;
>     private List<String> groups;
>     private boolean  isAdmin;    public RangerUsersAndGroups() {
>         this(null, null, false);
>     }    public RangerUsersAndGroups(List<String> users, List<String> groups, boolean isAdmin) {
>         this.users = users;
>         this.groups = groups;
>         this.isAdmin = isAdmin;
>     }    public List<String> getUsers() {
>         return users;
>     }    public void setUsers(List<String> users) {
>         this.users = users;
>     }    public List<String> getGroups() {
>         return groups;
>     }    public void setGroups(List<String> groups) {
>         this.groups = groups;
>     }    public boolean isAdmin() {
>         return isAdmin;
>     }    public void setAdmin(boolean admin) {
>         isAdmin = admin;
>     }    @Override
>     public String toString() {
>         final StringBuilder sb = new StringBuilder("RangerUsersAndGroups{");
>         sb.append("users=").append(users);
>         sb.append(", groups=").append(groups);
>         sb.append(", isAdmin=").append(isAdmin);
>         sb.append('}');
>         return sb.toString();
>     }
> }
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)