Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
CloudPak-Outcomes
GitHub Repository: CloudPak-Outcomes/Outcomes-Projects
Path: blob/main/L4assets/DSandMLOpsAssets/CLIandSDK/packages/cpdalllibs/cpdlib/usermgmt.py
1928 views
1
import requests
2
import urllib.parse
3
4
from cpdalllibs.cpdlib.constants import *
5
6
def getUsers(headersAPI, url) :
7
"""Get a list of users"""
8
users = "usermgmt/users?includeAll=true"
9
10
resp = requests.get(url + USRMGMT + users, headers=headersAPI)
11
return(resp)
12
13
def getUser(headersAPI, url, user_id) :
14
"""Get a specific user by id"""
15
user = "usermgmt/user/{}".format(user_id)
16
17
resp = requests.get(url + USRMGMT + user, headers=headersAPI)
18
return(resp)
19
20
def getGroups(headersAPI, url) :
21
"""Get the groups defined in CPD"""
22
groups="usermgmt/v2/groups"
23
resp = requests.get(url + groups, headers=headersAPI)
24
return(resp)
25
26
def getRoles(headersAPI, url) :
27
"""Get the roles defined in CPD"""
28
role="roles?include_users_count=true&include_user_groups_count=true"
29
resp = requests.get(url + USRMGMT + role, headers=headersAPI)
30
return(resp)
31
32
def getConfig(headersAPI, url) :
33
"""Get CPD configuration information"""
34
config="usermgmt/config?includeAll=true"
35
resp = requests.get(url + USRMGMT + config, headers=headersAPI)
36
return(resp)
37
38
def cre8Role(headersAPI, url, data) :
39
"""Create a role based on the data argument"""
40
role = "role"
41
resp = requests.post(url + USRMGMT + role,
42
json=data, headers=headersAPI)
43
return(resp)
44
45
def cre8Group(headersAPI, url, data) :
46
"""Create a group based on the data argument"""
47
group = "usermgmt/v2/groups"
48
resp = requests.post(url + group,
49
json=data, headers=headersAPI)
50
return(resp)
51
52
# grant access to user
53
def cre8User(headersAPI, url, data) :
54
"""Create a user based on the data argument"""
55
user = "user?migrated=false"
56
resp = requests.post(url + USRMGMT + user,
57
json=data, headers=headersAPI)
58
return(resp)
59
60
def addUserToGroup(headersAPI, url, group_id, user_id):
61
"""Add a user to a group"""
62
group="usermgmt/v2/groups/{}/members".format(group_id)
63
uid = int(user_id)
64
data = {
65
"user_identifiers": [ uid ]
66
}
67
resp = requests.post(url + group,
68
json=data, headers=headersAPI, verify=True)
69
return(resp)
70
71
def addRoleToUser(headersAPI, url, username, data) :
72
"""Add a role to a user"""
73
user = urllib.parse.quote("{}user/{}?add_roles=true".format(USRMGMT, username))
74
resp = requests.put(url + user, json=data, headers=headersAPI)
75
return(resp)
76
77
def deleteUser(headersAPI, url, username) :
78
"""Delete a user from CPD"""
79
user = "user/" + username
80
resp = requests.delete(url + USRMGMT + user, headers=headersAPI)
81
return(resp)
82
83
def deleteGroup(headersAPI, url, group_id) :
84
"""Delete a group from CPD"""
85
group = "usermgmt/v2/groups/{}".format(group_id)
86
resp = requests.delete(url + group, headers=headersAPI)
87
return(resp)
88
89
def deleteRole(headersAPI, url, role_id) :
90
"""Delete a group from CPD"""
91
role = "{}role/{}".format(USRMGMT, role_id)
92
resp = requests.delete(url + role, headers=headersAPI)
93
return(resp)
94