diff options
Diffstat (limited to 'manifests/config')
-rw-r--r-- | manifests/config/file.pp | 28 | ||||
-rw-r--r-- | manifests/config/global.pp | 2 | ||||
-rw-r--r-- | manifests/config/include.pp | 2 |
3 files changed, 30 insertions, 2 deletions
diff --git a/manifests/config/file.pp b/manifests/config/file.pp index 76328b5..308da68 100644 --- a/manifests/config/file.pp +++ b/manifests/config/file.pp @@ -2,6 +2,7 @@ # by default we assume it's a global configuration file define apache::config::file( $ensure = present, + $target = false, $type = 'global', $source = 'absent', $content = 'absent', @@ -50,12 +51,35 @@ define apache::config::file( } } default: { - File["apache_${name}"]{ - content => $content, + 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: { diff --git a/manifests/config/global.pp b/manifests/config/global.pp index 5bb075b..8b0389b 100644 --- a/manifests/config/global.pp +++ b/manifests/config/global.pp @@ -2,12 +2,14 @@ # wrapper for apache::config::file define apache::config::global( $ensure = present, + $target = false, $source = 'absent', $content = 'absent', $destination = 'absent' ){ apache::config::file { "${name}": ensure => $ensure, + target => $target, type => 'global', source => $source, content => $content, diff --git a/manifests/config/include.pp b/manifests/config/include.pp index b58073f..4d676f0 100644 --- a/manifests/config/include.pp +++ b/manifests/config/include.pp @@ -1,12 +1,14 @@ # deploy apache configuration file (includes for vhosts) define apache::config::include( $ensure = present, + $target = false, $source = 'absent', $content = 'absent', $destination = 'absent' ){ apache::config::file { "${name}": ensure => $ensure, + target => $target, type => 'include', source => $source, content => $content, |