mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-04-24 18:00:57 -04:00
AWS Lambda functionality
- Includes documentation - Includes acceptance tests
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
---
|
||||
layout: "aws"
|
||||
page_title: "AWS: aws_lambda_function"
|
||||
sidebar_current: "docs-aws-resource-aws-lambda-function"
|
||||
description: |-
|
||||
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.
|
||||
---
|
||||
|
||||
# aws\_lambda\_function
|
||||
|
||||
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.
|
||||
|
||||
For information about Lambda and how to use it, see [What is AWS Lambda?][1]
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "aws_iam_role" "iam_for_lambda" {
|
||||
name = "iam_for_lambda"
|
||||
assume_role_policy = <<EOF
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Action": "sts:AssumeRole",
|
||||
"Principal": {
|
||||
"Service": "lambda.amazonaws.com"
|
||||
},
|
||||
"Effect": "Allow",
|
||||
"Sid": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
|
||||
resource "aws_lambda_function" "test_lambda" {
|
||||
filename = "lambda_function_payload.zip"
|
||||
function_name = "lambda_function_name"
|
||||
role = "${aws_iam_role.iam_for_lambda.arn}"
|
||||
handler = "exports.test"
|
||||
}
|
||||
```
|
||||
|
||||
## Argument Reference
|
||||
|
||||
* `filename` - (Required) A [zip file][2] containing your lambda function source code.
|
||||
* `function_name` - (Required) A unique name for your Lambda Function.
|
||||
* `handler` - (Required) The function [entrypoint][3] in your code.
|
||||
* `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.
|
||||
* `description` - (Optional) Description of what your Lambda Function does.
|
||||
* `memory_size` - (Optional) Amount of memory in MB your Lambda Function can use at runtime. Defaults to `128`. See [Limits][5]
|
||||
* `runtime` - (Optional) Defaults to `nodejs`.
|
||||
* `timeout` - (Optional) The amount of time your Lambda Function has to run in seconds. Defaults to `3`. See [Limits][5]
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `arn` - The Amazon Resource Name (ARN) identifying your Lambda Function.
|
||||
* `last_modified` - The date this resource was last modified.
|
||||
|
||||
|
||||
[1]: http://docs.aws.amazon.com/lambda/latest/dg/welcome.html
|
||||
[2]: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html
|
||||
[3]: http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-custom-events-create-test-function.html
|
||||
[4]: http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html
|
||||
[5]: http://docs.aws.amazon.com/lambda/latest/dg/limits.html
|
||||
Reference in New Issue
Block a user