github.com/hobbeswalsh/terraform@v0.3.7-0.20150619183303-ad17cf55a0fa/website/source/docs/providers/aws/r/lambda_function.html.markdown (about)

     1  ---
     2  layout: "aws"
     3  page_title: "AWS: aws_lambda_function"
     4  sidebar_current: "docs-aws-resource-aws-lambda-function"
     5  description: |-
     6    Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS. The Lambda Function itself includes source code and runtime configuration.
     7  ---
     8  
     9  # aws\_lambda\_function
    10  
    11  Provides a Lambda Function resource. Lambda allows you to trigger execution of code in response to events in AWS. The Lambda Function itself includes source code and runtime configuration.
    12  
    13  For information about Lambda and how to use it, see [What is AWS Lambda?][1]
    14  
    15  ## Example Usage
    16  
    17  ```
    18  resource "aws_iam_role" "iam_for_lambda" {
    19      name = "iam_for_lambda"
    20      assume_role_policy = <<EOF
    21  {
    22    "Version": "2012-10-17",
    23    "Statement": [
    24      {
    25        "Action": "sts:AssumeRole",
    26        "Principal": {
    27          "Service": "lambda.amazonaws.com"
    28        },
    29        "Effect": "Allow",
    30        "Sid": ""
    31      }
    32    ]
    33  }
    34  EOF
    35  }
    36  
    37  resource "aws_lambda_function" "test_lambda" {
    38      filename = "lambda_function_payload.zip"
    39      function_name = "lambda_function_name"
    40      role = "${aws_iam_role.iam_for_lambda.arn}"
    41      handler = "exports.test"
    42  }
    43  ```
    44  
    45  ## Argument Reference
    46  
    47  * `filename` - (Required) A [zip file][2] containing your lambda function source code.
    48  * `function_name` - (Required) A unique name for your Lambda Function.
    49  * `handler` - (Required) The function [entrypoint][3] in your code.
    50  * `role` - (Required) IAM role attached to the Lambda Function. This governs both who / what can invoke your Lambda Function, as well as what resources our Lambda Function has access to. See [Lambda Permission Model][4] for more details.
    51  * `description` - (Optional) Description of what your Lambda Function does.
    52  * `memory_size` - (Optional) Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [Limits][5]
    53  * `runtime` - (Optional) Defaults to `nodejs`.
    54  * `timeout` - (Optional) The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5]
    55  
    56  ## Attributes Reference
    57  
    58  * `arn` - The Amazon Resource Name (ARN) identifying your Lambda Function.
    59  * `last_modified` - The date this resource was last modified.
    60  
    61  
    62  [1]: http://docs.aws.amazon.com/lambda/latest/dg/welcome.html
    63  [2]: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html
    64  [3]: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-custom-events-create-test-function.html
    65  [4]: http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html
    66  [5]: http://docs.aws.amazon.com/lambda/latest/dg/limits.html