aboutsummaryrefslogtreecommitdiff
path: root/manifests/server/config.pp
diff options
context:
space:
mode:
authorRaphaël Pinson <raphael.pinson@camptocamp.com>2013-04-14 23:50:03 -0700
committerRaphaël Pinson <raphael.pinson@camptocamp.com>2013-04-14 23:50:03 -0700
commit93895f1f039956ec9d02df511aaeaed885ae34bf (patch)
tree704909c98dc11bb9206b2c67f3f8557418507a21 /manifests/server/config.pp
parent87162a8cc3e47996160f85e1807f75b9ad741bc8 (diff)
parentc0f46562b70777b9a4a39429d94c49e869150c64 (diff)
downloadpuppet-dhcp-93895f1f039956ec9d02df511aaeaed885ae34bf.tar.gz
puppet-dhcp-93895f1f039956ec9d02df511aaeaed885ae34bf.tar.bz2
Merge pull request #5 from raphink/dev/cleanup
Cleanup, refactor…
Diffstat (limited to 'manifests/server/config.pp')
-rw-r--r--manifests/server/config.pp54
1 files changed, 54 insertions, 0 deletions
diff --git a/manifests/server/config.pp b/manifests/server/config.pp
new file mode 100644
index 0000000..0c1a74a
--- /dev/null
+++ b/manifests/server/config.pp
@@ -0,0 +1,54 @@
+# Class: dhcp::server::config
+#
+# Configure the DHCP server
+#
+class dhcp::server::config {
+ include ::dhcp::params
+ include ::concat::setup
+
+ validate_string($dhcp::params::config_dir)
+ validate_absolute_path($dhcp::params::config_dir)
+ validate_string($dhcp::params::server_template)
+ validate_re($dhcp::params::server_template, '^\S+$')
+
+ validate_string($dhcp::server::ddns_update)
+ validate_bool($dhcp::server::authoritative)
+ validate_array($dhcp::server::opts)
+
+ concat {"${dhcp::params::config_dir}/dhcpd.conf":
+ owner => root,
+ group => root,
+ mode => '0644',
+ }
+
+ concat::fragment {'00.dhcp.server.base':
+ ensure => present,
+ target => "${dhcp::params::config_dir}/dhcpd.conf",
+ content => template($dhcp::params::server_template),
+ }
+
+ file {"${dhcp::params::config_dir}/dhcpd.conf.d":
+ ensure => directory,
+ mode => '0700',
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/${module_name}/empty"
+ }
+
+ file {"${dhcp::params::config_dir}/subnets":
+ ensure => directory,
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/${module_name}/empty",
+ }
+
+ file {"${dhcp::params::config_dir}/hosts.d":
+ ensure => directory,
+ recurse => true,
+ purge => true,
+ force => true,
+ source => "puppet:///modules/${module_name}/empty",
+ }
+}