mneethiraj commented on code in PR #932:
URL: https://github.com/apache/ranger/pull/932#discussion_r3198326538
##########
security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java:
##########
@@ -1261,6 +1261,47 @@ public RangerSharedResource
updateSharedResource(@PathParam("id") Long resourceI
return ret;
}
+ @PUT
+ @Path("/resources")
+ @Consumes("application/json")
+ @Produces("application/json")
+ @PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" +
RangerAPIList.UPDATE_SHARED_RESOURCES + "\")")
+ public void updateSharedResources(@QueryParam("forceDelete")
@DefaultValue("false") boolean forceDelete, List<Long> resourceIds) {
+ LOG.debug("==> GdsREST.updateSharedResources(resourceIds={},
forceDelete={})", resourceIds, forceDelete);
+
+ RangerPerfTracer perf = null;
+
+ try {
+ if (resourceIds == null) {
+ throw new Exception("resourceIds must not be null");
+ }
+
+ if (resourceIds.size() > SHARED_RESOURCES_MAX_BATCH_SIZE) {
+ throw new Exception("updateSharedResources batch size exceeded
the configured limit: Maximum allowed is " + SHARED_RESOURCES_MAX_BATCH_SIZE);
+ }
+
+ if (RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
+ perf = RangerPerfTracer.getPerfTracer(PERF_LOG,
"GdsREST.updateSharedResources(" + resourceIds + ",forceDelete=" + forceDelete
+ ")");
+ }
+
+ if (forceDelete) {
Review Comment:
@rameeshm - GdsREST already has following API to bulk-delete shared
resources, which I guess takes a comma-separated list of IDs as query
parameter. Does that not work?
```
@DELETE
@Path("/resources")
@PreAuthorize("@rangerPreAuthSecurityHandler.isAPIAccessible(\"" +
RangerAPIList.REMOVE_SHARED_RESOURCES + "\")")
public void removeSharedResources(List<Long> resourceIds) {
...
}
```
API to bulk-add shared resources also already exists. Perhaps adding an API
to bulk-update is good enough? i.e. is an API to update or delete necessary?
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]