Defined Type: sysctl::value
- Defined in:
- manifests/value.pp
Overview
Define sysctl::value
Place a single sysctl entry
Cloned from Duritong’s puppet-sysctl module: github.com/duritong/puppet-sysctl/
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'manifests/value.pp', line 8
define sysctl::value (
$value,
$key = 'name'
) {
$array = split($value,'[\s\t]')
$val1 = inline_template("<%= @array.delete_if(&:empty?).flatten.join(\"\t\") %>")
$real_key = $key ? {
'name' => $name,
default => $key,
}
sysctl { $real_key :
val => $val1,
before => Exec["exec_sysctl_${real_key}"],
}
$command = $::kernel ? {
openbsd => "sysctl ${real_key}=\"${val1}\"",
default => "sysctl -w ${real_key}=\"${val1}\"",
}
$unless = $::kernel ? {
openbsd => "sysctl ${real_key} | grep -q '=${val1}\$'",
default => "sysctl ${real_key} | grep -q ' = ${val1}'",
}
exec { "exec_sysctl_${real_key}" :
command => $command,
unless => $unless,
require => Sysctl[$real_key],
path => '/sbin:/bin:/usr/sbin:/usr/bin',
}
}
|