Come usare Ansible with_item

Come usare Ansible with_item
Il plug -in ANSible Elems è un plug -in di ricerca utilizzato per restituire l'elenco degli elementi forniti con ricorso. Un plug -in di ricerca consente di accedere ai dati dalle risorse esterne. I dati forniti nei plug -in di ricerca sono accessibili tramite modelli Jinja2 che consente di caricare variabili, modelli e altro ancora. Questa guida dà un'occhiata al plug -in With_Items.

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.