X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fresolv%2Fmanifests%2Finit.pp;h=9de974aed3861ed16dfefbbf3c0385a549a500dc;hb=83b436d346ecd8fdd2fa77caa2c32466b584806d;hp=3fd5530ab780841af1358d37a55b85d25971a8e4;hpb=c1f9b4855bc047dc0181065e0b25250e4e647246;p=mirror%2Fdsa-puppet.git diff --git a/modules/resolv/manifests/init.pp b/modules/resolv/manifests/init.pp index 3fd5530ab..9de974aed 100644 --- a/modules/resolv/manifests/init.pp +++ b/modules/resolv/manifests/init.pp @@ -1,5 +1,28 @@ -class resolv { - file { "/etc/resolv.conf/": - content => template("resolv/resolv.conf.erb"); - } +class resolv( + Array[Stdlib::IP::Address] $nameservers = [], + Array[String] $searchpaths = [], + Array[String] $resolvoptions = [], +) { + + $ns = $facts['unbound'] ? { + true => ['127.0.0.1'], + default => $nameservers, + } + + 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', + } + } }