0bb6a6e491a49f58b1dd7418734a8503b2f1361a
[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                         if $content {
16                                 file { "/etc/apache2/conf-available/${name}.conf":
17                                         ensure  => $ensure,
18                                         content => $content,
19                                         require => Package['apache2'],
20                                         notify  => Exec['service apache2 reload'],
21                                 }
22                         } else {
23                                 file { "/etc/apache2/conf-available/${name}.conf":
24                                         ensure  => $ensure,
25                                         source  => $source,
26                                         require => Package['apache2'],
27                                         notify  => Exec['service apache2 reload'],
28                                 }
29                         }
30                 }
31                 absent:  {
32                         file { "/etc/apache2/conf-available/${name}.conf":
33                                 ensure  => $ensure,
34                                 require => Package['apache2'],
35                                 notify  => Exec['service apache2 reload'],
36                         }
37                 }
38                 default: { fail ( "Unknown ensure value: '$ensure'" ) }
39         }
40         $link_ensure = $ensure ? {
41                 present => link,
42                 absent  => absent
43         }
44
45         file { "/etc/apache2/conf-enabled/${name}.conf":
46                 ensure => $link_ensure,
47                 target => "../conf-available/${name}.conf",
48                 notify  => Exec['service apache2 reload'],
49         }
50 }