Skip to content

Commit 3e25fe6

Browse files
Merge pull request #1062 from gooddata/snapshot-master-8b87cc9a-to-rel/dev
[bot] Merge master/8b87cc9a into rel/dev
2 parents 5426fd1 + 8b87cc9 commit 3e25fe6

File tree

10 files changed

+256
-0
lines changed

10 files changed

+256
-0
lines changed

docs/content/en/latest/administration/user-groups/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ See [Manage Permissions](https://www.gooddata.com/docs/cloud/manage-deployment/m
2525
* [load_declarative_user_groups](./load_declarative_user_groups/)
2626
* [load_and_put_declarative_user_groups](./load_and_put_declarative_user_groups/)
2727

28+
### Permission management
29+
* [get_user_group_permissions](./get_user_group_permissions)
30+
* [manage_user_group_permissions](./manage_user_group_permissions)
31+
2832
## Example
2933

3034
List, create and delete user groups:
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: "get_user_group_permissions"
3+
linkTitle: "get_user_group_permissions"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``get_user_group_permissions(user_group_id: str) -> CatalogPermissionAssignments``
12+
13+
Get permission assignments for a user group.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="user_group_id" p_type="string" >}}
17+
User group identification string. e.g. "demo.users"
18+
{{< /parameter >}}
19+
{{% /parameters-block %}}
20+
21+
{{% parameters-block title="Returns" %}}
22+
{{< parameter p_type="CatalogPermissionAssignments" >}}
23+
Object containing permission assignments for workspaces and data sources.
24+
{{< /parameter >}}
25+
{{% /parameters-block %}}
26+
27+
## Example
28+
29+
```python
30+
sdk.catalog_user.get_user_group_permissions("demo.users")
31+
"""
32+
CatalogPermissionAssignments(workspaces=[CatalogWorkspacePermissionAssignment(id='demo_west',
33+
permissions=['VIEW', 'CREATE_AUTOMATION',
34+
'EXPORT_PDF',
35+
'CREATE_FILTER_VIEW'],
36+
hierarchy_permissions=[],
37+
name='Demo West')], data_sources=[])
38+
"""
39+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: "manage_user_group_permissions"
3+
linkTitle: "manage_user_group_permissions"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``manage_user_group_permissions(user_group_id: str, api_token_id: str) -> None``
12+
13+
Set permission assignments for a user.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="user_group_id" p_type="string" >}}
17+
User group identification string. e.g. "demo.users"
18+
{{< /parameter >}}
19+
{{< parameter p_name="permission_assignments" p_type="CatalogPermissionAssignments" >}}
20+
Object containing permission assignments for workspaces and data sources.
21+
{{< /parameter >}}
22+
{{% /parameters-block %}}
23+
24+
## Example
25+
26+
```python
27+
permissions = CatalogPermissionAssignments(workspaces=[CatalogWorkspacePermissionAssignment(id='demo_west',
28+
permissions=['VIEW',
29+
'CREATE_AUTOMATION',
30+
'EXPORT_PDF',
31+
'CREATE_FILTER_VIEW'],
32+
hierarchy_permissions=[],
33+
name='Demo West')],
34+
data_sources=[])
35+
sdk.catalog_user.manage_user_group_permissions("demo.users", permissions)
36+
```

docs/content/en/latest/administration/users-and-user-groups/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ See [Manage Permissions](https://www.gooddata.com/docs/cloud/manage-deployment/m
1717
* [load_declarative_users_user_groups](./load_declarative_users_user_groups/)
1818
* [load_and_put_declarative_users_user_groups](./load_and_put_declarative_users_user_groups/)
1919

20+
### Permission management
21+
* [assign_permissions_bulk](./assign_permissions_bulk)
22+
* [revoke_permissions_bulk](./revoke_permissions_bulk)
23+
2024
## Example
2125
List, create and delete users and user groups:
2226

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "assign_permissions_bulk"
3+
linkTitle: "assign_permissions_bulk"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``assign_permissions_bulk(permissions_assignment: CatalogPermissionsAssignment) -> None``
12+
13+
Assign permissions in bulk to a users or user groups.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="permissions_assignment" p_type="CatalogPermissionsAssignment" >}}
17+
Object containing permission assignments for workspaces and data sources to be assigned.
18+
{{< /parameter >}}
19+
{{% /parameters-block %}}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: "revoke_permissions_bulk"
3+
linkTitle: "revoke_permissions_bulk"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``revoke_permissions_bulk(permissions_assignment: CatalogPermissionsAssignment) -> None``
12+
13+
Revoke permissions in bulk to users or user groups.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="permissions_assignment" p_type="CatalogPermissionsAssignment" >}}
17+
Object containing permission assignments for workspaces and data sources to be assigned.
18+
{{< /parameter >}}
19+
{{% /parameters-block %}}

docs/content/en/latest/administration/users/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ See [Manage Users and UserGroups](https://www.gooddata.com/docs/cloud/manage-dep
3030
* [load_declarative_users](./load_declarative_users/)
3131
* [load_and_put_declarative_users](./load_and_put_declarative_users/)
3232

33+
### Permission management
34+
* [get_user_permissions](./get_user_permissions)
35+
* [manage_user_permissions](./manage_user_permissions)
36+
3337

3438
## Example
3539

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
title: "get_user_permissions"
3+
linkTitle: "get_user_permissions"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``get_user_permissions(user_id: str) -> CatalogPermissionAssignments``
12+
13+
Get permission assignments for a user.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="user_id" p_type="string" >}}
17+
User identification string. e.g. "admin"
18+
{{< /parameter >}}
19+
{{% /parameters-block %}}
20+
21+
{{% parameters-block title="Returns" %}}
22+
{{< parameter p_type="CatalogPermissionAssignments" >}}
23+
Object containing permission assignments for workspaces and data sources.
24+
{{< /parameter >}}
25+
{{% /parameters-block %}}
26+
27+
## Example
28+
29+
```python
30+
sdk.catalog_user.get_user_permissions("demo.user")
31+
"""
32+
CatalogPermissionAssignments(workspaces=[CatalogWorkspacePermissionAssignment(id='demo_west',
33+
permissions=['VIEW', 'CREATE_AUTOMATION',
34+
'EXPORT_PDF',
35+
'CREATE_FILTER_VIEW'],
36+
hierarchy_permissions=[],
37+
name='Demo West')], data_sources=[])
38+
"""
39+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: "manage_user_permissions"
3+
linkTitle: "manage_user_permissions"
4+
weight: 10
5+
no_list: true
6+
superheading: "catalog_user."
7+
---
8+
9+
10+
11+
``manage_user_permissions(user_id: str, api_token_id: str) -> None``
12+
13+
Set permission assignments for a user.
14+
15+
{{% parameters-block title="Parameters"%}}
16+
{{< parameter p_name="user_id" p_type="string" >}}
17+
User identification string. e.g. "admin"
18+
{{< /parameter >}}
19+
{{< parameter p_name="permission_assignments" p_type="CatalogPermissionAssignments" >}}
20+
Object containing permission assignments for workspaces and data sources.
21+
{{< /parameter >}}
22+
{{% /parameters-block %}}
23+
24+
## Example
25+
26+
```python
27+
permissions = CatalogPermissionAssignments(workspaces=[CatalogWorkspacePermissionAssignment(id='demo_west',
28+
permissions=['VIEW',
29+
'CREATE_AUTOMATION',
30+
'EXPORT_PDF',
31+
'CREATE_FILTER_VIEW'],
32+
hierarchy_permissions=[],
33+
name='Demo West')],
34+
data_sources=[])
35+
sdk.catalog_user.manage_user_permissions("demo.user", permissions)
36+
```

gooddata-sdk/gooddata_sdk/catalog/user/service.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,25 +374,81 @@ def load_and_put_declarative_users_user_groups(self, layout_root_path: Path = Pa
374374
# User management use case APIs
375375

376376
def get_user_permissions(self, user_id: str) -> CatalogPermissionAssignments:
377+
"""Get permission assignments for a user.
378+
379+
Args:
380+
user_id (str):
381+
User identification string.
382+
E.g. "demo.user"
383+
384+
Returns:
385+
CatalogPermissionAssignments
386+
"""
377387
return CatalogPermissionAssignments.from_api(self._user_management_api.list_permissions_for_user(user_id))
378388

379389
def manage_user_permissions(self, user_id: str, permission_assignments: CatalogPermissionAssignments) -> None:
390+
"""Set permission assignments for a user.
391+
392+
Args:
393+
user_id (str):
394+
User identification string.
395+
E.g. "demo.user"
396+
permission_assignments (CatalogPermissionAssignments):
397+
Object containing permission assignments for workspaces and data sources.
398+
"""
380399
self._user_management_api.manage_permissions_for_user(user_id, permission_assignments.to_api())
381400

382401
def get_user_group_permissions(self, user_group_id: str) -> CatalogPermissionAssignments:
402+
"""Get permission assignments for a user group.
403+
404+
Args:
405+
user_group_id (str):
406+
User group identification string.
407+
E.g. "demo.users"
408+
409+
Returns:
410+
CatalogPermissionAssignments
411+
"""
383412
return CatalogPermissionAssignments.from_api(
384413
self._user_management_api.list_permissions_for_user_group(user_group_id)
385414
)
386415

387416
def manage_user_group_permissions(
388417
self, user_group_id: str, permission_assignments: CatalogPermissionAssignments
389418
) -> None:
419+
"""Set permission assignments for a user group.
420+
421+
Args:
422+
user_group_id (str):
423+
User group identification string.
424+
E.g. "demo.users"
425+
permission_assignments (CatalogPermissionAssignments):
426+
Object containing permission assignments for workspaces and data sources.
427+
"""
390428
self._user_management_api.manage_permissions_for_user_group(user_group_id, permission_assignments.to_api())
391429

392430
def assign_permissions_bulk(self, permissions_assignment: CatalogPermissionsAssignment) -> None:
431+
"""Assign permissions in bulk to a users or user groups.
432+
433+
Args:
434+
permissions_assignment (CatalogPermissionsAssignment):
435+
Object containing permission assignments for workspaces and data sources to be assigned.
436+
437+
Returns:
438+
None
439+
"""
393440
self._user_management_api.assign_permissions(permissions_assignment.to_api())
394441

395442
def revoke_permissions_bulk(self, permissions_assignment: CatalogPermissionsAssignment) -> None:
443+
"""Revoke permissions in bulk to a users or user groups.
444+
445+
Args:
446+
permissions_assignment (CatalogPermissionsAssignment):
447+
Object containing permission assignments for workspaces and data sources to be revoked.
448+
449+
Returns:
450+
None
451+
"""
396452
self._user_management_api.revoke_permissions(permissions_assignment.to_api())
397453

398454
def list_user_api_tokens(self, user_id: str) -> list[CatalogApiToken]:

0 commit comments

Comments
 (0)