Dataset permissions¶
Add permissions to a dataset¶
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
added = dataset.add_permission(
"_subscribed_",
"Read"
)
print(permission.target_id, permission.identity_id, permission.permission_name)
List dataset permissions¶
List all permissions on a dataset.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
permission_list = dataset.list_permissions()
for permission in permission_list:
print(permission.target_id, permission.identity_id, permission.permission_name)
Delete permission on dataset¶
Delete permission on a dataset.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
deleted = dataset.delete_permission(
"_subscribed_",
"Read"
)
if deleted:
print("Permission deleted")
Resource permissions¶
Permissions can be set on resources, files are the main type of resource. Permissions can be set on individual resources, a list of resources, all resources in a folder, or all resources in a dataset.
Add permissions to a list of resources¶
Using resource paths:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID"))
added = dataset.add_permission_to_resources(
"_subscribed_",
"Read",
resource_paths=[
"/path/to/file/in/folder/file1.csv",
"/path/to/another/file2.csv",
]
)
if added:
print("Permission applied")
Using Resource
/File
objects:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file/in/folder/file1.csv")
file2 = dataset.get_file(path="/path/to/another/file2.csv")
added = dataset.add_permission_to_resources(
"_subscribed_",
"Read",
resource_objects=[file, file2]
)
if added:
print("Permission applied")
Using resource IDs:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file/in/folder/file1.csv")
file2 = dataset.get_file(path="/path/to/another/file2.csv")
added = dataset.add_permission_to_resources(
"_subscribed_",
"Read",
resource_ids=[file.id, file2.id]
)
if deleted:
print("Permission deleted")
Delete permissions from a list of resources¶
Using resource paths:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID"))
deleted = dataset.delete_permission_from_resources(
"_subscribed_",
"Read",
resource_paths=[
"/path/to/file/in/folder/file1.csv",
"/path/to/another/file2.csv",
]
)
if deleted:
print("Permission deleted")
Using Resource
/File
objects:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file/in/folder/file1.csv")
file2 = dataset.get_file(path="/path/to/another/file2.csv")
deleted = dataset.delete_permissions_from_resource(
"_subscribed_",
"Read",
resource_objects=[file, file2]
)
if deleted:
print("Permission deleted")
Using resource IDs:
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file/in/folder/file1.csv")
file2 = dataset.get_file(path="/path/to/another/file2.csv")
deleted = dataset.delete_permission_from_resources(
"_subscribed_",
"Read",
resource_ids=[filet.id, file2.id]
)
if deleted:
print("Permission deleted")
Add permissions to folder recursively¶
Add permissions recursively to all resources in a folder, using a Folder
object.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
folder = dataset.get_folder(path="/some/folder")
added = folder.add_permission(
"_subscribed_",
"Read",
recursive=True
)
if added:
print("Permission recursively applied to the folder")
Remove permissions from folder recursively¶
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
folder = dataset.get_folder(path="/some/folder")
deleted = folder.delete_permission(
"_subscribed_",
"Read",
recursive=True
)
if deleted:
print("Permission recursively deleted from the folder")
Apply permissions to single resource¶
Add permissions to a single resource, using a File
object.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file.csv")
permission = file.add_permission(
"_subscribed_",
"Read"
)
print(permission.target_id, permission.identity_id, permission.permission_name)
List resource permissions¶
List all permissions on a resource.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file.csv")
permission_list = file.list_permissions()
for permission in permission_list:
print(permission.target_id, permission.identity_id, permission.permission_name)
Delete permission on resource¶
Delete permission on a resource.
from crux import Crux
conn = Crux()
dataset = conn.get_dataset(id="A_DATASET_ID")
file = dataset.get_file(path="/path/to/file.csv")
deleted = file.delete_permission(
"_subscribed_",
"Read"
)
if deleted:
print("Permission deleted")