# {{ ansible_managed }} global {% for key, value in haproxy_full_global.items() %} {% if value is sameas true %} {{ key }} {% elif value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} defaults {% for key, value in haproxy_full_defaults.items() %} {% if value is sameas true %} {{ key }} {% elif value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} listen stats {% for key, value in haproxy_full_listen_stats.items() %} {% if key == "bind" %} bind {{ value["ip"] }}:{{ value["port"] }} {% elif value is sameas true %} {{ key }} {% elif value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} {% for resolver, config in haproxy_resolvers.items() %} resolvers {{ resolver }} {% for key, value in config.items() %} {% if value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} {% endfor %} {% for userlist, config in haproxy_userlists.items() %} userlist {{ userlist }} {% for key, value in config.items() %} {% if value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} {% endfor %} {% for frontend, config in haproxy_frontends.items() %} frontend {{ frontend }} {% for key, value in config.items() %} {% if key == "bind" %} bind {{ value["ip"] }}:{{ value["port"] }}{% if value["ssl"] is defined %} ssl{% if value["ssl"]["ciphers"] is defined %} ciphers {{ value["ssl"]["ciphers"]|join(':') }}{% endif %}{% if value["ssl"]["crt"]%} crt {{ value["ssl"]["crt"] }}{% endif %} {% endif %} {% elif value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} {% endfor %} {% for backend, config in haproxy_backends.items() %} backend {{ backend }} {% for key, value in config.items() %} {% if value is sameas true %} {{ key }} {% elif value is iterable and value is not string %} {% for option in value %} {{ key }} {{ option }} {% endfor %} {% else %} {{ key }} {{ value }} {% endif %} {% endfor %} {% endfor %}