diff options
Diffstat (limited to 'manifests/server/config.pp')
-rw-r--r-- | manifests/server/config.pp | 54 |
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", + } +} |