Por exemplo, idiomas declarativos específicos não suportam o fluxo de controle, como loops. Portanto, quando você precisar criar um pedaço de código repetidamente, você terá que padrão copiar e colar. Este não é um método muito eficiente para nenhum desenvolvedor.
Terraform entende isso e fornece alguns recursos que ajudam com recursos, como condicionais e loops. Neste artigo, você aprenderá a usar a contagem, for_each e para expressões em Terraform.
O básico
Terraform fornece três estruturas principais ao trabalhar com loops. Esses incluem:
Vamos entender como usar cada uma dessas construções de loop.
Parâmetro da contagem
O bloco de recursos em Terraform define e gerencia principalmente um único objeto na nuvem. No entanto, pode ser necessário criar ou gerenciar vários objetos sem criar cada bloco para cada objeto. Fazer isso remove o código repetitivo, facilitando a leitura e operação.
Uma maneira de realizar isso é o uso do meta-argumento da contagem. Se você definir um bloco de recursos que inclua o parâmetro de contagem com o valor como um número inteiro, a Terraform executará as ações no número especificado de recursos.
Uso básico
O parâmetro da contagem, também conhecido como meta-argumento, pode ser usado nos blocos de recursos ou módulos.
Ele aceita um número inteiro ou todo e executará as ações especificadas nas muitas instâncias selecionadas. Por exemplo, se você definir a contagem para 5 em um bloco de recursos que cria baldes S3, a Terraform criará cinco instâncias de balde S3 S3.
No entanto, a Terraform criará um objeto de infraestrutura exclusivo para cada item. Portanto, cada item recebe operações de CRUD separadamente.
O exemplo a seguir mostra como usar o parâmetro de contagem em Terraform:
TerraformO código de exemplo acima cria três instâncias da AWS do tipo T1.micro. Também usamos o método de contagem para criar tags com o número de instâncias.
O atributo de índice permite modificar a configuração para cada item. O índice de contagem é um valor distinto que descreve cada instância começando em 0.
Ao contrário da maioria dos meta-argumentos do Terraform, o valor do parâmetro da contagem deve ser conhecido de antemão.
Parâmetro for_each
O parâmetro for_each é intimamente semelhante ao argumento da contagem. Você pode usá -lo com um recurso e um bloco de módulo.
Uso básico
O parâmetro for_each aceita um conjunto de strings ou um mapa. Em seguida, ele cria uma instância específica para cada item da coleção. Semelhante à contagem, cada item possui um ID de infraestrutura de objeto exclusivo, permitindo que a Terraform execute operações CRUD individualmente em um objeto específico.
O snippet a seguir mostra como usar o item for_each para criar vários usuários:
Recurso "AWS_IAM_USER" "Web-managers"O exemplo anterior mostra como usar o for_each com um conjunto de strings. Para usar um mapa, considere o código mostrado abaixo:
for_each =Para parâmetro
O parâmetro for loop não é muito diferente da operação para a maioria das linguagens de programação. Ele permite que você pague uma lista de itens.
Por exemplo, suponha que você tenha uma lista de usuários e deseja converter os nomes de usuário em maiúsculas. Como caso, você pode usar um loop para o loop:
nomes de usuário = tolista (["nome de usuário1", "nome de usuário2", nome de usuário3])O código anterior expande os itens na lista e converte cada um em maiúsculas. Saiba mais sobre o Terraform para expressões na documentação.
Conclusão
Este guia oferece o básico das operações de loop de execução em Terraform usando a contagem, for_each e para expressões. Esperamos que você tenha encontrado os exemplos usando os três parâmetros úteis. Confira o Linux Dint para obter mais dicas e informações.