20640: Add API docs for computed permissions.
authorTom Clegg <tom@curii.com>
Thu, 13 Jun 2024 18:45:41 +0000 (14:45 -0400)
committerTom Clegg <tom@curii.com>
Thu, 13 Jun 2024 20:57:11 +0000 (16:57 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

doc/_config.yml
doc/api/methods/computed_permissions.html.textile.liquid [new file with mode: 0644]

index 79e9ac95b456a3fbdb0c792a073219f8d8965ef9..c8cf7b0dd9302c820139d0244098ddf5b24d15c3 100644 (file)
@@ -116,6 +116,7 @@ navbar:
       - api/methods/groups.html.textile.liquid
       - api/methods/api_client_authorizations.html.textile.liquid
       - api/methods/links.html.textile.liquid
+      - api/methods/computed_permissions.html.textile.liquid
       - api/methods/authorized_keys.html.textile.liquid
       - api/methods/api_clients.html.textile.liquid
       - api/methods/user_agreements.html.textile.liquid
diff --git a/doc/api/methods/computed_permissions.html.textile.liquid b/doc/api/methods/computed_permissions.html.textile.liquid
new file mode 100644 (file)
index 0000000..b18a8c4
--- /dev/null
@@ -0,0 +1,43 @@
+---
+layout: default
+navsection: api
+navmenu: API Methods
+title: "computed_permissions"
+
+...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
+
+API endpoint base: @https://{{ site.arvados_api_host }}/arvados/v1/computed_permissions@
+
+h2. Resource
+
+Computed permissions are entries from the internal cache of the highest permission level each user has on each permission target.
+
+Each entry has the following attributes:
+
+table(table table-bordered table-condensed).
+|_. Attribute|_. Type|_. Description|
+|user_uuid|string|An individual user.|
+|target_uuid|string|An object (role group, project group, collection, etc.) on which the user has implicit or explicit permission.|
+|perm_level|string|@can_read@, @can_write@, or @can_manage@|
+
+There is only one row for a given (@user_uuid@, @target_uuid@) pair.
+
+Computed permissions cannot be created or updated directly. To change permissions, use "groups":groups.html and "links":links.html APIs as described in the "permission model":../permission-model.html.
+
+h2. Method
+
+h3. list
+
+@GET /arvados/v1/computed_permissions@
+
+List computed permissions.
+
+The computed permissions API accepts the arguments described in the "common resource list method":{{site.baseurl}}/api/methods.html#index with the following exceptions:
+* It is an error to supply a non-zero @offset@ argument.
+* The default value for @order@ is @["user_uuid", "target_uuid"]@.
+* The default value for @count@ is @"none"@ and no other values are accepted.