in syndicate/core/transform/terraform/converter/tf_lambda_converter.py [0:0]
def template_for_lambda(lambda_name, role_arn, handler, runtime,
function_name, subnet_ids, security_group_ids,
s3_key=None,
s3_bucket=None,
memory=None,
timeout=None,
env_variables=None, layers=None, publish=False,
reserved_concurrent_executions=None,
tracing_mode=None, lambda_layers_arns=None):
lambda_res = {
'function_name': function_name,
'role': role_arn,
'runtime': runtime,
'handler': handler,
'publish': publish
}
if subnet_ids and security_group_ids:
vpc_config = {
'subnet_ids': subnet_ids,
'security_group_ids': security_group_ids
}
lambda_res['vpc_config'] = vpc_config
if s3_key and s3_bucket:
lambda_res['s3_key'] = s3_key
lambda_res['s3_bucket'] = s3_bucket
if memory:
lambda_res['memory_size'] = memory
if timeout:
lambda_res['timeout'] = timeout
if env_variables:
lambda_res['environment'] = [{'variables': env_variables}]
if layers:
lambda_res['layers'] = layers
if reserved_concurrent_executions:
lambda_res[
'reserved_concurrent_executions'] = reserved_concurrent_executions
if tracing_mode:
lambda_res['tracing_config'] = {'mode': tracing_mode}
if reserved_concurrent_executions:
lambda_res[
'reserved_concurrent_executions'] = reserved_concurrent_executions
if lambda_layers_arns:
lambda_res['layers'] = lambda_layers_arns
resource = {lambda_name: lambda_res}
return resource