X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fresolv%2Fmanifests%2Finit.pp;h=9de974aed3861ed16dfefbbf3c0385a549a500dc;hb=83b436d346ecd8fdd2fa77caa2c32466b584806d;hp=c2a741d2dd46b403dae29d952a6f4d5c265d375d;hpb=7faacafcda0e19106a4b0bfa1e091baad2061ffd;p=mirror%2Fdsa-puppet.git diff --git a/modules/resolv/manifests/init.pp b/modules/resolv/manifests/init.pp index c2a741d2d..9de974aed 100644 --- a/modules/resolv/manifests/init.pp +++ b/modules/resolv/manifests/init.pp @@ -1,14 +1,28 @@ -class resolv { +class resolv( + Array[Stdlib::IP::Address] $nameservers = [], + Array[String] $searchpaths = [], + Array[String] $resolvoptions = [], +) { - $nameservers = $facts['unbound'] ? { - true => ['127.0.0.1'], - default => lookup('nameservers'), - } + $ns = $facts['unbound'] ? { + true => ['127.0.0.1'], + default => $nameservers, + } - $searchpaths = lookup('resolv_conf::searchpaths') - $resolvoptions = lookup('resolv_conf::resolvoptions') + file { '/etc/resolv.conf': + content => template('resolv/resolv.conf.erb'); + } - file { '/etc/resolv.conf': - content => template('resolv/resolv.conf.erb'); - } + file { '/etc/dhcp/dhclient-enter-hooks.d/puppet-no-resolvconf': + content => @("EOF"), + make_resolv_conf() { + : + } + | EOF + mode => '555', + ensure => ($dhclient and $unbound) ? { + true => 'present', + false => 'absent', + } + } }