Hvordan bruke Ansible with_item

Hvordan bruke Ansible with_item
Ansible Items -plugin er et oppslagsplugin som brukes til å returnere listen over elementer som er gitt med gjenvinning. Et oppslagsplugin gir deg tilgang til dataene fra ressursene utenfor. Data levert i det ved oppslagsplugins får tilgang til via Jinja2 -maler slik at du kan laste inn variabler, maler og mer. Denne guiden tar en titt på med_items -plugin.

Hva er Ansible With_items?

Ansibelen med_items er en hendig plugin for å utføre sløyfeoperasjoner i en spillbok. Pluginen godtar elementer og sender dem deretter til anropsmodulen. Du kan for eksempel passere en liste over pakker for å installere og deretter gi hvert element i listen til installasjonsoppgaven.

Merk: Hvis et element har en nestet liste, vil Ansible flate den ut, men ikke rekursjon.

For å bruke plugins med_items, bruk nøkkelordet med_items i en spillbok og pass en liste over elementer under den. Du kan deretter ringe hvert element i den spesifiserte listen og utføre de nødvendige operasjonene.

Grunnleggende bruk

Følgende eksempel illustrerer syntaks for med_items -plugin:

---
- Verter: Alle
Navn: Med syntaks for elementer
Debug:
MSG: "Dette er element item"
med_items:
- "en"
- "B"
- "C"

Eksemplet ovenfor viser en enkel liste ved hjelp av med_items -plugin.

Hvis du vil ha en nestet liste, kan du gjøre:

---
- Verter: Alle
Navn: Nestet liste
Debug:
MSG: "Databaser item"
med_items:
- ["MySQL", "PostgreSql"] - "SQL"
- ["MongoDB", "DocumentDB", "Firestore"] - "NoSQL"

Du kan også ha en liste med variabler i den, som vist i eksemplet Playbook nedenfor:

---
- Verter: Alle
Navn: Nestet liste
var1: "element.var1 "
var2: "element.var2 "
med_items:
- var1: Eksempel1, var2: Eksempel2
- var1: Eksempel3, var2: Eksempel4

Ansible With_items eksempler

Følgende eksempler illustrerer hvordan du kan bruke Ansible With_items -modulen.

---
- Verter: Alle
bli: sant
Samle_facts: Nei
oppgaver:
- Navn: Opprett brukere
bruker:
Navn: "item"
Grupper: Test
Stat: Nåværende
med_items:
- Bruker1
- Bruker2

Playbook ovenfor bruker med_items for å lage flere brukere.

---
- Verter: Alle
bli: sant
Samle_facts: Nei
oppgaver:
- Navn: Installer pakker
apt:
Navn: "item"
Stat: Nåværende
med_items:
- Apache2
- ufw
- mysql

I eksemplet over bruker vi med_itemene for å sløyfe over varene og gi dem til APT -pakkeninstallatøren.

---
- Verter: Alle
bli: sant
Samle_facts: Nei
oppgaver:
- Navn: Lag filer
fil:
Sti: "~/element.Navn"
Stat: berøring
modus: "element.perm "
med_items:
- Navn: File1, Perm: "0777"
- Navn: File2, Perm: "0644"

I eksemplet playbook ovenfor oppretter vi en liste over filer og deres respektive tillatelser ved hjelp av med_items -plugin.

Konklusjon

Denne guiden diskuterte hvordan ANSIBLE With_ITEMS -plugin fungerer og hvordan du sløyfe over en liste over elementer.