@@ -1346,6 +1346,38 @@ def addUsersToCSPGroup(csp_url, session_token):
1346
1346
print (f"Failed: { response_json ['failed' ]} " )
1347
1347
else :
1348
1348
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
+
1349
1381
def getCSPGroupDiff (csp_url , session_token ):
1350
1382
myHeader = {'csp-auth-token' : session_token }
1351
1383
if len (sys .argv ) < 3 :
@@ -1695,6 +1727,8 @@ def getHelp():
1695
1727
print ("\t show-csp-group-diff [GROUP_ID] [showall|skipmembers|skipowners]" )
1696
1728
print ("\n To show a CSP user:" )
1697
1729
print ("\t show-csp-org-users [email]" )
1730
+ print ("\n To show CSP service roles for the currently logged in user:" )
1731
+ print ("\t show-csp-service-roles" )
1698
1732
print ("\n To show the CGW security rules:" )
1699
1733
print ("\t show-cgw-rule" )
1700
1734
print ("\n To create a new CGW security rule" )
@@ -1837,6 +1871,10 @@ def getHelp():
1837
1871
getCSPGroupMembers (strCSPProdURL ,session_token )
1838
1872
elif intent_name == "show-csp-org-users" :
1839
1873
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 )
1840
1878
elif intent_name == "show-t0-routes" :
1841
1879
getSDDCT0routes (proxy ,session_token )
1842
1880
elif intent_name == "show-t0-bgp-neighbors" :
0 commit comments