Como usar Ansible com_item

Como usar Ansible com_item
O plug -in Ansible Itens é um plug -in de pesquisa usado para retornar a lista de itens fornecidos a ele com recurso. Um plug -in de pesquisa permite acessar os dados de recursos externos. Os dados fornecidos nos plug -ins de pesquisa são acessados ​​por meio de modelos Jinja2, permitindo que você carregue variáveis, modelos e mais. Este guia dá uma olhada no plugin with_items.

O que é Ansible com_items?

O Ansible With_items é um plug -in útil para executar operações de loop em um manual. O plug -in aceita itens e depois os passa para o módulo de chamada. Por exemplo, você pode passar uma lista de pacotes para instalar e depois fornecer cada item da lista para a tarefa de instalação.

Nota: Se um item tiver uma lista aninhada, Ansible o achatará, mas não a recursão.

Para usar os plug -ins do with_items, use a palavra -chave with_items em um manual e passe uma lista de itens sob ele. Você pode ligar para cada item dentro da lista especificada e executar as operações necessárias.

Uso básico

O exemplo a seguir ilustra a sintaxe para o plug -in do with_items:

---
- Hosts: todos
Nome: com sintaxe de itens
depurar:
msg: "Este é o item item"
with_items:
- "a"
- "B"
- "C"

O exemplo acima mostra uma lista simples usando o plugin with_items.

Se você quiser ter uma lista aninhada, pode fazer:

---
- Hosts: todos
Nome: Lista aninhada
depurar:
msg: "Bancos de dados item"
with_items:
- ["MySQL", "PostGresql"] - "SQL"
- ["MongoDB", "DocumentDB", "Firestore"] - "Nosql"

Você também pode ter uma lista com variáveis, conforme mostrado no manual de exemplo abaixo:

---
- Hosts: todos
Nome: Lista aninhada
var1: "item.var1 "
var2: "item.var2 "
with_items:
- var1: Exemplo1, var2: Exemplo2
- var1: Exemplo3, var2: Exemplo4

Ansible With_Items Exemplos

Os exemplos a seguir ilustram como você pode usar o módulo Ansible With_items.

---
- Hosts: todos
tornar verdade
Gather_facts: Não
tarefas:
- Nome: Crie usuários
do utilizador:
Nome: "item"
Grupos: teste
Estado: presente
with_items:
- usuário1
- usuário2

O manual acima usa com_items para criar vários usuários.

---
- Hosts: todos
tornar verdade
Gather_facts: Não
tarefas:
- Nome: Instale pacotes
APT:
Nome: "item"
Estado: presente
with_items:
- Apache2
- ufw
- mysql

No exemplo acima, usamos o with_items para dar um loop sobre os itens e passá -los para o instalador do pacote APT.

---
- Hosts: todos
tornar verdade
Gather_facts: Não
tarefas:
- Nome: Crie arquivos
arquivo:
caminho: "~/item.nome"
Estado: toque
modo: "item.perm "
with_items:
- Nome: File1, Perm: "0777"
- Nome: File2, Perm: "0644"

No manual de exemplo acima, criamos uma lista de arquivos e suas respectivas permissões usando o plugin with_items.

Conclusão

Este guia discutiu como o plug -in Ansible With_items funciona e como fazer um loop sobre uma lista de itens.