Path: blob/main/L4assets/DSandMLOpsAssets/CLIandSDK/packages/cpdalllibs/cpdlib/usermgmt.py
1928 views
import requests1import urllib.parse23from cpdalllibs.cpdlib.constants import *45def getUsers(headersAPI, url) :6"""Get a list of users"""7users = "usermgmt/users?includeAll=true"89resp = requests.get(url + USRMGMT + users, headers=headersAPI)10return(resp)1112def getUser(headersAPI, url, user_id) :13"""Get a specific user by id"""14user = "usermgmt/user/{}".format(user_id)1516resp = requests.get(url + USRMGMT + user, headers=headersAPI)17return(resp)1819def getGroups(headersAPI, url) :20"""Get the groups defined in CPD"""21groups="usermgmt/v2/groups"22resp = requests.get(url + groups, headers=headersAPI)23return(resp)2425def getRoles(headersAPI, url) :26"""Get the roles defined in CPD"""27role="roles?include_users_count=true&include_user_groups_count=true"28resp = requests.get(url + USRMGMT + role, headers=headersAPI)29return(resp)3031def getConfig(headersAPI, url) :32"""Get CPD configuration information"""33config="usermgmt/config?includeAll=true"34resp = requests.get(url + USRMGMT + config, headers=headersAPI)35return(resp)3637def cre8Role(headersAPI, url, data) :38"""Create a role based on the data argument"""39role = "role"40resp = requests.post(url + USRMGMT + role,41json=data, headers=headersAPI)42return(resp)4344def cre8Group(headersAPI, url, data) :45"""Create a group based on the data argument"""46group = "usermgmt/v2/groups"47resp = requests.post(url + group,48json=data, headers=headersAPI)49return(resp)5051# grant access to user52def cre8User(headersAPI, url, data) :53"""Create a user based on the data argument"""54user = "user?migrated=false"55resp = requests.post(url + USRMGMT + user,56json=data, headers=headersAPI)57return(resp)5859def addUserToGroup(headersAPI, url, group_id, user_id):60"""Add a user to a group"""61group="usermgmt/v2/groups/{}/members".format(group_id)62uid = int(user_id)63data = {64"user_identifiers": [ uid ]65}66resp = requests.post(url + group,67json=data, headers=headersAPI, verify=True)68return(resp)6970def addRoleToUser(headersAPI, url, username, data) :71"""Add a role to a user"""72user = urllib.parse.quote("{}user/{}?add_roles=true".format(USRMGMT, username))73resp = requests.put(url + user, json=data, headers=headersAPI)74return(resp)7576def deleteUser(headersAPI, url, username) :77"""Delete a user from CPD"""78user = "user/" + username79resp = requests.delete(url + USRMGMT + user, headers=headersAPI)80return(resp)8182def deleteGroup(headersAPI, url, group_id) :83"""Delete a group from CPD"""84group = "usermgmt/v2/groups/{}".format(group_id)85resp = requests.delete(url + group, headers=headersAPI)86return(resp)8788def deleteRole(headersAPI, url, role_id) :89"""Delete a group from CPD"""90role = "{}role/{}".format(USRMGMT, role_id)91resp = requests.delete(url + role, headers=headersAPI)92return(resp)9394