Skip to content

Commit b30551b

Browse files
Seth Lyonssethlyons
authored andcommitted
add support for keys
1 parent c7417a7 commit b30551b

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

manifests/server/conf.pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
# and the value is an array of config lines. Default: empty
5757
# $includes:
5858
# Array of absolute paths to named.conf include files. Default: empty
59+
# $keys:
60+
# Array containing key parameters as key/value pairs
5961
#
6062
# Sample Usage :
6163
# bind::server::conf { '/etc/named.conf':
@@ -107,6 +109,7 @@
107109
$zones = {},
108110
$includes = [],
109111
$views = {},
112+
$keys = {},
110113
) {
111114

112115
# Everything is inside a single template

templates/named.conf.erb

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
};
106119
107120

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) -%>
110123
view "<%= 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

Comments
 (0)