diff options
Diffstat (limited to 'manifests/server.pp')
-rw-r--r-- | manifests/server.pp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/manifests/server.pp b/manifests/server.pp index 48a4fef..1f1702c 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -2,12 +2,23 @@ class samba::server($workgroup = pcch) { include samba::server::install include samba::server::config include samba::server::service - - augeas { global: - context => "/files/etc/samba/smb.conf", - changes => [ - "set target[. = 'global']/workgroup $workgroup" - ], - require => Class["samba::server::config"] - } -}
\ No newline at end of file + + $context = "/files/etc/samba/smb.conf" + $target = "target[. = 'global']" + + augeas { 'global-section': + context => $context, + changes => "set ${target} global", + require => Class["samba::server::config"] + } + + augeas { 'global-workgroup': + context => $context, + changes => $workgroup ? { + default => "set ${target}/workgroup $workgroup", + '' => "rm ${target}/workgroup", + }, + require => Augeas['global-section'], + } + +} |