55 lines
1.7 KiB
Puppet
55 lines
1.7 KiB
Puppet
class provision::dhcpd (
|
|
$network_address = $::provision::params::network_address,
|
|
$network_mask = $::provision::params::network_mask,
|
|
$broadcast_address = $::provision::params::broadcast_address,
|
|
$start_address = $::provision::params::start_address,
|
|
$end_address = $::provision::params::end_address,
|
|
$router = $::provision::params::router,
|
|
$next_server = $::provision::params::next_server,
|
|
$dns_address = $::provision::params::dns_address,
|
|
$domain_name = $::provision::params::domain_name,
|
|
$ddns_key = $::provision::params::ddns_key,
|
|
$ddns_key_algorithm = $::provision::params::ddns_key_algorithm,
|
|
$ddns_key_name = $::provision::params::ddns_key_name,
|
|
$known_hosts = [],
|
|
) inherits provision::params {
|
|
|
|
$package_name = $::provision::params::dhcpd_package
|
|
$service_name = $::provision::params::dhcpd_service
|
|
|
|
package { $package_name : }
|
|
|
|
file { $::provision::params::dhcpd_conf :
|
|
ensure => present,
|
|
content => template('provision/dhcpd.conf.erb'),
|
|
owner => 'dhcpd',
|
|
group => 'dhcpd',
|
|
mode => '0640',
|
|
require => Package[$package_name],
|
|
notify => Service[$service_name],
|
|
}
|
|
|
|
file { $::provision::params::dhcpd_conf_d :
|
|
ensure => directory,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0755',
|
|
require => Package[$package_name],
|
|
}
|
|
|
|
# It is just a file that could be modified by other modules
|
|
file { $::provision::params::dhcpd_conf_extra :
|
|
ensure => present,
|
|
require => File[$::provision::params::dhcpd_conf_d],
|
|
}
|
|
|
|
service { $service_name :
|
|
ensure => running,
|
|
enable => true,
|
|
hasrestart => false,
|
|
hasstatus => false,
|
|
require => Package[$package_name],
|
|
}
|
|
|
|
}
|