projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eximconf: put the escapes in the right places in RT_SUBJECT
[mirror/dsa-puppet.git]
/
modules
/
ferm
/
manifests
/
conf.pp
diff --git
a/modules/ferm/manifests/conf.pp
b/modules/ferm/manifests/conf.pp
index
a97d4a9
..
c016e09
100644
(file)
--- a/
modules/ferm/manifests/conf.pp
+++ b/
modules/ferm/manifests/conf.pp
@@
-1,25
+1,41
@@
-define ferm::conf ($content=undef, $source=undef, $ensure=present) {
+#
+define ferm::conf (
+ $source=undef,
+ $content=undef,
+ $ensure=present,
+ $prio='xx-10',
+) {
+ include ferm
- case $ensure {
- present,absent: {}
- default: { fail ( "Invald ensure `${ensure}' for ${name}" ) }
- }
+ case $ensure {
+ present: {
+ if ! ($source or $content) {
+ fail ( "No configuration found for ${name}" )
+ }
+ }
+ absent: {}
+ default: { fail ( "Unknown ensure value: '${ensure}'" ) }
+ }
-
if ($source and $content) {
-
fail ( "Can't define both source and content for ${name}" )
-
}
+ if ($source and $content) {
+ fail ( "Can't define both source and content for ${name}" )
+ }
-
$fname = "/etc/ferm/conf.d/
${name}.conf"
+
$fname = "/etc/ferm/conf.d/${prio}_
${name}.conf"
- if $source {
- file { $fname:
- ensure => $ensure,
- source => $source
- }
- } elsif $content {
- file { $fname:
- ensure => $ensure,
- content => $content,
- }
- }
+ if $content {
+ file { $fname:
+ ensure => $ensure,
+ mode => '0400',
+ content => $content,
+ notify => Exec['ferm reload'],
+ }
+ } else {
+ file { $fname:
+ ensure => $ensure,
+ mode => '0400',
+ source => $source,
+ notify => Exec['ferm reload'],
+ }
+ }
}
}