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)