Conceito e mecanismo
Um módulo agrupa configuração atrás de uma interface. O root passa valores para variáveis declaradas pelo child module; nomes iguais não criam herança automática. Outputs publicados permitem ao chamador consumir resultados sem conhecer toda a implementação. source identifica onde obter o módulo. Para fontes de registry, version limita versões; fontes Git usam mecanismos de referência próprios. O lock de providers não fixa versões dos módulos remotos. Reutilização reduz repetição, mas também distribui uma mudança incorreta por muitos consumidores se a atualização não for controlada.
Aplicação guiada
Ao criar um módulo de ambiente de aplicação, expõe apenas decisões que os consumidores precisam de tomar: dimensão, classificação e destinos de integração, por exemplo. Documenta defaults e outputs. Numa atualização, compara a interface anterior com a nova e revê o plano de um consumidor representativo. Uma versão aparentemente pequena pode alterar defaults e provocar substituições. Mantém uma referência recuperável à versão anterior, sabendo que voltar ao código antigo não garante reverter efeitos nos dados.
Um módulo partilhado altera a retenção predefinida. Cada consumidor deve avaliar a mudança, em vez de a receber por uma atualização sem revisão.
Armadilhas comuns
Assumir herança de variáveis; depender de detalhes internos; atualizar referências sem rever planos.
Tópicos relacionados: State, locking e drift · Import, inspeção e diagnóstico
Uma boa interface permite reutilização sem esconder o impacto operacional.
Referência: Module reference · 004