def handler()

in functions/source/update_custommanaged_cmk_policy.py [0:0]


def handler(event, context):
    # make sure we send a failure to CloudFormation if the function
    # is going to timeout
    timer = threading.Timer((context.get_remaining_time_in_millis()
            / 1000.00) - 0.5, timeout, args=[event, context])
    timer.start()
    print('Received event: %s' % json.dumps(event))
    status = cfnresponse.SUCCESS
    
    try:
        key_id = event['ResourceProperties']['key_id']
        arn_credentials = event['ResourceProperties']['arn_credentials']
        use_cases = event['ResourceProperties']['use_cases']
        reuse_key_for_cluster_volumes = event['ResourceProperties']['reuse_key_for_cluster_volumes']

        if event['RequestType'] == 'Create':
            #  Nothing to do if MANAGED_SERVICES is the use case
            if use_cases == 'STORAGE' or 'BOTH':
                update_key_policy(key_id, arn_credentials, reuse_key_for_cluster_volumes)
        
    except Exception as e:
        logging.error('Exception: %s' % e, exc_info=True)
        status = cfnresponse.FAILED
    finally:
        timer.cancel()
        cfnresponse.send(event, context, status, {}, None)