puppet 4 foo
[mirror/dsa-puppet.git] / modules / site / manifests / sysctl.pp
index 9786c8e..b9e3434 100644 (file)
@@ -1,18 +1,20 @@
-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']
+               }
        }
 }