def retrievePCI()

in aws-cloudknox-config/configrule/CLOUDKNOX_PCI.py [0:0]


def retrievePCI(apiId, accessToken, serviceId, timestamp, url, accountId, port):
    conn = http.client.HTTPSConnection(url, port)
    content_type = "application/json"
    print('apiId: '+ apiId )
    print('accessToken: '+ accessToken )
    print('serviceId: '+ serviceId )
    print('timestamp: '+ timestamp )
    print('url: ' + url)
    print('accountId: ' + accountId)
    
    headers = {
      'X-CloudKnox-Access-Token': accessToken,
      'X-CloudKnox-API-Id': apiId,
      'X-CloudKnox-Service-Account-Id': serviceId,
      'X-CloudKnox-Timestamp-Millis': timestamp,
      'Content-Type': content_type
    }
    cloudknoxDict = {}
    cloudknoxDict['authSystemInfo'] = {'id': accountId,
                                        'type': 'AWS'}
    cloudknoxDict['identityType'] = 'USER'
    cloudknoxDict['aggregation'] = {'type': 'SUMMARY'}
    cloudknoxDict['pageInfo'] = {'pageId': 0,
                                  'pageSize': 50}

    payload = json.dumps(cloudknoxDict)
    print('payload: ' + payload)
    
    conn.request("POST", "/api/v2/identity/usage", payload, headers)
    res = conn.getresponse()
    data = res.read()
    data_raw = data.decode()
    print('data_raw: ' + data_raw)
    dataResponse = json.loads(data.decode("utf-8"))
    print('dataResponse_name: ' + dataResponse['data'][1]['name'])
    return dataResponse['data']