- Ao criar infraestrutura na nuvem, considerando redução de custos, aumento da velocidade de deploy, consistência, estabilidade e reutilização, é melhor usar ferramentas de IaC em vez de construir pela interface web
- Terraform é open source e a ferramenta de IaC mais usada
- Para escrever código Terraform de forma eficiente e eficaz, é importante usar adequadamente os recursos oferecidos pelo Terraform
- Loops no Terraform
- Linguagens declarativas em geral não têm loops, mas o Terraform oferece várias funções que permitem usá-los
- Loops mais usados:
count, for_each
- Parâmetro
count: repete recursos e módulos
- Expressão
for_each: repete recursos, blocos inline dentro de recursos e módulos
- Como usar cada loop
count: útil quando os recursos a serem criados são quase idênticos e não mudam, permitindo criação rápida e concisa
for_each: útil para recursos com nomes exclusivos, com dados próprios, ou que não devem ser recriados, permitindo criação e alteração com segurança
- Count
- O parâmetro
count aceita inteiros e cria repetições de recursos e módulos inteiros
- Ao configurar com
count, é possível usar count.index para acessar o índice gerado pelo count
- Restrições do Count
count repete o recurso inteiro, mas não repete blocos inline dentro do recurso
- Se um valor intermediário entre os recursos criados com
count for removido, todos os valores posteriores serão apagados e recriados. O resultado final será o mesmo, mas isso pode causar problemas para recursos que não devem ser recriados
- For_each
- A expressão
for_each repete list, set e map, criando repetições de recursos inteiros, blocos inline dentro de recursos e módulos
- Ao configurar com
for_each, é possível usar each.key e each.value para acessar a chave e o valor correspondentes
- Ao usar
for_each em recursos, listas não são suportadas
- Na collection, define-se o
set ou map a ser iterado, e na config é possível usar each.value para obter as chaves e os valores definidos na collection
Ainda não há comentários.