DEV Community

Ana Carolina Manzan
Ana Carolina Manzan

Posted on

2

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 👋

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay