summaryrefslogtreecommitdiff
path: root/manifests/config/file.pp
blob: 6fa98c42831a13ffbec3800cc8e5fd29bbd35143 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
define lighttpd::config::file(
    $ensure = present,
    $conf_source = 'absent',
    $content = 'absent'
){
    file{"/etc/lighttpd/conf.d/${name}.conf":
        ensure => $ensure,
        notify => Service['lighttpd'],
        owner => root, group => 0, mode => 0644;
    }

    case $content {
        'absent': {
            File["/etc/lighttpd/conf.d/${name}.conf"]{
                source => $conf_source ? {
                  'absent'  => [
                    "puppet://$server/modules/site-lighttpd/conf.d/$fqdn/$name.conf",
                    "puppet://$server/modules/site-lighttpd/conf.d/$lighttpd_cluster_node/$name.conf",
                    "puppet://$server/modules/site-lighttpd/conf.d/$operatingsystem.$lsbdistcodename/$name.conf",
                    "puppet://$server/modules/site-lighttpd/conf.d/$operatingsystem/$name.conf",
                    "puppet://$server/modules/site-lighttpd/conf.d/$name.conf",
                    "puppet://$server/modules/lighttpd/conf.d/$name.conf",
                    "puppet://$server/modules/lighttpd/conf.d/$operatingsystem.$lsbdistcodename/$name.conf",
                    "puppet://$server/modules/lighttpd/conf.d/$operatingsystem/$name.conf",
                    "puppet://$server/modules/lighttpd/conf.d/$name.conf"
                  ],
                  default => "puppet://$server/$conf_source",
              }
            }
        }
        default: {
            File["/etc/lighttpd/conf.d/${name}.conf"]{
                content => $content,
            }
        }
    }
}