$ORIGIN {{ main_zone.name }}. $TTL {{ main_zone.ttl|default(3600) }} {{ main_zone.name }}. SOA {{ main_zone.soa }}. {{ main_zone.email }}. ( {{ ansible_date_time.epoch }} ; serial 3600 ; refresh 900 ; retry 1209600 ; expire 1800 ; ttl ) NS {{ server.hostname }}. {% for satellite in satellites %} NS {{ satellite.hostname }}. {% endfor %} {% for record in main_zone.records|default([])|json_query('[?type==`MX`]') %} MX{% if record.opts is defined %} {{ record.opts }}{% endif %} {{ record.value }} {% endfor %} {{ server.hostname }}. IN A {{ server.public_ip }} {% for satellite in satellites %} {{ satellite.hostname }}. IN A {{ satellite.public_ip }} {% endfor %} {% for record in main_zone.records|default([])|json_query('[?type!=`MX`]') %} {{ record.name }} IN {{ record.type }}{% if record.opts is defined %} {{ record.opts }}{% endif %} {{ record.value }} {% endfor %}