From c981bf5d9f269a556ae07ce1a9b36cd4813305a3 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Wed, 23 Dec 2009 17:15:31 -0500 Subject: simplify config subclasses --- manifests/config/file.pp | 32 +++++++++++++++++++------------- manifests/config/global.pp | 1 + manifests/config/include.pp | 31 +++---------------------------- 3 files changed, 23 insertions(+), 41 deletions(-) (limited to 'manifests/config') 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, } } -- cgit v1.2.3