summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 77c921f9c347011f2fc585aaf339446f62022260 (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
38
39
40
41
#
# resolvconf module
#
# Copyright 2008, admin(at)immerda.ch
# Copyright 2008, Puzzle ITC GmbH
# Marcel Härry haerry+puppet(at)puzzle.ch
# Simon Josi josi+puppet(at)puzzle.ch
#
# This program is free software; you can redistribute 
# it and/or modify it under the terms of the GNU 
# General Public License version 3 as published by 
# the Free Software Foundation.
#

class resolvconf {
    case $operatingsystem {
        openbsd: { info("\$resolvconf_domain and  \$resolvconf_search not needed on openbsd") }
        default: {
            case $resolvconf_domain {
                '': { fail("you need to define \$resolvconf_domain for ${fqdn}") }
            }
            case $resolvconf_search {
                '': { fail("you need to define \$resolvconf_search for ${fqdn}") }
            }
        }
    }
    case $resolvconf_nameservers {
        '': { fail("you need to define \$resolvconf_nameservers for ${fqdn}") }
    }

    file { '/etc/resolv.conf':
        path => '/etc/resolv.conf',
        owner => root,
        group => 0,
        mode => 444,
        content => $operatingsystem ? {
            openbsd => template("resolvconf/resolvconf.${operatingsystem}.erb"),
            default => template('resolvconf/resolvconf.erb'),
        }
    }
}