Basic Jinja2 Templates¶
This simple example demonstrates basic usage of Jinja2 templates.
/var/lib/bcfg2/Cfg/foo/foo.jinja2
Hostname is {{ metadata.hostname }}
Filename is {{ name }}
Template is {{ source_path }}
Groups:
{% for group in metadata.groups -%}
* {{ group }}
{% endfor %}
Categories:
{% for category in metadata.categories -%}
* {{ category }} -- {{ metadata.categories[category] }}
{% endfor %}
Probes:
{% for probe in metadata.Probes -%}
* {{ probe }} -- {{ metadata.Probes[probe] }}
{% endfor %}
Output¶
<Path type="file" name="/foo" owner="root" mode="0644" group="root">
Hostname is topaz.mcs.anl.gov
Filename is /foo
Template is /var/lib/bcfg2/Cfg/foo/foo.jinja2
Groups:
* desktop
* mcs-base
* ypbound
* workstation
* xserver
* debian-sarge
* debian
* a
Categories:
* test -- a
Probes:
* os -- debian
</Path>