Sommaire

Modèles JINJA2

1. Présentation de Jinja2 Jinja2

Jinja2 est un moteur de modèles (templates) pour le langage Python qui est basé sur celui du framework Django. Initialement, il était utilisé pour créer des pages HTML à partir d’un modèle préformaté dans lequel sont injectées des données sous forme de variables, mais aussi, permettant d’utiliser des conditions et des boucles. Vous disposez d’une documentation sur le site : https://jinja.palletsprojects.com/en/2.10.x/templates/

Un modèle Jinja2 est tout simplement un fichier texte avec une extension .j2.

Ansible Engine utilise la syntaxe Jinja2 pour référencer les variables dans les playbooks.

La syntaxe pour définir des commentaires est :

{# mon commentaire #}

Les expressions, les boucles et les conditions sont exprimées dans cette balise :

{% expression %}

La balise suivante est utilisée pour générer le résultat d’une expression ou d’une variable :

{{ adresse_IP }}

Dans les modèles, vous pouvez utiliser des boucles et des conditions Jinja2. Ce qui n’est pas le cas dans les playbooks.

2. Conception et application d’un modèle Conception et application d’un modèle

Comme vu précédemment, des données, des variables et des expressions composent un modèle Jinja2. Les variables qui sont utilisées peuvent être définies dans la section vars ...