diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/server.pp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/manifests/server.pp b/manifests/server.pp index ce6f10c..6addab8 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -1,16 +1,24 @@ -class samba::server($workgroup = PCCH) { +class samba::server($workgroup = '') { include samba::server::install include samba::server::config include samba::server::service + $context = "/files/etc/samba/smb.conf" $target = "target[. = 'global']" - augeas { global: - context => "/files/etc/samba/smb.conf", - changes => [ - "set ${target} global", - "set ${target}/workgroup $workgroup" - ], + 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'], + } + } |