1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # Module:: public::ssh
- # Manifest:: configline.pp
- #
- # Lorraine Data Network http://ldn-fai.net/
- # Define:: public::ssh::configline
- # Args::
- # $ensure = present,
- # $value = false,
- #
- define public::ssh::configline(
- $ensure = present,
- $value = false
- ) {
- Augeas {
- context => '/files/etc/ssh/sshd_config',
- notify => Service['ssh'],
- }
- case $ensure {
- present: {
- augeas { "sshd_config_${name}":
- changes => "set ${name} ${value}",
- onlyif => "get ${name} != ${value}",
- }
- }
- add: {
- augeas { "sshd_config_${name}":
- onlyif => "get ${name}[. = '${value}'] != ${value}",
- changes => [
- "ins ${name} after ${name}[last()]",
- "set ${name}[last()] ${value}"
- ],
- }
- }
- absent: {
- augeas { "sshd_config_${name}":
- changes => "rm ${name}",
- onlyif => "get ${name}",
- }
- }
- default: {
- fail("ensure value must be present, add or absent, not ${ensure}")
- }
- }
- } # Define: public::ssh::configline
|