{% macro slaves() -%} {%- if pillar['bind']['slaves'] -%} allow-transfer { {%- for addr in pillar['bind']['slaves'] -%} {{ addr }}; {%- endfor -%} }; also-notify { {%- for addr in pillar['bind']['slaves'] -%} {{ addr }}; {%- endfor -%} }; {%- endif -%} {%- endmacro %} {%- set domain = pillar['bind']['root-domain'] %} zone "{{ domain }}" IN { type master; file "/etc/bind/{{ domain }}.zone"; {{ slaves() }} }; {%- for net, subnet4 in pillar['subnets-inet'].items() %} {%- set domain = net ~ '.' ~ pillar['bind']['root-domain'] %} zone "{{ domain }}" IN { type master; file "/etc/bind/{{ domain }}.zone"; {{ slaves() }} }; {%- endfor %} {%- for domain in pillar['bind']['reverse-zones-inet'] %} zone "{{ domain }}" IN { type master; file "/etc/bind/{{ domain }}.zone"; }; {%- endfor %} {%- for domain in pillar['bind']['reverse-zones-inet6'] %} zone "{{ domain }}" IN { type master; file "/etc/bind/{{ domain }}.zone"; }; {%- endfor %}