summaryrefslogtreecommitdiff
path: root/manifests/config/file.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/config/file.pp')
-rw-r--r--manifests/config/file.pp22
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