main.tf
é uma boa ideia quando você está começando ou escrevendo um código de exemplo. Em todos os outros casos, será melhor ter vários arquivos divididos logicamente assim:main.tf
- chame módulos, locais e fontes de dados para criar todos os recursos.variables.tf
- contém declarações de variáveis utilizadas em main.tf.
outputs.tf
- contém saídas dos recursos criados em main.tf.
versions.tf
- contém requisitos de versão para Terraform e provedores.terraform plan
e terraform apply
fazem chamada API na nuvem para verificar o status dos recursos.tfstate
no git é um pesadelo.terraform_remote_state
especificamente como uma cola entre os módulos de infraestrutura na composição.