From a2d2316176c496a11bb520ac6a88612756483395 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 26 May 2013 16:18:30 -0300 Subject: Adding bind::view --- manifests/view.pp | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 manifests/view.pp (limited to 'manifests/view.pp') diff --git a/manifests/view.pp b/manifests/view.pp new file mode 100644 index 0000000..07f1b31 --- /dev/null +++ b/manifests/view.pp @@ -0,0 +1,54 @@ +# = Definition: bind::view +# +# Creates a valid Bind9 view. +# +# Arguments: +# *$match-clients*: Clients to be matched. +# *$recursion*: Whether it's a recursive view. +# +define bind::view ( + $ensure = present, + $match_clients = 'any', + $recursion = 'yes', +) { + + concat::fragment { "named.local.view.${name}": + ensure => $ensure, + target => '/etc/bind/named.conf.local', + content => "include \"/etc/bind/views/${name}.conf\";\n", + notify => Service['bind9'], + require => Package['bind9'], + } + + case $ensure { + present: { + concat { "/etc/bind/views/${name}.conf": + owner => root, + group => root, + mode => '0644', + } + + concat::fragment { "00.bind.views.${name}": + ensure => $ensure, + target => "/etc/bind/views/${name}.conf", + content => template('bind/view.erb'), + notify => Service['bind9'], + require => Package['bind9'], + } + + concat::fragment { "99.bind.views.${name}": + ensure => $ensure, + target => "/etc/bind/views/${name}.conf", + content => "};\n", + notify => Service['bind9'], + require => Package['bind9'], + } + } + absent: { + file {"/etc/bind/views/${name}.conf": + ensure => absent, + } + } + default: {} + } +} -- cgit v1.2.3