in src/lambda/lex-manager.py [0:0]
def handler(event, context):
""" CloudFormation Custom Resource Lambda Handler
"""
import cfnresponse
logger.info('event: {}'.format(cfnresponse.json_dump_format(event)))
request_type = event.get('RequestType')
resource_properties = event.get('ResourceProperties')
bot_name= resource_properties.get('BotName')
response_status = cfnresponse.SUCCESS
response = {}
response_id = event.get('RequestId')
reason = request_type
error = ''
should_delete = resource_properties.get('ShouldDelete', True)
if (request_type in ['Create', 'Update']):
try:
print("here2")
response['status']=create_bot()
if response['status'] =="SUCCESS":
print("Job succeded\n")
response_status = cfnresponse.SUCCESS
else:
response_status = cfnresponse.FAILED
print("Job Failed\n")
except Exception as e:
error = 'failed to {} bot: {}'.format(request_type, e)
pass
if (request_type == 'Delete' and should_delete != 'false'):
try:
response['status']=delete_bot(bot_name)
if response['status'] =="SUCCESS":
print("Job succeded\n")
response_status = cfnresponse.SUCCESS
else:
response_status = cfnresponse.FAILED
print("Delete Failed\n")
except Exception as e:
error = 'failed to delete bot: {}'.format(e)
pass
if error:
logger.error(error)
response_status = cfnresponse.FAILED
reason = error
if bool(context):
cfnresponse.send(
event,
context,
response_status,
response,
response_id,
reason
)