Sunita Muneshwar
Sunita Muneshwar

Reputation: 55

Not able to update lambda code on AWS console using terraform

I am creating lambda function using terraform as per the terraform syntax lambda code should be passed as a zip file. In a similar way, I am passing in a resource block and it is getting created also without any issue. But when I am trying to update lambda code using terraform in the next run it is not getting updated. Below block for reference.

data "archive_file" "stop_ec2" {
  type        = "zip"
  source_file = "src_dir/stop_ec2.py"
  output_path = "dest_dir/stop_ec2_upload.zip"
}

resource "aws_lambda_function" "stop_ec2" {
  function_name    = "stopEC2"
  handler          = "stop_ec2.handler"
  runtime          = "python3.6"
  filename         = "dest_dir/stop_ec2_upload.zip"
  role             = "..."
}

Need help to resolve this issue.

Upvotes: 3

Views: 4852

Answers (1)

Chin Huang
Chin Huang

Reputation: 13860

Set the source_code_hash argument, so Terraform will update the lambda function when the lambda code is changed.

resource "aws_lambda_function" "stop_ec2" {
  source_code_hash = filebase64sha256("dest_dir/stop_ec2_upload.zip")

Upvotes: 7

Related Questions