# 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'], } }