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