Ansible templates

{% for host in groups['db_servers'] %}
   {{ host }}
   {{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}
{% endfor %}
 
{% elif  student.department.upper() != "MATHS DEPARTMENT" %}
    Maths department
{% endif %}
 
# generate SSH config
{% for host in groups['vm.example.com'] %}
Host {{ host }}
  Hostname {{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}
{% endfor %}
 
# value by group (condition)
{% if 'www' in group_names and ansible_fqdn in groups['www'] %}
foo=true
{% else %}
foo=false
{% endif %}
 
{% if 'index.html' in request.build_absolute_uri %}
    hello
{% else %}
    bye
{% endif %}
 
{% if grains['os'] == 'Fedora' -%}
mailq_path = /usr/bin/mailq.postfix
{% elif grains['os'] == 'Arch' -%}
mailq_path = /usr/bin/mailq
{-% endif %}
 
{% if os_env == "stage" and 'control-node' in inventory_hostname %}
    storage-extern:
      id: 1234
{% endif %}
{% set keystone_cmd = 'apache2' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd' %}
{% set keystone_dir = 'apache2/conf-enabled' if kolla_base_distro in ['ubuntu', 'debian'] else 'httpd/conf.d' %}
{
    "command": "/usr/sbin/{{ keystone_cmd }}",

Links
http://jinja.pocoo.org/docs/dev/templates/#line-statements