summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 68c3eb50f21c9bbc321a19959d36413c0cce8d0c (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'),
    }
  }
}