projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
virtualdomains-mailrelay.erb: add tracker.debian.org
[mirror/dsa-puppet.git]
/
modules
/
ferm
/
manifests
/
conf.pp
diff --git
a/modules/ferm/manifests/conf.pp
b/modules/ferm/manifests/conf.pp
index
0dffa77
..
c016e09
100644
(file)
--- a/
modules/ferm/manifests/conf.pp
+++ b/
modules/ferm/manifests/conf.pp
@@
-1,29
+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
- include ferm
+ case $ensure {
+ present: {
+ if ! ($source or $content) {
+ fail ( "No configuration found for ${name}" )
+ }
+ }
+ absent: {}
+ default: { fail ( "Unknown ensure value: '${ensure}'" ) }
+ }
- case $ensure {
- present,absent: {}
- default: { fail ( "Invald ensure `${ensure}' for ${name}" ) }
- }
+ 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/${prio}_${name}.conf"
- $fname = "/etc/ferm/conf.d/${name}.conf"
-
- if $source {
- file { $fname:
-
ensure => $ensure
,
-
source => $source
,
- notify => Service['ferm']
- }
- } elsif $content {
- file { $fname:
-
ensure => $ensure
,
-
content => $content
,
- notify => Service['ferm']
-
}
-
}
+ 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'],
+ }
+ }
}
}