Skip to content

Commit 78d85a2

Browse files
author
Patrick Kremer
authored
Merge pull request #22 from kremerpatrick/master
Add 2 service role commands
2 parents ead9e80 + c46e0dd commit 78d85a2

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Diff for: pyVMC.py

+38
Original file line numberDiff line numberDiff line change
@@ -1346,6 +1346,38 @@ def addUsersToCSPGroup(csp_url, session_token):
13461346
print(f"Failed: {response_json['failed']}" )
13471347
else:
13481348
print (f'Operation failed with status code {response.status_code}. URL: {myURL}. Body: {params}')
1349+
1350+
def getCSPServiceRoles(csp_url, session_token):
1351+
myHeader = {'csp-auth-token': session_token}
1352+
myURL = csp_url + f'/csp/gateway/am/api/loggedin/user/orgs/{ORG_ID}/service-roles'
1353+
response = requests.get(myURL,headers=myHeader)
1354+
json_response = response.json()
1355+
#print(json.dumps(json_response, indent=4))
1356+
for svc_def in json_response['serviceRoles']:
1357+
for svc_role in svc_def['serviceRoleNames']:
1358+
print(svc_role)
1359+
1360+
def findCSPUserByServiceRole(csp_url, session_token):
1361+
myHeader = {'csp-auth-token': session_token}
1362+
if len(sys.argv) < 2:
1363+
print('Usage: find-user-by-service-role [role]')
1364+
sys.exit()
1365+
1366+
role_name= sys.argv[2]
1367+
myURL = csp_url + f'/csp/gateway/am/api/v2/orgs/{ORG_ID}/users'
1368+
response = requests.get(myURL,headers=myHeader)
1369+
json_response = response.json()
1370+
users = json_response['results']
1371+
grouprolelist = []
1372+
for user in users:
1373+
for servicedef in user['serviceRoles']:
1374+
for role in servicedef['serviceRoles']:
1375+
if role['name'] == role_name:
1376+
display_role = ''
1377+
for orgrole in user['organizationRoles']:
1378+
display_role = display_role + orgrole['name'] + ' '
1379+
print(user['user']['email'], '-', role_name, '-', display_role)
1380+
13491381
def getCSPGroupDiff(csp_url, session_token):
13501382
myHeader = {'csp-auth-token': session_token}
13511383
if len(sys.argv) < 3:
@@ -1695,6 +1727,8 @@ def getHelp():
16951727
print("\tshow-csp-group-diff [GROUP_ID] [showall|skipmembers|skipowners]")
16961728
print("\nTo show a CSP user:")
16971729
print("\tshow-csp-org-users [email]")
1730+
print("\nTo show CSP service roles for the currently logged in user:")
1731+
print("\tshow-csp-service-roles")
16981732
print("\nTo show the CGW security rules:")
16991733
print("\tshow-cgw-rule")
17001734
print("\nTo create a new CGW security rule")
@@ -1837,6 +1871,10 @@ def getHelp():
18371871
getCSPGroupMembers(strCSPProdURL,session_token)
18381872
elif intent_name == "show-csp-org-users":
18391873
getCSPOrgUsers(strCSPProdURL,session_token)
1874+
elif intent_name == "show-csp-service-roles":
1875+
getCSPServiceRoles(strCSPProdURL,session_token)
1876+
elif intent_name == "find-csp-user-by-service-role":
1877+
findCSPUserByServiceRole(strCSPProdURL,session_token)
18401878
elif intent_name == "show-t0-routes":
18411879
getSDDCT0routes(proxy,session_token)
18421880
elif intent_name == "show-t0-bgp-neighbors":

0 commit comments

Comments
 (0)