Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

216
Visualizações
Error del proveedor de Terraform AWS: valor para el atributo no configurable. No se puede configurar un valor para "acl": su valor se decidirá automáticamente

Justo hoy, cada vez que ejecuto terraform apply , veo un error como este: Can't configure a value for "lifecycle_rule": its value will be decided automatically based on the result of applying this configuration.

Ayer estaba funcionando.

El siguiente es el comando que ejecuto: terraform init && terraform apply

La siguiente es la lista de complementos de proveedores inicializados:

 - Finding latest version of hashicorp/archive... - Finding latest version of hashicorp/aws... - Finding latest version of hashicorp/null... - Installing hashicorp/null v3.1.0... - Installed hashicorp/null v3.1.0 (signed by HashiCorp) - Installing hashicorp/archive v2.2.0... - Installed hashicorp/archive v2.2.0 (signed by HashiCorp) - Installing hashicorp/aws v4.0.0... - Installed hashicorp/aws v4.0.0 (signed by HashiCorp)

Los siguientes son los errores:

 Acquiring state lock. This may take a few moments... Releasing state lock. This may take a few moments... ╷ │ Error: Value for unconfigurable attribute │ │ with module.ssm-parameter-store-backup.aws_s3_bucket.this, │ on .terraform/modules/ssm-parameter-store-backup/s3_backup.tf line 1, in resource "aws_s3_bucket" "this": │ 1: resource "aws_s3_bucket" "this" { │ │ Can't configure a value for "lifecycle_rule": its value will be decided │ automatically based on the result of applying this configuration. ╵ ╷ │ Error: Value for unconfigurable attribute │ │ with module.ssm-parameter-store-backup.aws_s3_bucket.this, │ on .terraform/modules/ssm-parameter-store-backup/s3_backup.tf line 1, in resource "aws_s3_bucket" "this": │ 1: resource "aws_s3_bucket" "this" { │ │ Can't configure a value for "server_side_encryption_configuration": its │ value will be decided automatically based on the result of applying this │ configuration. ╵ ╷ │ Error: Value for unconfigurable attribute │ │ with module.ssm-parameter-store-backup.aws_s3_bucket.this, │ on .terraform/modules/ssm-parameter-store-backup/s3_backup.tf line 3, in resource "aws_s3_bucket" "this": │ 3: acl = "private" │ │ Can't configure a value for "acl": its value will be decided automatically │ based on the result of applying this configuration. ╵ ERRO[0012] 1 error occurred: * exit status 1

Mi código es el siguiente:

 resource "aws_s3_bucket" "this" { bucket = "${var.project}-${var.environment}-ssm-parameter-store-backups-bucket" acl = "private" server_side_encryption_configuration { rule { apply_server_side_encryption_by_default { kms_master_key_id = data.aws_kms_key.s3.arn sse_algorithm = "aws:kms" } } } lifecycle_rule { id = "backups" enabled = true prefix = "backups/" transition { days = 90 storage_class = "GLACIER_IR" } transition { days = 180 storage_class = "DEEP_ARCHIVE" } expiration { days = 365 } } tags = { Name = "${var.project}-${var.environment}-ssm-parameter-store-backups-bucket" Environment = var.environment } }
over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

Terraform AWS Provider se actualizó a la versión 4.0.0, que se publicó el 10 de febrero de 2022.

Los principales cambios en el lanzamiento incluyen:

  • La versión 4.0.0 del proveedor de AWS introduce cambios significativos en el recurso aws_s3_bucket.
  • La versión 4.0.0 del proveedor de AWS será la última versión principal compatible con los recursos de EC2-Classic, ya que AWS planea retirar por completo EC2-Classic Networking. Consulte el blog de noticias de AWS para obtener detalles adicionales.
  • Las versiones 4.0.0 y 4.xx del proveedor de AWS serán las últimas versiones compatibles con Terraform 0.12-0.15.

El motivo de este cambio de Terraform es el siguiente: para ayudar a distribuir la administración de la configuración del depósito S3 a través de recursos independientes, varios argumentos y atributos en el recurso aws_s3_bucket son de solo lectura. Las configuraciones que dependen de estos argumentos deben actualizarse para usar el recurso aws_s3_bucket_* correspondiente. Una vez actualizados, new aws_s3_bucket_* deben importarse al estado de Terraform.

Por lo tanto, actualicé mi código en consecuencia siguiendo la guía aquí: Guía de actualización de Terraform AWS Provider Version 4 | Refactorización de depósito S3

El nuevo código de trabajo se ve así:

 resource "aws_s3_bucket" "this" { bucket = "${var.project}-${var.environment}-ssm-parameter-store-backups-bucket" tags = { Name = "${var.project}-${var.environment}-ssm-parameter-store-backups-bucket" Environment = var.environment } } resource "aws_s3_bucket_acl" "this" { bucket = aws_s3_bucket.this.id acl = "private" } resource "aws_s3_bucket_server_side_encryption_configuration" "this" { bucket = aws_s3_bucket.this.id rule { apply_server_side_encryption_by_default { kms_master_key_id = data.aws_kms_key.s3.arn sse_algorithm = "aws:kms" } } } resource "aws_s3_bucket_lifecycle_configuration" "this" { bucket = aws_s3_bucket.this.id rule { id = "backups" status = "Enabled" filter { prefix = "backups/" } transition { days = 90 storage_class = "GLACIER_IR" } transition { days = 180 storage_class = "DEEP_ARCHIVE" } expiration { days = 365 } } }

Si no desea actualizar su versión de Terraform AWS Provider a 4.0.0, puede usar la versión existente o anterior especificándola explícitamente en el código como se muestra a continuación:

 terraform { required_version = "~> 1.0.11" required_providers { aws = "~> 3.73.0" } }
over 4 years ago · Santiago Trujillo Relatório

0

Está roto porque Terraform AWS Provider se actualizó a la versión 4.0.0.

Si no puede actualizar su versión, tal vez podría bloquear la versión de su proveedor de AWS de esta manera:

 terraform { required_version = "~> 0.12.31" required_providers { aws = "~> 3.74.1" } }
over 4 years ago · Santiago Trujillo Relatório

0

Para usuarios de Terragrunt / Terraform

Como han mencionado otros, el proveedor de AWS se actualizó a 4.0. Los cambios importantes se describen aquí (bajo la etiqueta git 4.0) : GitHub | terraform-proveedor-aws | v4.0.0

Tenga en cuenta los cambios importantes en s3. Encontré 39 referencias de aws_s3_bucket en la página. La realidad es que algunos de nosotros no tenemos tiempo para abordar todos los cambios importantes de nuestros proyectos actuales. He encontrado que la versión 3.74.1 es bastante efectiva .

Para restringir todos sus proyectos de Terraform que están configurados con Terragrunt, dentro del archivo raíz terragrunt.hcl de su repositorio de terragrunt, puede especificar lo siguiente:

 generate "versions" { path = "versions_override.tf" if_exists = "overwrite_terragrunt" contents = <<EOF terraform { required_providers { aws = { version = "= 3.74.1" source = "hashicorp/aws" } } } EOF }

En efecto, Terragrunt generará un archivo de configuración terraform versions_override.tf que definirá la versión explícita de 3.74.1 .

over 4 years ago · Santiago Trujillo Relatório

0

Solución rápida: mantenga su proyecto en la versión 3 hasta que esté listo para pasar a la versión 4 siguiendo la guía de actualización proporcionada por Terraform aquí: Guía de actualización de Terraform AWS Provider Version 4 .

Para hacerlo, congela tu proveedor como se muestra a continuación:

 terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 3.74.2" } consul = { source = "hashicorp/consul" } } required_version = ">= 0.13" }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda