in source/sfm-custom-resource.py [0:0]
def lambda_handler(event, context):
logger.info('Received event: {}'.format(json.dumps(event)))
response_data = {
"Message": "No action is needed."
}
properties = event['ResourceProperties']
try:
if event['RequestType'] == 'Create':
if event['ResourceType'] == 'Custom::CreateUuid':
response_data = {
"UUID": str(uuid.uuid4())
}
elif event['ResourceType'] == 'Custom::GetAMIInfo':
ami_name = properties['AMI_NAME']
response_data = {
"ImageId": get_ami_info(ami_name)
}
if event['ResourceType'] == 'Custom::SendAnonymousMetric':
solution_id = properties['SolutionId']
solution_version = properties['SolutionVersion']
solution_uuid = properties['SolutionUuid']
region = properties['Region']
send_anonymous_metric(solution_id, solution_version, solution_uuid, region, event['RequestType'])
response_data = {
"Message": "Sent anonymous metric"
}
send_response(event, context, 'SUCCESS', response_data)
except Exception as e:
logger.error('Error: {}'.format(e))
response_data = {
'Error': e
}
send_response(event, context, 'FAILED', response_data)