summaryrefslogtreecommitdiff
path: root/manifests/config/file.pp
blob: af6580f6d2223b04594b02e925bd4db495fc9cab (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:///modules/site-lighttpd/conf.d/$fqdn/$name.conf",
                    "puppet:///modules/site-lighttpd/conf.d/$lighttpd_cluster_node/$name.conf",
                    "puppet:///modules/site-lighttpd/conf.d/$operatingsystem.$lsbdistcodename/$name.conf",
                    "puppet:///modules/site-lighttpd/conf.d/$operatingsystem/$name.conf",
                    "puppet:///modules/site-lighttpd/conf.d/$name.conf",
                    "puppet:///modules/lighttpd/conf.d/$name.conf",
                    "puppet:///modules/lighttpd/conf.d/$operatingsystem.$lsbdistcodename/$name.conf",
                    "puppet:///modules/lighttpd/conf.d/$operatingsystem/$name.conf",
                    "puppet:///modules/lighttpd/conf.d/$name.conf"
                  ],
                  default => "puppet:///$conf_source",
              }
            }
        }
        default: {
            File["/etc/lighttpd/conf.d/${name}.conf"]{
                content => $content,
            }
        }
    }
}