]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/apache2/manifests/site.pp
massive style guide fixups
[dsa-puppet.git] / modules / apache2 / manifests / site.pp
1 define apache2::site (
2         $config = undef,
3         $template = undef,
4         $ensure = present,
5         $site = undef
6 ) {
7
8         include apache2
9
10         if ! ($config or $template) {
11                 err ( "No configuration found for ${name}" )
12         }
13
14         if $site {
15                 $base = $site
16         } else {
17                 $base = $name
18         }
19
20         $target = "/etc/apache2/sites-available/${base}"
21
22         $link_target = $ensure ? {
23                 present => $target,
24                 absent  => absent,
25                 default => err ( "Unknown ensure value: '$ensure'" ),
26         }
27
28         if $template {
29                 file { $target:
30                         ensure  => $ensure,
31                         content => template($template),
32                         require => Package['apache2'],
33                         notify  => Service['apache2'],
34                 }
35         } else {
36                 file { $target:
37                         ensure  => $ensure,
38                         source  => $config,
39                         require => Package['apache2'],
40                         notify  => Service['apache2'],
41                 }
42         }
43
44         file { "/etc/apache2/sites-enabled/${name}":
45                 ensure => $link_target,
46                 notify => Service['apache2'],
47         }
48 }