4faa33f156a3525eaa66c9bc2efac3c5bdf97c2c
[mirror/dsa-puppet.git] / modules / apache2 / manifests / config.pp
1 define apache2::config (
2         $source=undef,
3         $content=undef,
4         $ensure=present
5 ) {
6
7         include apache2
8
9         case $ensure {
10                 present: {
11                         if ! ($source or $content) {
12                                 fail ( "No configuration found for ${name}" )
13                         }
14                 }
15                 absent:  {}
16                 default: { fail ( "Unknown ensure value: '$ensure'" ) }
17         }
18
19         if $::lsbmajdistrelease <= 7 {
20                 if $content {
21                         file { "/etc/apache2/conf.d/${name}":
22                                 ensure  => $ensure,
23                                 content => $content,
24                                 require => Package['apache2'],
25                                 notify  => Service['apache2'],
26                         }
27                 } else {
28                         file { "/etc/apache2/conf.d/${name}":
29                                 ensure  => $ensure,
30                                 source  => $source,
31                                 require => Package['apache2'],
32                                 notify  => Service['apache2'],
33                         }
34                 }
35         } else {
36                 if $content {
37                         file { "/etc/apache2/conf-available/${name}.conf":
38                                 ensure  => $ensure,
39                                 content => $content,
40                                 require => Package['apache2'],
41                                 notify  => Service['apache2'],
42                         }
43                 } else {
44                         file { "/etc/apache2/conf-available/${name}.conf":
45                                 ensure  => $ensure,
46                                 source  => $source,
47                                 require => Package['apache2'],
48                                 notify  => Service['apache2'],
49                         }
50                 }
51
52                 $link_ensure = $ensure ? {
53                         present => link,
54                         absent  => absent
55                 }
56
57                 file { "/etc/apache2/conf-enabled/${name}.conf":
58                         ensure => $link_ensure,
59                         target => "../conf-available/${name}.conf",
60                         notify => Service['apache2'],
61                 }
62         }
63 }