diff options
Diffstat (limited to 'manifests/config')
-rw-r--r-- | manifests/config/file.pp | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/manifests/config/file.pp b/manifests/config/file.pp index fe93500..39c6cc3 100644 --- a/manifests/config/file.pp +++ b/manifests/config/file.pp @@ -2,7 +2,10 @@ define dovecot::config::file ( $ensure = present, $source = 'absent', $content = 'absent', - $destination = 'absent' + $destination = 'absent', + $mode = 'absent', + $owner = 'absent', + $group = 'absent' ) { @@ -15,13 +18,28 @@ define dovecot::config::file ( default => $destination } + $real_mode = $mode ? { + 'absent' => 0640, + default => $mode + } + + $real_owner = $owner ? { + 'absent' => root, + default => $owner + } + + $real_group = $group ? { + 'absent' => 0, + default => $group + } + # the $name variable is set to dovecot_${name}, but the actual filename will # be set to $name file { "dovecot_${name}": ensure => $ensure, path => $real_destination, notify => Service[dovecot], - owner => root, group => 0, mode => 0640; + owner => $real_owner, group => $real_group, mode => $real_mode; } # the $content variable is 'absent' by default, so if the user doesn't |