1 |
class bind { |
2 |
class bind_base { |
3 |
package { bind: |
4 |
ensure => installed |
5 |
} |
6 |
|
7 |
service { named: |
8 |
ensure => running, |
9 |
path => "/etc/init.d/named", |
10 |
subscribe => [ Package["bind"]] |
11 |
} |
12 |
|
13 |
file { '/etc/named.conf': |
14 |
ensure => "/var/lib/named/etc/named.conf", |
15 |
owner => root, |
16 |
group => root, |
17 |
mode => 644 |
18 |
} |
19 |
} |
20 |
|
21 |
|
22 |
file { '/var/lib/named/etc/named.conf': |
23 |
ensure => present, |
24 |
owner => root, |
25 |
group => root, |
26 |
mode => 644, |
27 |
require => Package["bind"], |
28 |
content => "", |
29 |
notify => [Service['named']] |
30 |
} |
31 |
|
32 |
define zone_master { |
33 |
file { "/var/lib/named/var/named/master/$name.zone": |
34 |
ensure => present, |
35 |
owner => root, |
36 |
group => root, |
37 |
mode => 644, |
38 |
content => template("bind/zones/$name.zone"), |
39 |
require => Package[bind], |
40 |
notify => Service[named] |
41 |
} |
42 |
} |
43 |
|
44 |
class bind_master inherits bind_base { |
45 |
file { '/etc/named.conf': |
46 |
content => template("bind/named_base.conf", "bind/named_master.conf"), |
47 |
} |
48 |
} |
49 |
|
50 |
class bind_slave inherits bind_base { |
51 |
file { '/etc/named.conf': |
52 |
content => template("bind/named_base.conf", "bind/named_slave.conf"), |
53 |
} |
54 |
} |
55 |
|
56 |
} |