def register()

in functions/source/registerCustomResource/lambda_function.py [0:0]


def register(event, _):
    logger.error(f"event: {json.dumps(event)}")
    function_name = event['ResourceProperties']['Name']
    version = Version(event['ResourceProperties'].get('Version', '0.0.0'))
    if version != Version('0.0.0') and version <= get_current_version(function_name):
        print("version already registered is greater than this version, leaving as is.")
        try:
            arn = lmbd.get_function_configuration(FunctionName=function_name)['FunctionArn']
            return arn
        except lmbd.exceptions.ResourceNotFoundException:
            print("resource missing, re-registering...")
    execution_role_arn = put_role(function_name, event['ResourceProperties']['IamPolicy'], execution_trust_policy)
    arn = put_function(function_name, execution_role_arn, event['ResourceProperties']['S3Uri'])
    set_version(function_name, event['ResourceProperties'].get('Version', '0.0.0'))
    return arn