@@ -10,6 +10,16 @@ acl <%= key %> {
1010 <%= line %> ;
1111<% end -%>
1212};
13+ <% end -%>
14+ <% end -%>
15+
16+ 17+ <% @keys.sort_by {|key, value| key}.each do |key,value| -%>
18+ key <%= key %> {
19+ <% value.each do |k, v| -%>
20+ <%= k %> "<%= v %> ";
21+ <% end -%>
22+ };
1323
1424<% end -%>
1525<% end -%>
@@ -69,14 +79,17 @@ options {
6979 allow-transfer { <%= @allow_transfer.join("; ") %> ; };
7080<% end -%>
7181<% if !@check_names.empty? -%>
72- <% @check_names.each do |line| -%>
73- check-names <%= line %> ;
74- <% end -%>
82+ check-names <%= @check_names.join(' ') %> ;
7583<% end -%>
7684
7785<% if !@extra_options.empty? -%>
7886<% @extra_options.sort_by {|key, value| key}.each do |key,value| -%>
87+ <%# Deal with options that don't play well as array elements %>
88+ <% if key.eql?('also-notify') -%>
89+ <%= key %> { <%= value.join('; ') %> ; };
90+ <% else -%>
7991 <%= key %> <%= value %> ;
92+ <% end -%>
8093<% end -%>
8194
8295<% end -%>
@@ -105,7 +118,7 @@ logging {
105118};
106119107120
108- <% @views.sort_by {|key,value| key}. each do |key,value| -%>
121+ <% @views.each do |key,value| -%>
109122<% valid_keys = %w(allow-notify allow-query allow-recursion allow-transfer allow-update-forwarding forwarders match-clients match-destinations match-recursive-only) -%>
110123view "<%= key %> " {
111124<% valid_keys.sort.each do |valid_key| -%>
@@ -118,6 +131,15 @@ view "<%= key %>" {
118131 include "<%= filename %> ";
119132<% end -%>
120133<% end -%>
134+ <% if value['server'] and !value['server'].empty? -%>
135+ <% value['server'].sort_by {|key, value| key}.each do |key,value| -%>
136+ server <%= key %> {
137+ <% value.each do |line| -%>
138+ <%= line %> ;
139+ <% end -%>
140+ };
141+ <% end -%>
142+ <% end -%>
121143<% if value['zones'] and !value['zones'].empty? -%>
122144 /* View specific zones */
123145<% value['zones'].sort_by {|key, value| key}.each do |key,value| -%>
0 commit comments