--- /dev/null
+{% if cfg.stub_zones %}
+
+{% for name, stub in cfg.stub_zones.items() %}
+-- stub-zone: {{ name }}
+{% if stub.views %}
+{% for view_id in stub.views %}
+-- stub-zone: {{ name }} view: {{ view_id }}
+{% set view = cfg.views[view_id.replace("-", "_")] %}
+
+{% set options = none %}
+{% if stub.options and view.options %}
+{% set options = stub.options|list + view.options |list%}
+{% elif stub.options %}
+{% set options = stub.options|list %}
+{% elif view.options %}
+{% set options = view.options|list %}
+{% endif %}
+
+{% if view.tsig %}
+{% for sig in view.tsig %}
+
+{% if options %}
+-- stub-zone: {{ name }} view: {{ view_id }} options
+view:tsig('{{ sig }}', policy.suffix(policy.FLAGS({
+{%- for flag in options -%}
+'{{ flag.upper().replace("-", "_") }}',
+{%- endfor -%}
+}), {todname('{{ name }}')}))
+{% endif %}
+
+-- stub-zone: {{ name }} view: {{ view_id }} servers
+{% for server in stub.servers %}
+view:tsig('{{ sig }}', policy.suffix(policy.STUB('{{ server }}'), {todname('{{ name }}')}))
+{% endfor %}
+
+{% endfor %}
+{% endif %}
+
+{% if view.subnets %}
+{% for addr in view.subnets %}
+
+{% if options %}
+-- stub-zone: {{ name }} view: {{ view_id }} options
+view:addr('{{ addr }}', policy.suffix(policy.FLAGS({
+{%- for flag in options -%}
+'{{ flag.upper().replace("-", "_") }}',
+{%- endfor -%}
+}), {todname('{{ name }}')}))
+{% endif %}
+
+-- stub-zone: {{ name }} view: {{ view_id }} servers
+{% for server in stub.servers %}
+view:addr('{{ addr }}', policy.suffix(policy.STUB('{{ server }}'), {todname('{{ name }}')}))
+{% endfor %}
+
+{% endfor %}
+{% endif %}
+
+{% endfor %}
+{% else %}
+{% if stub.options %}
+
+-- stub-zone: {{ name }} options
+policy.add(policy.suffix(policy.FLAGS({
+{%- for flag in stub.options -%}
+'{{ flag.upper().replace("-", "_") }}',
+{%- endfor -%}
+}), {todname('{{ name }}')}))
+{% endif %}
+
+-- stub-zone: {{ name }} servers
+{% for server in stub.servers %}
+policy.add(policy.suffix(policy.STUB('{{ server }}'), {todname('{{ name }}')}))
+{% endfor %}
+
+{% endif %}
+{% endfor %}
+{% endif %}
\ No newline at end of file