diff --git a/templates/named.conf.generator.j2 b/templates/named.conf.generator.j2 index ba4e518..0199e32 100644 --- a/templates/named.conf.generator.j2 +++ b/templates/named.conf.generator.j2 @@ -54,3 +54,6 @@ {% if item.view is defined and item.view %} {% include 'named.conf.view.j2' %} {% endif %} +{% if item.remote_servers is defined and item.remote_servers %} +{% include 'named.conf.remote-servers.j2' %} +{% endif %} diff --git a/templates/named.conf.remote-servers.j2 b/templates/named.conf.remote-servers.j2 new file mode 100644 index 0000000..08b1fe3 --- /dev/null +++ b/templates/named.conf.remote-servers.j2 @@ -0,0 +1,20 @@ +{% for server in item.remote_servers %} +remote-servers "{{ server.name }}" { +{% filter indent(bind9_config_indent, true) %} +{% for key, value in server.items() %} +{% if key != 'name' %} +{# Handle known complex types if any, otherwise default to simple string/block #} +{% if value is iterable and value is not string and value is not mapping %} +{{ key }} { + {% for subitem in value %} + {{ subitem }}; + {% endfor %} +}; +{% else %} +{{ key }} {{ value }}; +{% endif %} +{% endif %} +{% endfor %} +{% endfilter %} +}; +{% endfor %}