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/services.py
1928 views
1
import json
2
import requests
3
from cpdalllibs.cpdlib.constants import *
4
5
### Undocumented API...
6
# This API was found on github
7
# https://github.com/IBM/watson-machine-learning-samples/blob/585613f07f968df1b1620ece283ec9d22b941d07/cpd4.5/notebooks/python_sdk/deployments/custom_software_spec/Use%20Custom%20Image%2C%20Software%20Specification%20and%20Runtime%20Definition%20to%20deploy%20a%20python%20function.ipynb#L496
8
def getServiceInstances(headersAPI, url) :
9
'''Get all the services part of this cluster'''
10
endpoint = url + '/zen-data/v3/service_instances?fetch_all_instances=true'
11
resp = requests.get(endpoint, headers=headersAPI, verify=False)
12
return resp
13
14
def getSvcToken(headersAPI, url, svc_id) :
15
'''Get a token for a service'''
16
endpoint = url + 'zen-data/v3/service_instances/{}/token'.format(svc_id)
17
resp = requests.get(endpoint, headers=headersAPI, verify=False)
18
return resp
19
20
def getSvcUsers(headersAPI, url, svc_id) :
21
'''Get the users for a service'''
22
endpoint = url + 'zen-data/v2/serviceInstance/users?sID={}'.format(svc_id)
23
resp = requests.get(endpoint, headers=headersAPI, verify=False)
24
return resp
25
26
def addSvcUser(headersAPI, url, data) :
27
'''Add a user to a service'''
28
endpoint = url + 'zen-data/v2/serviceInstance/users'
29
resp = requests.post(endpoint, json=data, headers=headersAPI, verify=False)
30
return resp
31
32
def deleteSvcUser(headersAPI, url, data) :
33
'''Delete a member of a service'''
34
endpoint = url + 'zen-data/v2/serviceInstance/users'
35
resp = requests.delete(endpoint, json=data, headers=headersAPI, verify=False)
36
return resp
37
38
39
# https://github.com/search?q=org%3AIBM%20v3%2Fservice_instances&type=code
40
# CP4D_INSTANCES_USERS=${CP4D_URL}/zen-data/v2/serviceInstance/users
41
# CP4D_INSTANCES_USERS_ROLE=${CP4D_INSTANCES_USERS}/role
42
# https://github.com/IBM/cloud-pak-deployer/blob/eb880b56439039163176b89c15716e37b1065184/automation-roles/60-configure-cloud-pak/cp4d/cp4d-instance-cognos/files/assign_CA_authorization.sh#L57
43
44
# export ADD_USER_TO_CA=$(curl -s -k -X POST -H "Authorization: Bearer ${BEARER}" -H 'Content-Type: application/json' ${CP4D_INSTANCES_USERS} \
45
# -d "{\"users\":[{\"uid\":\"${CP4D_USER_UID}\",\"username\":\"${LDAP_USER_NAME}\",\"display_name\":\"${LDAP_USER_DISPLAY_NAME}\",\"role\":\"${CP4D_CA_ROLE}\"}],\"serviceInstanceID\":\"${COGNOS_INSTANCE_ID}\"}" | jq -r '. | .message')
46
# export MODIFY_CA_ROLE=$(curl -s -k -X PATCH -H "Authorization: Bearer ${BEARER}" -H 'Content-Type: application/json' ${CP4D_INSTANCES_USERS_ROLE} \
47
# -d "{\"serviceInstanceID\":\"${COGNOS_INSTANCE_ID}\",\"roles\":[{\"uid\":\"${CP4D_USER_UID}\",\"newrole\":\"${CP4D_CA_ROLE}\"}]}" | jq -r '. | .message')
48
# export MODIFY_CA_ROLE=$(curl -s -k -X PATCH -H "Authorization: Bearer ${BEARER}" -H 'Content-Type: application/json' ${CP4D_INSTANCES_USERS_ROLE} \
49
# -d "{\"serviceInstanceID\":\"${COGNOS_INSTANCE_ID}\",\"roles\":[{\"uid\":\"${CP4D_USER_UID}\",\"newrole\":\"${CP4D_CA_ROLE}\"}]}" | jq -r '. | .message')
50
51
52