14 de julho de 2020 • 1 min de leitura
Terraform CLI Cheat Sheet
Alguns comandos e definições
O Terraform possui uma interface por linha de comando bastante poderosa e bem intuitiva, abordaremos dessa forma alguns comandos interessantes e que trará produtividade.
1. Formatação
O Terraform possui o comando terraform fmt
para garantir que os seus arquivos .tf
vão estar sempre bem formatados, é possível a partir dai aplicar os ajustes indicados ou liberar apenas de forma visual:
terraform fmt -recursive -diff
terraform fmt -check -recursive -diff
2. Validação
O comando terraform validade
valida os arquivos de configuração em um diretório, referindo-se apenas à configuração e não acessando nenhum serviço remoto, como estado remoto, APIs do provedor etc. Para isso é necessário desativar o nosso backend:
terraform init -backend=false
terraform validate -json
Se tudo estiver correto, será retornado algo semelhante a o trecho abaixo:
{
"valid": true,
"error_count": 0,
"warning_count": 0,
"diagnostics": []
}
3. Workspace
O comando terraform workspace
permite o trabalho em diferentes áreas de trabalho, abrindo a possibilidade de trabalho em ambientes de testes ou produção.
- Criar workspace
terraform workspace new dev
- Selecionar workspace
terraform workspace select dev
- Listar workspace
terraform workspace list
Um exemplo seria a criação de instâncias em regiões diferentes caso o workspace não seja o desejado:
provider "aws" {
region = terraform.workspace == "production" ? "us-east-1" : "us-east-2"
shared_credentials_file = "/home/thiago/.aws/credentials"
profile = "default"
}
4. Graph
Quando se tem um projeto finalizado é possível criar um grafo de todo o fluxo do projeto:
terraform graph | dot –Tpng > graph.png
5. Autocomplete
É possível também habilitar a opção de autocomplete, pra quem vem do linux é uma mão na roda para evitar repetição de escrita, apenas apertando Tab
, para habilitar basta rodar o comando de instalação:
terraform -install-autocomplete
Espero que gostem, esses são apenas alguns dos comandos e possibilidades para utilizar juntamente ao Terraform, até a próxima!