1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# Class: dhcp::server
#
# Installs and configures a DHCP server.
#
# Parameters:
# ['ddns_update'] : ddns-update-style option (defaults to 'none')
# ['authoritative'] : a boolean setting whether the DHCP server is
# authoritative (defaults to false)
# ['log_facility'] : string containing syslog log levels
# (defaults to local7)
# ['opts'] : an array of DHCPD valid options
#
# Sample usage:
# node "dhcp.toto.ltd" {
# class { 'dhcp::server':
# opts => ['domain-name "toto.ltd"',
# 'domain-name-servers 192.168.21.1'],
# }
#
# dhcp::subnet {"10.27.20.0":
# ensure => present,
# broadcast => "10.27.20.255",
# other_opts => ['filename "pxelinux.0";', 'next-server 10.27.10.1;'],
# }
#
# dhcp::host {"titi-eth0":
# ensure => present,
# mac => "0e:18:fa:fe:d9:00",
# subnet => "10.27.20.0",
# fixed_address => "10.27.10.52",
# }
# }
#
# Requires:
# - puppetlabs/stdlib
# - ripienaar/concat
#
class dhcp::server (
$ddns_update = 'none',
$authoritative = false,
$log_facility = 'local7',
$opts = [],
) {
class { '::dhcp::server::packages': } ->
class { '::dhcp::server::config': } ~>
class { '::dhcp::server::service': }
}
|