Blant de mest effektive og velkjente Python-baserte dokumentene er Jinja2. Siden dette bruker de samme kodingsspråkene som Ansible, er det mest brukt av Ansible -brukere. Dette er en av fordelene for IT -fagfolk på utallige måter. Jinja2 -dokumentet kan bruke de vanlige betingede strukturene. Hver gang en boolsk tilstand som leveres av utvikleren oversettes til enten ekte eller usant, blir distinkte operasjoner eller aktiviteter utført ved betingede uttalelser. Inne. Det grunnleggende strukturelementet som brukes til å vurdere forholdene er "IF" -uttrykket. Når du evaluerer flere forhold, brukes "hvis" -uttrykket ofte under kombinasjon med både "elif" og "else" -kommandoer. Hvis en parameter oppstår og ikke er null eller hvis parameteren har det boolske uttrykket som "sann", oversettes en betinget if-statement med en inngangsparameter til sann. I enklere forklaring brukes "hvis" -uttrykket for å begrense utførelsen av en samling av uttalelser to ganger når en bestemt tilstand er oppfylt.
Syntaks av "hvis" tilstand i jinja2
Til tross for at Jinja2 ikke er et programmeringsspråk, har en liste over setninger som du må bruke for å sette "skriptet" i Ansible Playbook. Disse blir ganske enkelt kollektivt referert til som syntaks, og de er strukturert av en serie grunnleggende prinsipper som lar brukerne kommunisere sine mål til maskinen i de vilkårene som den kan forstå.
Vi starter med å bruke en krøllete åpen stag med en prosentvis indikator. "Hvis" nøkkelord, et reservert ord i jinja2, brukes. Etter å ha skrevet noen forhold eller uttrykk, lukker vi if-statuslinjen igjen med prosentsymbolet og lukker krøllete stag. Da, i neste linje, er "hvis" tilstandens kropp skrevet. Endelig er tilstanden lukket ved å skrive "endif" i IF-Statements åpnings- og lukkekoder. Hvis den spesifiserte tilstanden returnerer sann, blir uttalelsene som er inkludert i "IF" -blokken til koden utført. Hvis tilstanden er falsk, returnerer den falsk.
% if (tilstand) %Forutsetninger for å bruke if-statementet i Jinja2
For raskt å konfigurere Jinja2 if-uttalelse i Ansible, vurderer vi, for denne økten, at vi overholder følgende kriterier:
La oss begynne med en rask øving av Jinja2 if-tatement fra Ansible Playbook.
Eksempel: Implementering av IF-uttalelsen
Nå, ved å bruke IF-uttalelsen av Jinja, som er basert på Python-programmering, lager vi det grunnleggende eksemplet i Ansible. Vi trenger en spillbok for å inkludere alle kommandoene, oppgavene og Jinja2 -betingelsene som vi trenger å implementere i Ansible. Ansible Terminal -kommandoen som vi bruker for å konstruere Playbook vises i følgende:
[root@master ansible]# nano ansible_if.ymlEtter å ha kommet inn i den nevnte kommandoen, en spillbok med ".YML ”utvidelse og“ hvis.yml ”identifikator Ansible produseres og lanseres øyeblikkelig i en ny fane i Ansible Tool -grensesnittet. Nå som den betingede IF-uttalelsen er implementert, la oss begynne å lage de nødvendige kommandoene. For å implementere IF-statementet i den eksterne vertsenheten, spesifiserer vi først Target Remote Host i spillboken. Vi gir den lokale verten gjennom denne situasjonen. Innsamling av informasjon i Ansible -alternativet brukes for å motta dataene om den lokale verten. Så hvis den sanne boolske verdien blir gitt til alternativet, innhenter vi all informasjon som er relevant for den lokale verten. Vi gir imidlertid en falsk boolsk verdi hvis alt som vises i utgangsterminalen er navnet på den eksterne verten og ikke annen informasjon om den lokale verten når spillboken blir utført. Etter å ha gitt relevant informasjon til den lokale verten, definerer vi deretter operasjonene vi liker å utføre i IF-Tatement Playbook.
Først definerer vi oppgaven vi ønsker å sjekke tilgjengeligheten til dokumentet i Ansible. Deretter passerer vi banen til dokumentet og registrerer det. Deretter utfører vi og skriver ut resultatene ved å bruke feilsøkingsalternativet. Deretter bruker vi IF-uttalelsen for å sjekke om filen er tilgjengelig eller ikke. I neste oppgave sjekker vi om “verten.yml ”er tilgjengelig med den nåværende Ansible -kontrolleren eller ikke. Så vi bruker Shell -alternativet for å erklære veien for “verten.YML ”-dokumenter gjennom registervariabelen der vi gir tilgangen til“ verten.YML ”-dokument. Deretter bruker vi IF-uttalelsen for å sjekke "IF" -tilstanden.
- verter:Deretter utfører vi spillboken i Ansible. Vi skriver følgende kommando for å få de ønskede resultatene:
[root@master ansible]# ansible-playbook ansible_if.yml -i vert.ymlSom du ser utføres den betingede IF-staten. I den første oppgaven, "verten.YML ”-dokument eksisterer i Ansible, og vi fikk tilgang til“ Verten.yml ”-fil.
Konklusjon
Vi brukte en av betingelsene til Jinja2 i Ansible, som er if-statement. Vi diskuterte skrivestilen til IF-uttalelsen i Jinja2 og lærte kravene som må konfigureres i kontrollverten og eksterne vertsenheter. Vi implementerte et eksempel på Jinja2 If-uttalelsen i Ansible, slik at vi enkelt kan konfigurere uttalelsen.