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 7 / 37

¿Qué es un bloque resource?

En esta lección verás cómo se declara algo que quieres que exista.

Un bloque resource describe un elemento de infraestructura. Se escribe con el tipo y un nombre local — resource "aws_instance" "web" { ... } — y dentro van sus atributos. terraform validate comprueba que está bien escrito.

El tipo lo define el proveedor y empieza siempre por su nombre, así que aws_instance se lee como «una instancia de AWS». El segundo nombre lo eliges tú y solo existe dentro de la configuración: es la etiqueta con la que otros bloques se refieren a este.

Esa referencia es lo que hace funcionar todo lo demás. Escribir aws_instance.web.id en otro bloque crea automáticamente una dependencia, y Terraform deduce por sí solo el orden de creación. Rara vez hay que indicarlo a mano.

Conviene tener claro qué significa el nombre local, porque de ahí sale un error caro: cambiarlo hace que Terraform crea que el recurso antiguo debe destruirse y crearse otro nuevo. En una base de datos, eso es una pérdida de datos por un renombrado. Para eso existe terraform state mv, que renombra en el estado sin tocar nada real.

El lenguaje se llama HCL y está pensado para leerse, no solo para ejecutarse.

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

🧑‍💻 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)