Creating a port configuration template using if-clauses in Jinja2
With for
-loops in our templates, we have the ability to, given a list of variables, print a modified version of the same configuration block without having to copy-paste the content.
But what if, depending on the value of the variable, we want to specify different commands? We could, as in the preceding example, use multiple lists but we can also use if
-clauses within our template to specify any additional commands necessary in our configuration.
In this example, we are going to create a port configuration. We will specify both access and trunk ports and we will add additional commands to our trunk ports by changing the native VLAN for 802.1Q tagging.
All our ports will be described by dictionaries in our Python script.
Getting ready
Open your code editor and start by creating a file called jinja_if.py
. Next, navigate your terminal to the same directory that you just created the jinja_if.py
file in....