Como usar loops do Terraform de forma eficaz
(insight.infograb.net)- 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
- Parâmetro
- 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 concisafor_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
countaceita inteiros e cria repetições de recursos e módulos inteiros - Ao configurar com
count, é possível usarcount.indexpara acessar o índice gerado pelocount - Restrições do Count
countrepete o recurso inteiro, mas não repete blocos inline dentro do recurso- Se um valor intermediário entre os recursos criados com
countfor 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
- O parâmetro
- For_each
- A expressão
for_eachrepetelist,setemap, criando repetições de recursos inteiros, blocos inline dentro de recursos e módulos - Ao configurar com
for_each, é possível usareach.keyeeach.valuepara acessar a chave e o valor correspondentes - Ao usar
for_eachem recursos, listas não são suportadas - Na collection, define-se o
setoumapa ser iterado, e na config é possível usareach.valuepara obter as chaves e os valores definidos na collection
- A expressão
Ainda não há comentários.