- include puppet-dhcp module - manage dhcp pools - manage dhcp classes (bios/uefi)
38 lines
879 B
Puppet
38 lines
879 B
Puppet
# profiles::dhcp::server
|
|
class profiles::dhcp::server (
|
|
Array[Stdlib::Host] $ntpservers = [
|
|
'0.au.pool.ntp.org',
|
|
'1.au.pool.ntp.org',
|
|
'2.au.pool.ntp.org',
|
|
'3.au.pool.ntp.org'
|
|
],
|
|
Array[String] $interfaces = ['eth0'],
|
|
Integer $default_lease_time = 86400,
|
|
Array[String] $globaloptions = [],
|
|
Hash $pools = {},
|
|
Hash $classes = {},
|
|
){
|
|
|
|
class { 'dhcp':
|
|
service_ensure => running,
|
|
interfaces => $interfaces,
|
|
ntpservers => $ntpservers,
|
|
default_lease_time => $default_lease_time,
|
|
globaloptions => $globaloptions
|
|
}
|
|
|
|
# if pools, import them
|
|
$pools.each | $name, $data | {
|
|
dhcp::pool { $name:
|
|
* => $data,
|
|
}
|
|
}
|
|
|
|
# if classes, import them
|
|
$classes.each | $name, $data | {
|
|
dhcp::dhcp_class { $name:
|
|
* => $data,
|
|
}
|
|
}
|
|
}
|