AD

¿Ya dominas lo básico? Un curso estructurado de Terraform es la vía rápida para dar el salto.

Ver cursos de Terraform en Udemy

Enlace de afiliado. No te cuesta nada extra.

Lección 33 / 37

¿Qué son for_each y count?

En esta lección crearás varios recursos parecidos sin repetir el bloque.

count crea un número de copias; for_each crea una por cada elemento de un mapa o un conjunto. terraform plan muestra el resultado.

La diferencia entre los dos parece de estilo y es de las que más disgustos evita conocer. Con count, los recursos se identifican por su posición: [0], [1], [2]. Con for_each, por su clave: ["web"], ["api"].

La consecuencia es esta: si eliminas el elemento del medio de una lista usada con count, todo lo que venga después se desplaza una posición, y Terraform destruye y recrea cada uno de ellos. Con for_each, quitar una clave afecta solo a ese recurso.

Por eso la recomendación general es usar for_each salvo que la posición sea realmente lo que importa. count sigue teniendo un uso muy natural: crear un recurso condicionalmente, con count = var.activado ? 1 : 0.

Una restricción que conviene conocer: las claves de for_each deben poder calcularse antes del apply. Usar un valor que solo se conoce después produce un error que desconcierta.

Terraform
Pruébalo (escríbelo en la terminal simulada)
terraform plan

🧑‍💻 Puedes escribir este comando en la terminal simulada de Terraform para probarlo tú mismo (esta página no incluye terminal interactiva).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)