in aws-auditmanager-conformancepack/lambda/CustomAuditManagerFramework_Lambda.py [0:0]
def cfnsend(event, context, responseStatus, responseData, physicalResourceId=None, noEcho=False, reason=None):
responseUrl = ''
StackId =''
RequestId =''
LogicalResourceId =''
if 'ResponseURL' in event:
responseUrl = event['ResponseURL']
if 'StackId' in event:
StackId = event['StackId']
if 'RequestId' in event:
RequestId = event['RequestId']
if 'LogicalResourceId' in event:
LogicalResourceId = event['LogicalResourceId']
responseBody = {
'Status' : responseStatus,
'Reason' : reason or "See the details in CloudWatch Log Stream: {}".format(context.log_stream_name),
'PhysicalResourceId' : physicalResourceId or context.log_stream_name,
'StackId' : StackId,
'RequestId' : RequestId,
'LogicalResourceId' : LogicalResourceId,
'NoEcho' : noEcho,
'Data' : responseData
}
json_responseBody = json.dumps(responseBody)
print("Response body:")
print(json_responseBody)
headers = {
'content-type' : '',
'content-length' : str(len(json_responseBody))
}
try:
response = http.request('PUT', responseUrl, headers=headers, body=json_responseBody)
print("Status code:", response.status)
except Exception as e:
print("send(..) failed executing http.request(..):", e)