diff options
-rw-r--r-- | manifests/config/file.pp | 58 |
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: { |