Sobes.tech
Middle

Como o Terraform determina em qual arquivo está a informação?

sobes.tech IA

Resposta da IA

O Terraform carrega e processa automaticamente todos os ficheiros com extensões .tf e .tfvars no directório a partir do qual é executado (diretório de trabalho). Não requer especificar explicitamente os ficheiros.

  • Os ficheiros .tf contêm os blocos de configuração principais: recursos, provedores, variáveis, saídas, módulos, etc.
  • Os ficheiros .tfvars contêm definições de valores para variáveis declaradas em ficheiros .tf. Podem também ser utilizados ficheiros com nomes como terraform.tfvars ou um ficheiro com o nome do ambiente e extensão .tfvars (por exemplo, dev.tfvars) para carregamento automático.

O Terraform combina as informações de todos estes ficheiros para construir o gráfico de dependências final e o plano de execução.

Exemplo de estrutura de diretório:

/project
├── main.tf         # Recursos principais
├── variables.tf    # Declaração de variáveis
├── outputs.tf      # Declaração de valores de saída
├── terraform.tfvars # Valores de variáveis para o ambiente padrão
└── modules/
    └── vpc/
        ├── main.tf
        ├── variables.tf
        └── outputs.tf

Neste exemplo, ao executar a partir de /project, o Terraform carregará main.tf, variables.tf e outputs.tf. Os valores de terraform.tfvars serão aplicados às variáveis declaradas em variables.tf. O módulo /modules/vpc será carregado se for chamado em um dos ficheiros de nível superior.

É importante notar que a ordem das declarações dentro de um ficheiro ou entre ficheiros não importa para o Terraform. Ele constrói o gráfico de dependências e executa operações em paralelo, se possível, com base nas ligações entre recursos e outros elementos de configuração.