summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 94d2a51a60eb71024e6adbb2be72bdc8bcd5ad7d (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
#
# 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: {
            if ! $resolvconf_domain {
                fail("you need to define \$resolvconf_domain for ${fqdn}")
            }
            if ! $resolvconf_search {
                fail("you need to define \$resolvconf_search for $fqdn")
            }
        }
    }
    if ! $resolvconf_nameservers {
        fail("you need to define \$resolvconf_nameservers for $fqdn")
    }
    file{'/etc/resolv.conf':
        path => '/etc/resolv.conf',
        owner => root, group => 0, mode => 0444,
        content => $operatingsystem ? {
            openbsd => template("resolvconf/resolvconf.$operatingsystem.erb"),
            default => template('resolvconf/resolvconf.erb'),
        }
    }
}