Capítulo 5. Consejos y trucos de Terraform: Bucles, sentencias if, Implementación y trucos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Terraform es un lenguaje declarativo. Como ya se comentó en el Capítulo 1, el IaC en un lenguaje declarativo tiende a proporcionar una visión más precisa de lo que realmente se implementa que un lenguaje procedimental, por lo que es más fácil razonar sobre él y facilita que la base de código sea pequeña. Sin embargo, ciertos tipos de tareas son más difíciles en un lenguaje declarativo.
Por ejemplo, como los lenguajes declarativos no suelen tener bucles for, ¿cómo repites una parte de la lógica -como crear varios recursos similares- sin copiar y pegar? Y si el lenguaje declarativo no admite sentencias if, ¿cómo puedes configurar condicionalmente los recursos, como crear un módulo Terraform que pueda crear determinados recursos para algunos usuarios de ese módulo, pero no para otros? Por último, ¿cómo expresar una idea inherentemente procedimental, como una implementación sin tiempo de inactividad, en un lenguaje declarativo?
Afortunadamente, Terraform proporciona unas cuantas primitivas -a saber, el metaparámetro count
, las expresiones for_each
y for
, un operador ternario, un bloque de ciclo de vida llamado create_before_destroy
, y un gran número de funciones- que te permiten hacer ciertos tipos de bucles, declaraciones if e implementaciones de tiempo de inactividad cero. Estos ...
Get Terraform: Up and Running, 3ª Edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.