From 3c0e4d26c2ff891d6bd2d7efb38ff260e3d2b8eb Mon Sep 17 00:00:00 2001 From: aes_ng Date: Mon, 28 Jan 2013 16:22:24 +0200 Subject: [PATCH] A module for creating a resolv.conf file Signed-off-by: Ossi Salmi --- resolver/manifests/init.pp | 31 ++++++++++++++++++++++++++++++ resolver/templates/resolv.conf.erb | 6 ++++++ 2 files changed, 37 insertions(+) create mode 100644 resolver/manifests/init.pp create mode 100644 resolver/templates/resolv.conf.erb diff --git a/resolver/manifests/init.pp b/resolver/manifests/init.pp new file mode 100644 index 0000000..08e3f4e --- /dev/null +++ b/resolver/manifests/init.pp @@ -0,0 +1,31 @@ +# Class: resolver +# +# This class handles configuring /etc/resolv.conf +# +# Parameters: +# $domainname: The default domain +# +# $searchpath: Array of domains to search +# +# $nameservers: List of nameservers to search +# +# Actions: +# Configures the /etc/resolv.conf file according to parameters +# +# Requires: +# +# Sample Usage: +# class { 'resolver': +# domainname => "mydomain", +# searchpath => ['mydomain', 'test.mydomain'], +# nameservers => ['192.168.1.100', '192.168.1.101', '192.168.1.102'], +# } +# +class resolver($domainname = "", $searchpath = "", $nameservers ) { + file { "/etc/resolv.conf": + owner => root, + group => root, + mode => 644, + content => template("resolver/resolv.conf.erb"), + } +} diff --git a/resolver/templates/resolv.conf.erb b/resolver/templates/resolv.conf.erb new file mode 100644 index 0000000..aaf5f51 --- /dev/null +++ b/resolver/templates/resolv.conf.erb @@ -0,0 +1,6 @@ +<% if !domainname.empty? %>domain <%= domainname %> +<% end -%> +<% if !searchpath.empty? %>search <%= searchpath.join(" ") %> +<% end -%> +<% nameservers.each do |ns| %>nameserver <%= ns %> +<% end -%>