cloudposse / cloudposse/terraform-aws-lambda-function

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

Abierto
#43 2 comentarios 4 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
HCL
Estrellas
36
Forks
44
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.