Variables
Let us discuss the topic of per-device variables in more detail.
In our deployment workflow, three types of variables must be set:
-
Variables used by the backend of the Jinja Orchestrator (by the "code"):
region
,profile
,loopback
, andhostname
. These variables are mandatory for all devices. -
Variables used in the Project Template (that is, added by the user). In our example project, the mandatory variables in this category are:
lan_ip
andmpls_wan_ip
. -
Variables used in other Provisioning Templates (also added by the user). In our example project, the only mandatory variable in this category is
mpls_wan_gateway
.
While the first category is dictated by the Jinja Orchestrator, the variables in the other two categories are explicitly created by the user. They depend on how the project is modeled and templated. You are free to create as many variables as deemed necessary to make your templates more generic and hence more reusable.
To examine the variables on FortiManager, go to Policy & Objects > Advanced.
Note the following important properties of the variables:
-
Their scope is per ADOM. (Each ADOM can have its own list of variables.)
-
They support default values. (Hence, they do not have to be set for each device, when most devices must share the same value.)
Returning to our example project, the following tables describe the used variables. Pay special attention to the example values. For example, the LAN interface IP must be given together with the subnet mask, while the loopback IP or the next-hop gateway IP must not.
Variables used by the backend:
Variable |
Description |
Example |
---|---|---|
region | One of the regions defined in the Project Template | West |
profile |
One of the profiles defined in the Project Template |
Silver |
loopback |
Loopback IP (for the overlay network) |
10.200.1.1 |
hostname |
Device hostname |
site1-1 |
lan_ip |
IP/mask of the LAN-facing interface |
10.0.1.1/24 |
mpls_wan_ip |
IP/mask for the MPLS underlay interface |
172.16.0.1/29 |
Variables used in Provisioning Templates (in our example project only):
Variable |
Description |
Example |
---|---|---|
mpls_wan_gateway |
Next-hop gateway IP for the MPLS underlay |
172.16.0.2 |