-define site::sysctl ($key, $value, $ensure = present) {
+define site::sysctl ($key='', $value='', $target='Linux', $ensure = present) {
include site
case $ensure {
- present: {}
+ present: { if ($key == "" or $value == "") { fail ( "Need to provide key and value" )} }
absent: {}
- default: { err ( "Unknown ensure value: '$ensure'" ) }
+ default: { fail ( "Unknown ensure value: '$ensure'" ) }
}
- file {
- "/etc/sysctl.d/${name}.conf":
- ensure => $ensure,
- owner => root,
- group => root,
- mode => '0644',
- content => "${key} = ${value}\n",
- notify => Service['procps']
+ if $::kernel == $target {
+ file {
+ "/etc/sysctl.d/${name}.conf":
+ ensure => $ensure,
+ owner => root,
+ group => root,
+ mode => '0644',
+ content => "${key} = ${value}\n",
+ notify => Service['procps']
+ }
}
}