]> gitweb.fluxo.info Git - puppet-dhcp.git/commitdiff
new dhcp::hosts - uses puppet hashes
authorCédric Jeanneret <cedric.jeanneret@camptocamp.com>
Tue, 26 Feb 2013 11:34:24 +0000 (11:34 +0000)
committerCédric Jeanneret <cedric.jeanneret@camptocamp.com>
Tue, 26 Feb 2013 11:34:24 +0000 (11:34 +0000)
manifests/hosts.pp [new file with mode: 0644]

diff --git a/manifests/hosts.pp b/manifests/hosts.pp
new file mode 100644 (file)
index 0000000..f0c7c37
--- /dev/null
@@ -0,0 +1,47 @@
+# = Definition: dhcp::hosts
+#
+# Creates a dhcp configuration for given hosts
+#
+# Arguments
+# $template:  dhcp host template - default: 'dhcp/host.conf.erb'
+# $subnet:    targeted subnet
+# $data_hash: hash containing data - default form:
+#      {
+#        <host1>         => {
+#          options       => false,
+#          fixed_address => false,
+#          eth0          => 'mac-address',
+#          eth1          => 'mac-address',
+#          …,
+#          wlan0 => 'mac-address',
+#          wlan1 => 'mac-address',
+#          …,
+#        },
+#        <host2>         => {
+#          options       => false,
+#          fixed_address => false,
+#          eth0          => 'mac-address',
+#          eth1          => 'mac-address',
+#          …,
+#          wlan0 => 'mac-address',
+#          wlan1 => 'mac-address',
+#          …,
+#          options => false,
+#        },
+#        …,
+#      }
+#
+define dhcp::hosts (
+  $data_hash,
+  $subnet,
+  $template = 'dhcp/host.conf.erb',
+) {
+
+  include dhcp::params
+
+  concat::fragment {"dhcp.host.${name}":
+    target  => "${dhcp::params::config_dir}/hosts.d/${subnet}.conf",
+    content => template($template),
+    notify  => Service['dhcpd'],
+  }
+}