def lambda_handler()

in functions/source/UpdateDnsRecord/handler.py [0:0]


def lambda_handler(event, context):
  for record in event['Records']:
    payload = record['body']
    print(f'Received message: {payload}')
    request = json.loads(payload)              
    transition = request.get('LifecycleTransition', '')

    if transition in [ LAUNCHING_TRANSITION, TERMINATING_TRANSITION ]:
      instance_id = request['EC2InstanceId'] 

      try:                
        instance = get_instance_by_id(instance_id)
        instance_ip = get_instance_ip_address(instance)
        slot = get_replica_number_for_transition(instance, transition)       
        replica_hostname = create_replica_host_name(slot)

        print(f'updating DNS for {replica_hostname} = {instance_ip}')
        update_dns_record(transition, replica_hostname, instance_ip)
        update_replica_number(instance_id, slot, transition)

        continue_lifecycle_hook(instance_id, request)
      except Exception:
        print(traceback.format_exc())
        abandon_lifecycle_hook(instance_id, request)