X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fapache2%2Fmanifests%2Fconfig.pp;h=13697cba9cfc2af3c3a1a1e36ba1f5367ead067d;hb=6f2e5fc86e49c12b12eef39fc69e0e810a32c318;hp=5d5170046959a70697872dbbd411a380c4059b80;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/apache2/manifests/config.pp b/modules/apache2/manifests/config.pp index 5d5170046..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 - if ! ($config or $template) { - err ( "No configuration found for ${name}" ) - } - case $ensure { - present: {} - absent: {} - default: { err ( "Unknown ensure value: '$ensure'" ) } - } + present: { + if ! ($source or $content or $nocontentok) { + fail ( "No configuration found for ${name}" ) + } - if $template { - file { "/etc/apache2/conf.d/${name}": - ensure => $ensure, - content => template($template), - require => Package['apache2'], - notify => Service['apache2'], + 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'], + } + } } - } else { - file { "/etc/apache2/conf.d/${name}": - ensure => $ensure, - source => $config, - require => Package['apache2'], - notify => Service['apache2'], + absent: { + file { "/etc/apache2/conf-available/${name}.conf": + ensure => $ensure, + require => Package['apache2'], + notify => Exec['service apache2 reload'], + } } + default: { fail ( "Unknown ensure value: '$ensure'" ) } + } + $link_ensure = $ensure ? { + present => link, + absent => absent + } + + file { "/etc/apache2/conf-enabled/${name}.conf": + ensure => $link_ensure, + target => "../conf-available/${name}.conf", + notify => Exec['service apache2 reload'], } }