Book Image

Learning SaltStack

By : Colton Myers
Book Image

Learning SaltStack

By: Colton Myers

Overview of this book

Table of Contents (15 chapters)

Jinja2


Jinja2 is a templating language for Python. Templating provides a mechanism by which you can create content for files using code blocks to generate content dynamically. Jinja2 is modeled after the Django template language, so if you've ever developed in Django, the syntax should feel familiar. Even if you haven't, the syntax bears a resemblance to Pythons syntax, so it's not very hard to pick up.

There are two main types of Jinja2 syntax used in Salt. The first is variable, which uses double curly braces (the spaces around foo are for readability and are not required), and which is shown in the following code:

{{ foo }}
{{ foo.bar }}
{{ foo['bar'] }}
{{ get_data() }}

For these examples, the contents of the referenced variable or the results of the function call are placed in the document at the location of the Jinja2 block.

Jinja2 also has access to basic control statements. Control statement blocks use a curly brace and percentage sign, which is depicted in the following code:

{% %}

Here...