Terraform resource: aws lambda function

From wikieduonline
Revision as of 15:02, 23 July 2024 by Welcome (talk | contribs)
Jump to navigation Jump to search

Official example

data "aws_iam_policy_document" "assume_role" {
 statement {
   effect = "Allow"
   principals {
     type        = "Service"
     identifiers = ["lambda.amazonaws.com"]
   }
   actions = ["sts:AssumeRole"]
  }
}

resource "aws_iam_role" "iam_for_lambda" {

 name               = "iam_for_lambda"
 assume_role_policy = data.aws_iam_policy_document.assume_role.json

}

data "archive_file" "lambda" {

 type        = "zip"
 source_file = "lambda.js"
 output_path = "lambda_function_payload.zip"

}

resource "aws_lambda_function" "test_lambda" {

 # If the file is not in the current working directory you will need to include a
 # path.module in the filename.
 filename      = "lambda_function_payload.zip"
 function_name = "lambda_function_name"
 role          = aws_iam_role.iam_for_lambda.arn
 handler       = "index.test"
 source_code_hash = data.archive_file.lambda.output_base64sha256
 runtime = "nodejs18.x"
 environment {
   variables = {
     foo = "bar"
   }
 }

}

Related

See also

Advertising: