define apache2::site (
- $config = undef,
- $template = undef,
- $ensure = present,
- $site = undef
+ $source=undef,
+ $content=undef,
+ $ensure=present,
+ $site=undef
) {
include apache2
- if ! ($config or $template) {
- err ( "No configuration found for ${name}" )
+ case $ensure {
+ present: {
+ if ! ($source or $content) {
+ fail ( "No configuration found for ${name}" )
+ }
+ }
+ absent: {}
+ default: { fail ( "Unknown ensure value: '$ensure'" ) }
}
if $site {
$link_target = $ensure ? {
present => $target,
- absent => absent,
- default => err ( "Unknown ensure value: '$ensure'" ),
+ absent => absent
}
- if $template {
+ if $content {
file { $target:
ensure => $ensure,
- content => template($template),
+ content => $content,
require => Package['apache2'],
- notify => Service['apache2'],
+ notify => Exec['service apache2 reload'],
}
} else {
file { $target:
ensure => $ensure,
- source => $config,
+ source => $source,
require => Package['apache2'],
- notify => Service['apache2'],
+ notify => Exec['service apache2 reload'],
}
}
- if $ensure == present {
+ if versioncmp($::lsbmajdistrelease, '7') <= 0 {
+ $symlink = "/etc/apache2/sites-enabled/${name}"
+ } else {
+ $symlink = "/etc/apache2/sites-enabled/${name}.conf"
+
file { "/etc/apache2/sites-enabled/${name}":
+ ensure => absent,
+ notify => Exec['service apache2 reload'],
+ }
+ }
+
+ if $ensure == present {
+ file { $symlink:
ensure => link,
target => $link_target,
- notify => Service['apache2'],
+ notify => Exec['service apache2 reload'],
}
} else {
- file { "/etc/apache2/sites-enabled/${name}":
+ file { $symlink:
ensure => absent,
- notify => Service['apache2'],
+ notify => Exec['service apache2 reload'],
}
}
}