-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/75213/#review226942
-----------------------------------------------------------




agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java
Lines 840 (patched)
<https://reviews.apache.org/r/75213/#comment315225>

    Ramesh - instead of creating a new payload and API, I suggest to go with 2 
step process:
    1. create a dataset using existing API "POST service/gds/dataset"
    
    2. add a resource to a dataset using existing API "POST 
service/gds/resource",  with following enhancements:
       - receive optional parameters "serviceName" and "datasetId"
       - when dataShareId=-1 in the payload, this API should do the following:
         - if a data share named "__dataset_<datasetId>_service_<svcId>" does 
not exist, create it, associate it with the dataset with status=ACTIVE
         - add the given resource to this datashare
    
    This API can be used to add subsequent resources to the dataset as well, in 
addition to eliminating steps to create/find dataShare before adding a resource.


- Madhan Neethiraj


On Sept. 22, 2024, 3:57 a.m., Ramesh Mani wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/75213/
> -----------------------------------------------------------
> 
> (Updated Sept. 22, 2024, 3:57 a.m.)
> 
> 
> Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, and Radhika 
> Kundam.
> 
> 
> Bugs: RANGER-4937
>     https://issues.apache.org/jira/browse/RANGER-4937
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> RANGER-4937:API to create DataShare with resources in GDS
> 
> 
> Diffs
> -----
> 
>   agents-common/src/main/java/org/apache/ranger/plugin/model/RangerGds.java 
> d582e420f 
>   security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java b1a00533e 
>   
> security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java
>  65e0f7848 
> 
> 
> Diff: https://reviews.apache.org/r/75213/diff/1/
> 
> 
> Testing
> -------
> 
> New API in Ranger for creating DataShare with resource in single API
> 1. Create a new Ranger Dataset
> 2. Create a Ranger DataShare
> 2. Add assets/resources to the created Ranger DataShare
> 4. Add Ranger DataShare to the created Ranger DatSet
> 
> This would be useful to integrate external service which would use the GDS 
> functionality to create DataShare in ranger with resources.
> 
> Testing done in local VM
> 
> curl -ikv -u admin:Admin123 -X POST  -H "Content-Type: application/json" 
> 'http://localhost:6080/service/gds/dataset/resources' -d 
> '{"serviceName":"cm_hive","rangerDataSet":{"name":"rm-purchase","acl":{"users":{"testuser2":"POLICY_ADMIN"},"groups":{},"roles":{}},"description":"rm-purchase","termsOfUse":"rm-purchase
>  
> condition"},"rangerDataShare":{"name":"DataShare-rm-purchase","acl":{"users":{"testuser2":"POLICY_ADMIN"},"groups":{},"roles":{}},"service":"cm_hive","description":"DataShare-rm-purchase","termsOfUse":"DataShare-rm-purchase-Terms
>  and 
> Conditions","defaultAccessTypes":["select"],"defaultTagMasks":[]},"rangerSharedResources":[{
>  "name": "rm-purchase-data", 
> "dataShareId":"","resource":{"database":{"values":["pur_data"],"isRecursive":false},"table":{"values":["orders"],"isRecursive":false},"column":{"values":["*"],"isRecursive":false}}}]}'
> 
> curl -ikv -u admin:Admin123 -X POST  -H "Content-Type: application/json" 
> 'http://localhost:6080/service/gds/dataset/resources' -d 
> '{"serviceName":"cm_hive","rangerDataSet":{"name":"rm-sales","acl":{"users":{"testuser2":"POLICY_ADMIN"},"groups":{},"roles":{}},"description":"rm-sales","termsOfUse":"rm-sales
>  condition"},"rangerDataShare":{},"rangerSharedResources":[{ "name": 
> "rm-sales", 
> "dataShareId":"","resource":{"database":{"values":["emp_data"],"isRecursive":false},"table":{"values":["employees"],"isRecursive":false},"column":{"values":["*"],"isRecursive":false}}}]}'
> 
> 
> Thanks,
> 
> Ramesh Mani
> 
>

Reply via email to