in aws-cloudknox-controltower/lambda/CloudKnox_TriggerLifecycleEvent.py [0:0]
def get_access_token(service_id,timestamp,access_key,secret_key,url,port):
"""Get CloudKnox access token."""
try:
conn = http.client.HTTPSConnection(url, port)
content_type = "application/json"
print('serviceId-accessToken: '+ service_id )
print('timestamp-accessToken: '+ timestamp )
print('accessKey-accessToken: '+ access_key )
print('secretKey-accessToken: '+ secret_key )
print('url-accessToken: ' + url)
headers = {
'X-CloudKnox-Service-Account-Id': service_id,
'X-CloudKnox-Timestamp-Millis': timestamp,
'Content-Type': content_type
}
cloudknox_dict = {}
cloudknox_dict['serviceAccountId'] = service_id
cloudknox_dict['accessKey'] = access_key
cloudknox_dict['secretKey'] = secret_key
payload = json.dumps(cloudknox_dict)
print('payload-accessToken: ' + payload)
conn.request("POST", "/api/v2/service-account/authenticate", payload, headers)
res = conn.getresponse()
data = res.read()
data_raw = data.decode()
print('data_raw: ' + data_raw)
data_response = json.loads(data.decode("utf-8"))
print('accessToken: ' + data_response['accessToken'])
return data_response['accessToken']
except Exception as e:
logger.error('Unexpected Error: %s', e)