puppet-kea/manifests/init.pp

38 lines
865 B
ObjectPascal
Raw Normal View History

2023-11-12 15:49:08 +01:00
# 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'],
}
}