Cosa è Ansible with_items?
Ansible With_Items è un plug -in utile per eseguire operazioni di loop in un playbook. Il plugin accetta gli elementi e quindi li passa al modulo chiamante. Ad esempio, è possibile passare un elenco di pacchetti da installare e quindi dare ogni elemento nell'elenco all'attività di installazione.
Nota: se un articolo ha un elenco nidificato, Ansible lo appiattirà ma non ricorsion.
Per utilizzare i plugin With_Items, utilizzare la parola chiave WILL_ITEMS in un playbook e passare un elenco di elementi sotto di esso. È quindi possibile chiamare ogni elemento all'interno dell'elenco specificato ed eseguire le operazioni richieste.
Uso di base
L'esempio seguente illustra la sintassi per il plug -in With_Items:
---
- Host: tutto
Nome: con la sintassi degli elementi
debug:
MSG: "Questo è elemento item"
with_items:
- "UN"
- "B"
- "C"
L'esempio sopra mostra un semplice elenco usando il plug -in WILL_ITEMS.
Se vuoi avere un elenco nidificato, puoi fare:
---
- Host: tutto
Nome: elenco nidificato
debug:
MSG: "Database item"
with_items:
- ["Mysql", "PostgreSQL"] - "SQL"
- ["MongoDB", "DocumentDB", "FireStore"] - "NoSQL"
Puoi anche avere un elenco con variabili, come mostrato nel playbook di esempio qui sotto:
---
- Host: tutto
Nome: elenco nidificato
var1: "item.var1 "
var2: "item.var2 "
with_items:
- var1: Esempio1, var2: Esempio2
- var1: Esempio3, var2: Esempio4
Ansible with_Items Esempi
I seguenti esempi illustrano come è possibile utilizzare il modulo Ansible With_Items.
---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: crea utenti
utente:
nome: "item"
Gruppi: test
Stato: presente
with_items:
- utente1
- utente2
Il playbook sopra utilizza With_Items per creare più utenti.
---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: installa pacchetti
Apt:
nome: "item"
Stato: presente
with_items:
- Apache2
- ufw
- mysql
Nell'esempio sopra, utilizziamo With_Items per analizzare gli elementi e passarli al programma di installazione del pacchetto APT.
---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: Crea file
file:
Path: "~/item.nome"
Stato: tocco
modalità: "item.perm "
with_items:
- nome: file1, perm: "0777"
- nome: file2, perm: "0644"
Nell'esempio di playbook sopra, creiamo un elenco di file e le loro rispettive autorizzazioni utilizzando il plug -in With_Items.
Conclusione
Questa guida ha discusso di come funziona il plug -in Ansible With_Items e come loop su un elenco di elementi.