Add configuration of kea
This commit is contained in:
parent
420148167f
commit
3be54b15d4
1 changed files with 56 additions and 6 deletions
|
@ -1,14 +1,32 @@
|
||||||
# Class to install and configure ISC Kea DHCP service
|
# Class to install and configure ISC Kea DHCP service.
|
||||||
|
# Check https://kb.isc.org/docs/kea-configuration-sections-explained for details
|
||||||
|
# for each parameter.
|
||||||
#
|
#
|
||||||
# [*ensure*]
|
# [*ensure*]
|
||||||
# present or absent. Default: present
|
# present or absent. Default: present
|
||||||
#
|
#
|
||||||
|
# [*dhcp4_conf*]
|
||||||
|
# Hash with the DHCP 4 service configuration.
|
||||||
|
#
|
||||||
|
# [*dhcp6_conf*]
|
||||||
|
# Hash with the DHCP 4 service configuration.
|
||||||
|
#
|
||||||
|
# [*ddns_conf*]
|
||||||
|
# Hash with the Dynamic DNS configuration.
|
||||||
|
#
|
||||||
|
# [*ctrl_agent_conf*]
|
||||||
|
# Hash with the Control Agent configuration.
|
||||||
|
#
|
||||||
# [*api_password*]
|
# [*api_password*]
|
||||||
# (Sensitive) String API password.
|
# (Sensitive) String API password.
|
||||||
#
|
#
|
||||||
class kea (
|
class kea (
|
||||||
String $ensure = 'present',
|
String $ensure = 'present',
|
||||||
Sensitive[String[1]] $api_password,
|
Hash $dhcp4_conf = {},
|
||||||
|
Hash $dhcp6_conf = {},
|
||||||
|
Hash $ddns_conf = {},
|
||||||
|
Hash $ctrl_agent_conf = {},
|
||||||
|
Sensitive[String[1]] $api_password = '',
|
||||||
) {
|
) {
|
||||||
case $ensure {
|
case $ensure {
|
||||||
default: {
|
default: {
|
||||||
|
@ -27,11 +45,43 @@ class kea (
|
||||||
package { 'kea':
|
package { 'kea':
|
||||||
ensure => $package_ensure,
|
ensure => $package_ensure,
|
||||||
}
|
}
|
||||||
file_line { 'kea_api_password':
|
file { '/etc/kea/kea-api-password':
|
||||||
ensure => $ensure,
|
ensure => $ensure,
|
||||||
path => '/etc/kea/kea-api-password',
|
content => $api_password,
|
||||||
match => '.*',
|
mode => '0640',
|
||||||
line => $api_password,
|
require => Package['kea'],
|
||||||
|
notify => Service['kea'],
|
||||||
|
}
|
||||||
|
file { '/etc/kea/kea-dhcp4.conf':
|
||||||
|
ensure => $ensure,
|
||||||
|
content => to_json($dhcp4_conf),
|
||||||
|
mode => '0644',
|
||||||
|
require => Package['kea'],
|
||||||
|
notify => Service['kea'],
|
||||||
|
}
|
||||||
|
file { '/etc/kea/kea-dhcp6.conf':
|
||||||
|
ensure => $ensure,
|
||||||
|
content => to_json($dhcp6_conf),
|
||||||
|
mode => '0644',
|
||||||
|
require => Package['kea'],
|
||||||
|
notify => Service['kea'],
|
||||||
|
}
|
||||||
|
file { '/etc/kea/kea-dhcp-ddns.conf':
|
||||||
|
ensure => $ensure,
|
||||||
|
content => to_json($ddns_conf),
|
||||||
|
mode => '0644',
|
||||||
|
require => Package['kea'],
|
||||||
|
notify => Service['kea'],
|
||||||
|
}
|
||||||
|
file { '/etc/kea/kea-ctrl-agent.conf':
|
||||||
|
ensure => $ensure,
|
||||||
|
content => to_json($ctrl_agent_conf),
|
||||||
|
mode => '0644',
|
||||||
|
require => Package['kea'],
|
||||||
|
notify => Service['kea'],
|
||||||
|
}
|
||||||
|
service { 'kea':
|
||||||
|
ensure => $service_ensure,
|
||||||
require => Package['kea'],
|
require => Package['kea'],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue