summaryrefslogtreecommitdiff
path: root/manifests/config
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 17:15:31 -0500
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2009-12-23 17:15:31 -0500
commitc981bf5d9f269a556ae07ce1a9b36cd4813305a3 (patch)
treef8edb82f527dc8e26956ab90e6faf5e33d24a007 /manifests/config
parent63947dcae12d25383025d57002acf73cc15fd17d (diff)
simplify config subclasses
Diffstat (limited to 'manifests/config')
-rw-r--r--manifests/config/file.pp32
-rw-r--r--manifests/config/global.pp1
-rw-r--r--manifests/config/include.pp31
3 files changed, 23 insertions, 41 deletions
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index 9e49c19..d72ba2e 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -2,18 +2,24 @@
# by default we assume it's a global configuration file
define apache::config::file(
$ensure = present,
+ $type = 'global',
$source = 'absent',
$content = 'absent',
$destination = 'absent'
){
+ case $type {
+ 'include': { $confdir = 'include.d' }
+ 'global': { $confdir = 'conf.d' }
+ default: { fail("Wrong config file type specified for ${name}") }
+ }
$real_destination = $destination ? {
'absent' => $operatingsystem ? {
- centos => "${apache::centos::config_dir}/conf.d/${name}",
+ centos => "${apache::centos::config_dir}/${confdir}/${name}",
gentoo => "${apache::gentoo::config_dir}/${name}",
- debian => "${apache::debian::config_dir}/conf.d/${name}",
- ubuntu => "${apache::ubuntu::config_dir}/conf.d/${name}",
- openbsd => "${apache::openbsd::config_dir}/conf.d/${name}",
- default => "/etc/apache2/${name}",
+ debian => "${apache::debian::config_dir}/${confdir}/${name}",
+ ubuntu => "${apache::ubuntu::config_dir}/${confdir}/${name}",
+ openbsd => "${apache::openbsd::config_dir}/${confdir}/${name}",
+ default => "/etc/apache2/${confdir}/${name}",
},
default => $destination
}
@@ -27,14 +33,14 @@ define apache::config::file(
'absent': {
$real_source = $source ? {
'absent' => [
- "puppet://${server}/modules/site-apache/conf.d/${fqdn}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${apache_cluster_node}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/site-apache/conf.d/${name}",
- "puppet://${server}/modules/apache/conf.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/apache/conf.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/apache/conf.d/${name}"
+ "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 => "puppet://${server}/${source}",
}
diff --git a/manifests/config/global.pp b/manifests/config/global.pp
index 50e69b3..5bb075b 100644
--- a/manifests/config/global.pp
+++ b/manifests/config/global.pp
@@ -8,6 +8,7 @@ define apache::config::global(
){
apache::config::file { "${name}":
ensure => $ensure,
+ type => 'global',
source => $source,
content => $content,
destination => $destination,
diff --git a/manifests/config/include.pp b/manifests/config/include.pp
index 131363b..b58073f 100644
--- a/manifests/config/include.pp
+++ b/manifests/config/include.pp
@@ -5,36 +5,11 @@ define apache::config::include(
$content = 'absent',
$destination = 'absent'
){
- $real_destination = $destination ? {
- 'absent' => $operatingsystem ? {
- centos => "${apache::centos::config_dir}/include.d/${name}",
- gentoo => "${apache::gentoo::config_dir}/${name}",
- debian => "${apache::debian::config_dir}/include.d/${name}",
- ubuntu => "${apache::ubuntu::config_dir}/include.d/${name}",
- openbsd => "${apache::openbsd::config_dir}/include.d/${name}",
- default => "/etc/apache2/${name}",
- },
- default => $destination
- }
- if ($content == 'absent') {
- $real_source = $source ? {
- 'absent' => [
- "puppet://${server}/modules/site-apache/include.d/${fqdn}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${apache_cluster_node}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/site-apache/include.d/${name}",
- "puppet://${server}/modules/apache/include.d/${operatingsystem}.${lsbdistcodename}/${name}",
- "puppet://${server}/modules/apache/include.d/${operatingsystem}/${name}",
- "puppet://${server}/modules/apache/include.d/${name}"
- ],
- default => "puppet://${server}/${source}",
- }
- }
apache::config::file { "${name}":
ensure => $ensure,
- source => $real_source,
+ type => 'include',
+ source => $source,
content => $content,
- destination => $real_destination,
+ destination => $destination,
}
}