Cheat SheetsTerraform Associate
HashiCorpAsociado

Terraform Associate Cheat Sheet

HashiCorp Certified: Terraform Associate — Referencia rápida para el examen

Comandos CLI

42
TOP= podría aparecer en el examen
Inicialización5 cmds
terraform initTOP

Inicializa el directorio: descarga providers y módulos

terraform init -upgrade

Actualiza providers al último que cumpla constraints

terraform init -backend=false

Solo descarga módulos, sin configurar backend

terraform init -reconfigure

Fuerza reconfiguración de backend

terraform init -migrate-stateTOP

Migra state al nuevo backend configurado

Comparativas

5
ComandoDesde versiónEstadoCuándo usarlo
terraform taint resource.addr≤v0.15.2DeprecadoNo usar en código nuevo
terraform apply -replace=resource.addrv0.15.2+RecomendadoForzar recreación de recurso específico

Referencia Rápida

36

Conceptos IaC

DeclarativoTOP

Terraform es declarativo: describes el estado deseado, no los pasos

IdempotenteTOP

Aplicar el mismo config múltiples veces = mismo resultado

ProviderTOP

Plugin que traduce HCL a llamadas API del proveedor cloud

Resource

Unidad de infraestructura gestionada (aws_instance, azurerm_vm...)

Data sourceTOP

Lee datos de infraestructura existente sin crearla

Module

Conjunto reutilizable de recursos (carpeta con .tf files)

Output

Valor exportado del state, accesible por módulos padre o usuario

Variable

Parámetro de entrada que permite reutilizar configuraciones

Ciclo de vida del state

State fileTOP

terraform.tfstate — mapea recursos HCL ↔ recursos reales

Editar state

Nunca editar manualmente el state; usar terraform state commands

Remote stateTOP

Habilita colaboración en equipo y locking

State lockingTOP

Previene corruption cuando múltiples usuarios aplican simultáneamente

Backup

terraform.tfstate.backup: copia automática del estado anterior

sensitive=trueTOP

Oculta valor en logs pero SÍ persiste en state

ephemeral=trueTOP

(v1.10+): valor NUNCA persiste en state ni en plan

Providers y Registry

Terraform Registry

registry.terraform.io — fuente pública de providers y módulos

required_providers

Declara qué providers necesita el proyecto con version constraints

Version constraint ~>TOP

~> 5.0 acepta 5.x pero no 6.0

.terraform.lock.hclTOP

Fija versiones exactas de providers, debe estar en git

init -upgrade

Actualiza providers respetando constraints

Módulos

Módulo raízTOP

Directorio donde se ejecuta terraform

Módulo hijo

Referenciado con bloque module {} desde el raíz o otro módulo

FuentesTOP

Local path, Terraform Registry, GitHub, S3, GCS

terraform get

Descarga módulos sin inicializar providers

count y for_eachTOP

Permiten crear múltiples instancias de un recurso/módulo

HCP Terraform (antes Terraform Cloud)

HCP Terraform

Remote backend oficial de HashiCorp para state management y ejecución

Workspaces HCP

Entornos aislados con su propio state

SentinelTOP

Framework de policy-as-code integrado con HCP Terraform

Remote executionTOP

Los plans/applies corren en la nube de HCP

Private Registry

Registro privado de módulos dentro de la organización

Exam tips

terraform taintTOP

DEPRECADO desde v0.15.2 → usar -replace

terraform refreshTOP

DEPRECADO desde v1.6 → usar plan -refresh-only

terraform fmt

Opinionated: siempre produce el mismo resultado

.tfvars en módulos

Los archivos .tfvars no se cargan en módulos hijos, solo en el raíz

for_each vs countTOP

for_each requiere set o map; count requiere número

depends_on

Crea dependencia explícita; Terraform resuelve dependencias implícitas automáticamente

Volver arriba