X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fapache2%2Fmanifests%2Fconfig.pp;h=13697cba9cfc2af3c3a1a1e36ba1f5367ead067d;hb=1795fd9783dafaaf24a229f7d6bd82df0e47eee8;hp=b67ddbee75e5ccdb864abf8874dfab4ef81f20ad;hpb=175c9bc26de888ba32a7677aa393621425d595f5;p=mirror%2Fdsa-puppet.git diff --git a/modules/apache2/manifests/config.pp b/modules/apache2/manifests/config.pp index b67ddbee7..13697cba9 100644 --- a/modules/apache2/manifests/config.pp +++ b/modules/apache2/manifests/config.pp @@ -1,30 +1,51 @@ -define apache2::config($config = undef, $template = undef, $ensure = present) { +define apache2::config ( + $source=undef, + $content=undef, + $nocontentok=undef, + $ensure=present +) { include apache2 case $ensure { present: { - if ! ($config or $template) { + if ! ($source or $content or $nocontentok) { fail ( "No configuration found for ${name}" ) } + + if $content { + file { "/etc/apache2/conf-available/${name}.conf": + ensure => $ensure, + content => $content, + require => Package['apache2'], + notify => Exec['service apache2 reload'], + } + } elsif $source { + file { "/etc/apache2/conf-available/${name}.conf": + ensure => $ensure, + source => $source, + require => Package['apache2'], + notify => Exec['service apache2 reload'], + } + } + } + absent: { + file { "/etc/apache2/conf-available/${name}.conf": + ensure => $ensure, + require => Package['apache2'], + notify => Exec['service apache2 reload'], + } } - absent: {} default: { fail ( "Unknown ensure value: '$ensure'" ) } } + $link_ensure = $ensure ? { + present => link, + absent => absent + } - if $template { - file { "/etc/apache2/conf.d/${name}": - ensure => $ensure, - content => template($template), - require => Package['apache2'], - notify => Service['apache2'], - } - } else { - file { "/etc/apache2/conf.d/${name}": - ensure => $ensure, - source => $config, - require => Package['apache2'], - notify => Service['apache2'], - } + file { "/etc/apache2/conf-enabled/${name}.conf": + ensure => $link_ensure, + target => "../conf-available/${name}.conf", + notify => Exec['service apache2 reload'], } }