summaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: dd9d2e03a49c4ed59e4f03b8a5e34752d1354446 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class sysctl {

  define config ($value, $comment) {
    file { "sysctl_$name":
      path => "/etc/sysctl.conf",
      mode => 644,
      owner => root,
      group => root,
      ensure => present,
    }
    augeas { "sysctl_$name":
      context => "/files/etc/sysctl.conf",
      changes => [ "set $name $value", "insert #comment before $name",
                   "set #comment[last()] '$comment'" ],
      onlyif  => "get $name != $value",
      notify  => Exec["sysctl_$name"],
    }
    exec { "sysctl_$name":
      command => "/sbin/sysctl -p",
      subscribe   => File["sysctl_$name"],
      refreshonly => true,
    }
  }
}