X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fapache2%2Fmanifests%2Fsite.pp;h=8fa5fdf526097df06ce8a681d4acb282848c0c5c;hb=462359acbb50393c48ff0c4ffd7b3a210b866636;hp=708e6fa0133e6462c1336a3e3bff7dae47cb8592;hpb=3eb533e5499e66423bafdedaf6c7d08ead1772de;p=mirror%2Fdsa-puppet.git diff --git a/modules/apache2/manifests/site.pp b/modules/apache2/manifests/site.pp index 708e6fa01..8fa5fdf52 100644 --- a/modules/apache2/manifests/site.pp +++ b/modules/apache2/manifests/site.pp @@ -1,14 +1,16 @@ define apache2::site ( $config = undef, - $template = undef, + $template = false, $ensure = present, $site = undef ) { include apache2 - if ! ($config or $template) { - err ( "No configuration found for ${name}" ) + if $ensure == present { + if ! ($config or $template) { + fail ( "No configuration found for ${name}" ) + } } if $site { @@ -22,27 +24,38 @@ define apache2::site ( $link_target = $ensure ? { present => $target, absent => absent, - default => err ( "Unknown ensure value: '$ensure'" ), + default => fail ( "Unknown ensure value: '$ensure'" ), } - if $template { - file { $target: - ensure => $ensure, - content => template($template), - require => Package['apache2'], - notify => Service['apache2'], + case $template { + false: { + file { $target: + ensure => $ensure, + source => $config, + require => Package['apache2'], + notify => Service['apache2'], + } } - } else { - file { $target: - ensure => $ensure, - source => $config, - require => Package['apache2'], - notify => Service['apache2'], + default: { + file { $target: + ensure => $ensure, + content => template($template), + require => Package['apache2'], + notify => Service['apache2'], + } } } - file { "/etc/apache2/sites-enabled/${name}": - ensure => $link_target, - notify => Service['apache2'], + if $ensure == present { + file { "/etc/apache2/sites-enabled/${name}": + ensure => link, + target => $link_target, + notify => Service['apache2'], + } + } else { + file { "/etc/apache2/sites-enabled/${name}": + ensure => absent, + notify => Service['apache2'], + } } }