Conceito e mecanismo
Terraform descreve um estado pretendido através de recursos, argumentos e referências. Um provider traduz operações para a API do sistema gerido. A posição de um bloco num ficheiro não constitui uma sequência operacional: a ordem resulta das dependências identificadas. Quando um recurso usa um atributo de outro, essa referência comunica a relação necessária. Um depends_on explícito serve dependências relevantes que não ficam visíveis pelos dados utilizados. Aplicá-lo a módulos inteiros por conveniência pode tornar o plano mais conservador e produzir valores desconhecidos adicionais. Mantém cada relação suficientemente precisa para que a equipa compreenda o motivo da espera e consiga distinguir dependência técnica de uma preferência de apresentação.
Aplicação guiada
Num exemplo fictício de infraestrutura bancária, a aplicação precisa do identificador da rede provisionada. Referenciar esse output é mais claro do que ordenar ficheiros como 01-rede e 02-aplicacao e esperar que os nomes imponham sequência. Antes de planear, confirma diretório, versões, providers, destino e valores de entrada. init prepara dependências e backend; validate verifica consistência da configuração, sem comprovar acesso às APIs remotas. O ficheiro .terraform.lock.hcl regista seleções de providers e deve ser revisto com o código. Uma constraint define versões admissíveis; não é a mesma coisa que a versão selecionada. Atualizar dependências é uma alteração com impacto próprio, mesmo quando o código dos recursos parece igual.
Um output de rede liga dois módulos; o nome do ficheiro não substitui essa referência.
Armadilhas comuns
Ordem alfabética como execução; depends_on global; validate como prova de acesso cloud.
Tópicos relacionados: Planos e validação · State e colaboração · Módulos e identidade
Torna explícitos os dados, dependências e versões que sustentam o plano.
Referência: Declarative configuration and dependencies · Terraform v1.16 concepts; official documentation consulted 2026-09-30; provider and backend capabilities must be confirmed