37 lines
865 B
Puppet
37 lines
865 B
Puppet
# Class to install and configure ISC Kea DHCP service
|
|
#
|
|
# [*ensure*]
|
|
# present or absent. Default: present
|
|
#
|
|
# [*api_password*]
|
|
# (Sensitive) String API password.
|
|
#
|
|
class kea (
|
|
String $ensure = 'present',
|
|
Sensitive[String[1]] $api_password,
|
|
) {
|
|
case $ensure {
|
|
default: {
|
|
$package_ensure = 'latest'
|
|
$directory_ensure = 'directory'
|
|
$link_ensure = 'link'
|
|
$service_ensure = 'running'
|
|
}
|
|
/^(absent|delete|uninstall|remove|unregister)$/: {
|
|
$package_ensure = 'absent'
|
|
$directory_ensure = 'absent'
|
|
$link_ensure = 'absent'
|
|
$service_ensure = 'stopped'
|
|
}
|
|
}
|
|
package { 'kea':
|
|
ensure => $package_ensure,
|
|
}
|
|
file_line { 'kea_api_password':
|
|
ensure => $ensure,
|
|
path => '/etc/kea/kea-api-password',
|
|
match => '.*',
|
|
line => $api_password,
|
|
require => Package['kea'],
|
|
}
|
|
}
|