Cómo usar eficazmente los bucles en Terraform
(insight.infograb.net)- Al construir infraestructura en la nube, conviene usar herramientas de IaC en lugar de hacerlo desde la consola web, considerando ahorro de costos, mayor velocidad de despliegue, consistencia, estabilidad y reutilización
- Terraform es de código abierto y es la herramienta de IaC más utilizada
- Para escribir código de Terraform de forma eficiente y efectiva, es importante usar adecuadamente las funciones que ofrece Terraform
- Bucles en Terraform
- Los lenguajes declarativos en general no tienen bucles, pero Terraform permite usarlos mediante diversas funciones
- Bucles más usados:
count,for_each- Parámetro
count: repite recursos y módulos - Expresión
for_each: repite recursos, bloques inline dentro de recursos y módulos
- Parámetro
- Cómo usar cada bucle
count: útil cuando los recursos que se van a crear son casi idénticos y no cambian, ya que permite crearlos de forma rápida y concisafor_each: útil para recursos con nombres únicos, con datos propios o que no deberían recrearse, ya que permite crearlos y modificarlos de forma segura
- Count
- El parámetro
countacepta enteros y repite recursos completos y módulos - Si se configura con
count, se puede usarcount.indexpara acceder al índice generado porcount - Limitaciones de Count
countrepite el recurso completo, pero no los bloques inline dentro del recurso- Si se elimina un valor intermedio entre recursos creados con
count, todos los valores posteriores se eliminan y se vuelven a crear. El resultado final será el mismo, pero puede causar problemas si se trata de recursos que no deberían recrearse
- El parámetro
- For_each
- La expresión
for_eachrepitelist,setymappara crear recursos completos, bloques inline dentro de recursos y módulos - Si se configura con
for_each, se puede usareach.keyyeach.valuepara acceder a la clave y al valor correspondientes - Al usar
for_eachen recursos, las listas no están permitidas - En
collectionse define elsetomapa iterar, y enConfigse usaeach.valuepara obtener las claves y valores definidos enCollection
- La expresión
Aún no hay comentarios.