guard against accidentally doing something
[mirror/dsa-puppet.git] / modules / apache2 / manifests / site.pp
index 708e6fa..263c6d8 100644 (file)
@@ -1,6 +1,6 @@
 define apache2::site (
        $config = undef,
-       $template = undef,
+       $template = false,
        $ensure = present,
        $site = undef
 ) {
@@ -25,24 +25,35 @@ define apache2::site (
                default => err ( "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'],
+               }
        }
 }