{%- from "apache/map.jinja" import apache with context -%}
# Managed by saltstack
{% if salt['pillar.get']('apache:sites') is mapping %}
{%- set listen_directives = [] %}
{%- for id, site in salt['pillar.get']('apache:sites').items() %}
{%- set interfaces = site.get('interface', '*').split() %}
{%- set port = site.get('port', 80) %}
{%- for interface in interfaces %}
{%- set listen_directive = interface ~ ':' ~ port %}
{%- if listen_directive not in listen_directives %}
{%- do listen_directives.append(listen_directive) %}
{%- endif %}
{%- endfor %}
{%- endfor %}
{%- for listen in listen_directives %}
Listen {{ listen }}
{%- endfor %}
{%- else %}
Listen 80
Listen 443
Listen 443
{%- endif %}
{%- if salt['pillar.get']('apache:name_virtual_hosts') is iterable %}
{%- set name_virtual_host_directives = [] %}
{%- for name_virtual_host in salt['pillar.get']('apache:name_virtual_hosts') %}
{%- set interface = name_virtual_host.get('interface', '*') %}
{%- set port = name_virtual_host.get('port', 80) %}
{%- set name_virtual_host_directive = interface ~ ':' ~ port %}
{%- do name_virtual_host_directives.append(name_virtual_host_directive) %}
{%- endfor %}
{%- for name_virtual_host in name_virtual_host_directives %}
NameVirtualHost {{ name_virtual_host }}
{%- endfor %}
{%- endif -%}