def template_for_lambda()

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