cloudposse / cloudposse/terraform-aws-lambda-function

Redundant ignore_changes element: in resource "aws_lambda_function" "this"

未关闭
#43 2 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
HCL
星标
36
派生
44
PR 合并指标
30 天内没有已合并 PR

描述

### Describe the Bug

When running `terraform plan` (or `apply`), a declaration of this module throws the following warning:

```
│ Warning: Redundant ignore_changes element

│ on .terraform/modules/foo.lambda_changes/main.tf line 21, in resource "aws_lambda_function" "this":
│ 21: resource "aws_lambda_function" "this" {

│ Adding an attribute name to ignore_changes tells Terraform to ignore future changes to the argument in configuration after the object has been created, retaining the value originally configured.

│ The attribute last_modified is decided by the provider alone and therefore there can be no configured value to compare with. Including this attribute in ignore_changes has no effect. Remove the attribute from ignore_changes to quiet this
│ warning.

│ (and one more similar warning elsewhere)
```

The error is coming from the `lifecycle` block at https://github.com/cloudposse/terraform-aws-lambda-function/blob/0.5.1/main.tf#L93-L95

```terraform
lifecycle {
ignore_changes = [last_modified]
}
```

### Expected Behavior

When running `terraform plan` (or `apply`), a declaration of this module does not throw a "Redundant ignore_changes element" warning

### Steps to Reproduce

In my case, I declared this module with `s3_bucket` and `s3_key`:

```terraform
module "lambda_responses" {
source = "cloudposse/lambda-function/aws"
version = "0.5.1"

function_name = "${module.lambda_label.id}-test"
attributes = concat(module.lambda_label.attributes, ["test"])
description = "Yay lambdas"
s3_bucket = var.responses_lambda_s3_bucket
s3_key = var.responses_lambda_s3_key
runtime = var.responses_lambda_runtime
handler = var.responses_lambda_handler
architectures = ["x86_64"]
context = module.lambda_label.context
}
```

Then ran `terraform apply` from the root module shown above.
The Lambda and related resources were created just fine, but the Terraform run ended with the "ignore_changes" warning.

### Environment

Versions:
* Terraform v1.5.6
* module cloudposse/lambda-function/aws 0.5.1
* provider registry.terraform.io/hashicorp/aws v5.19.0
* provider registry.terraform.io/hashicorp/time v0.9.1

### Additional Context

Root cause and the reason for the `lifecycle` block in the first place: https://github.com/hashicorp/terraform-provider-aws/issues/29085

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。