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)