Ramachandran created RANGER-4133:
------------------------------------

             Summary: 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
             Fix For: 3.0.0


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)

Reply via email to