cloudposse / cloudposse/terraform-aws-lambda-function

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

Đang mở
#43 2 bình luận 4 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
HCL
Star
36
Fork
44
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.