Ansible

Jinja 2 Vorlagen

Jinja 2 Vorlagen
JInja2 ist eine weit verbreitete und voll funktionsfähige Template-Engine für Python. Da es modern ist, ist es daher auch eine designfreundliche Sprache für Python, die den Vorlagen von Django nachempfunden ist. Ansible verwendet Jinja2-Templating, um dynamische Ausdrücke und den Zugriff auf Variablen zu ermöglichen. Ansible Controller, wo JInja2 ins Bild kommt, ist der Ort, an dem die gesamte Vorlagenbildung stattfindet, bevor der Befehl gesendet und auf dem Zielcomputer implementiert wird. Sehen wir uns nun eine Syntax an, die bei Ansible hilfreich sein wird.

VARIABLEN:

Wir können Variablen drucken, indem wir einfach die Syntax VARIABLE_NAME verwenden. Wenn Sie nur ein Element eines Arrays drucken möchten, können Sie ARRAY_NAME['KEY'] verwenden, und wenn Sie eine Eigenschaft eines Objekts drucken möchten, können Sie ARRAY_NAME['KEY'] verwenden. .

Ein Beispiel finden Sie im Folgenden;



Hallo Welt!


Diese Seite wurde am ansible_date_time . erstellt.Datum .



FILTER:

Von Zeit zu Zeit möchten Sie den Stil einer Zeichenfolge ein wenig ändern, ohne spezifischen Code dafür zu schreiben. Zum Beispiel möchten Sie vielleicht Text groß schreiben. Dazu können Sie einen der Filter von Jinja verwenden, wie zum Beispiel VARIABLE_NAME | groß schreiben .

BEDINGUNGEN:

Eine Sache, die sich in einer Template-Engine oft als nützlich erweisen kann, ist die Möglichkeit, unterschiedliche Strings zu drucken, abhängig vom Inhalt (oder der Existenz) von string. Nehmen Sie sich dieses Beispiel an, um Ihrer statischen Webseite ein interessantes Element hinzuzufügen:



Hallo Welt!


Diese Seite wurde am ansible_date_time . erstellt.Datum .


% wenn ansible_eth0.aktiv == Wahr %

eth0-Adresse ansible_eth0.IPv4.Adresse .


% endif %

Oben ist klar, dass die Möglichkeit zum Drucken der Haupt-IPv4-Adresse für eth0 hinzugefügt wird, wenn die Verbindung aktiv ist.  Mit Bedingungen können auch Tests verwendet werden.

Um das gleiche Ergebnis zu erhalten, kann auch Folgendes geschrieben werden:



Hallo Welt!


Diese Seite wurde am ansible_date_time . erstellt.Datum .


% wenn ansible_eth0.aktiv ist gleich True %

eth0-Adresse ansible_eth0.IPv4.Adresse .


% endif %

FAHRRÄDER:

Das jinja2-Vorlagensystem bietet Ihnen die Möglichkeit, Systeme zu erstellen . Lassen Sie uns unserer Seite eine Funktion hinzufügen, die die Haupt-IPv4-Netzwerkadresse für jedes Gerät druckt, anstatt nur eth0. Siehe den folgenden Code für dasselbe:



Hallo Welt!


Diese Seite wurde am ansible_date_time . erstellt.Datum .


Dieses Gerät ist unter den folgenden IP-Adressen erreichbar




Wie Sie sehen, wird Ihnen die Syntax für Zyklen bekannt vorkommen, wenn Sie Python bereits kennen.

Aber diese Informationen zum Jinja2-Templating waren kein Ersatz für die offizielle Dokumentation. Tatsächlich sind Jinja2-Vorlagen viel leistungsfähiger, als wir hier untersucht haben.

Um mehr über Ansible und dessen Anwendung zu erfahren, gehen Sie zu "Ansible 2 lernen".7 - Dritte Auflage.' Von Fabio Alessandro Locati, Senior Consultant bei Red Hat, öffentlicher Redner, Autor und Open-Source-Mitwirkender. Lassen Sie sich von ihm durch die Grundlagen und praktischen Aspekte von Ansible führen, indem er Sie in Themen wie Playbooks, Module, BSD, Windows-Unterstützung usw. einführt. Sie können sich auf jeden Fall darauf freuen, mit den Ansible-Fähigkeiten ausgestattet zu sein, die erforderlich sind, um komplexe Aufgaben für Ihr Unternehmen zu automatisieren.

OpenTTD-Tutorial
OpenTTD ist eines der beliebtesten Wirtschaftssimulationsspiele auf dem Markt. In diesem Spiel musst du ein wunderbares Transportunternehmen aufbauen....
SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...