summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2012-04-18 10:57:45 -0400
committerMicah Anderson <micah@riseup.net>2012-04-18 10:57:45 -0400
commit24d9c9d320a89ffcb6a2f7889f7d1c8b71b13d9a (patch)
tree6e7a7fd391847d153b6e00ee54810e2c1162c27f /manifests
parent1bc0bdc289ebeb86c6ef84dd931245fdf535d03d (diff)
parent839e0ce62393d93034505664b873864ac08b5529 (diff)
Merge remote-tracking branch 'lelutin/config_ensure_absent'
Diffstat (limited to 'manifests')
-rw-r--r--manifests/config/file.pp58
1 files changed, 33 insertions, 25 deletions
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index ca741de..e04b631 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -31,38 +31,46 @@ define apache::config::file(
owner => root, group => 0, mode => 0644;
}
- if ($ensure == 'link') and ($target != false) {
- File["apache_${name}"] {
- target => $target,
+ case $ensure {
+ 'absent','purged': {
+ # We want to avoid all stuff related to source and content
}
- }
- else {
- case $content {
- 'absent': {
- $real_source = $source ? {
- 'absent' => [
- "puppet://${server}/modules/site-apache/${confdir}/${fqdn}/${name}",
- "puppet://${server}/modules/site-apache/${confdir}/${apache_cluster_node}/${name}",
- "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}/${name}",
- "puppet://${server}/modules/site-apache/${confdir}/${name}",
- "puppet://${server}/modules/apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/apache/${confdir}/${operatingsystem}/${name}",
- "puppet://${server}/modules/apache/${confdir}/${name}"
- ],
- default => $source,
- }
- File["apache_${name}"]{
- source => $real_source,
+ 'link': {
+ if $target != false {
+ File["apache_${name}"] {
+ target => $target,
}
}
- default: {
- File["apache_${name}"]{
- content => $content,
+ }
+ default: {
+ case $content {
+ 'absent': {
+ $real_source = $source ? {
+ 'absent' => [
+ "puppet://${server}/modules/site-apache/${confdir}/${fqdn}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${apache_cluster_node}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${operatingsystem}/${name}",
+ "puppet://${server}/modules/site-apache/${confdir}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${operatingsystem}.${lsbdistcodename}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${operatingsystem}/${name}",
+ "puppet://${server}/modules/apache/${confdir}/${name}"
+ ],
+ default => $source,
+ }
+ File["apache_${name}"]{
+ source => $real_source,
+ }
+ }
+ default: {
+ File["apache_${name}"]{
+ content => $content,
+ }
}
}
}
}
+
case $operatingsystem {
openbsd: { info("no package dependency on ${operatingsystem} for ${name}") }
default: {