DEV Community

Ana Carolina Manzan
Ana Carolina Manzan

Posted on

Potencialize o desenvolvimento da sua IaC com terraform console

Olá dev!

Se você é usuário do Terraform, provavelmente já utilizou as funções built-in da ferramenta, como por exemplo concat, map e format.

Enquanto utilizava alguma delas, você já se perguntou qual seria o resultado da função ou até mesmo gostaria de testá-la antes de incorporá-la ao seu código? Se sim, hoje estou aqui para te mostrar como você pode testar essas funções de maneira prática usando o próprio CLI do Terraform!

O comando terraform console

É através do comando terraform console, que, nos fornecendo um console interativo, poderemos testar as funções.

Para começar, inicie seu terminal e digite terraform console e pressione enter. Após executar o comando, o prompt do console será imediatamente disponibilizado. Começaremos testando a função max(8,5,42,12) com uma lista de valores como no exemplo abaixo:

Image description

Neste simples teste, validamos que utilizando a função max com o input 8, 5, 42, 12 obteremos o resultado 42, o maior número presente nesta lista.

Em outro cenário, com a função split(“,”, “Testing,terraform,functions”) teremos o nosso texto dividido a cada vírgula, e transformado em uma lista de palavras, como na imagem abaixo:

Image description

Em resumo: além do output, o terraform console também nos informa qual o formato do mesmo, como podemos ver acima com a lista representada pelo tolist([...]).

Interação com arquivos

Mais do que apenas testar funções, ainda podemos utilizar o terraform console para interagir com arquivos Terraform.

Para exemplificar, criei um arquivo variables.tf no diretório onde estou realizando os testes, e nele incluí a declaração de uma variável chamada cidr, como na imagem a seguir:

Image description

Na variável configurei o valor padrão de 10.1.0.0/16, pois com ela quero calcular endereços de sub-rede; Para calcular esses endereços, vou utilizar a função cidrsubnet.

Quero aproveitar e trazer junto ao exemplo uma forma diferente de utilizarmos o terraform console. Para isso, vou utilizá-lo adicionando um pipe após a chamada da função desejada:

echo '[for i in range(1, 5) : cidrsubnet(var.cidr, 8, i)]' | terraform console

E ao executar o código acima, obteremos o resultado como no exemplo abaixo:

Image description

Conclusão

O terraform console pode se transformar em uma ferramenta valiosa em nosso dia-a-dia, à medida em que nossa infraestrutura cresce. Ele é um poderoso aliado quando precisamos garantir que o código que estamos desenvolvendo produzirá os resultados que esperamos.

Espero que o conteúdo tenha te ajudado, e se você gostou do post deixe o seu comentário ou venha bater um papo comigo no LinkedIn.

Até mais 👋

Top comments (0)