diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/files.pp | 14 | ||||
-rw-r--r-- | manifests/init.pp | 12 | ||||
-rw-r--r-- | manifests/lens.pp | 10 | ||||
-rw-r--r-- | manifests/packages.pp | 20 | ||||
-rw-r--r-- | manifests/params.pp | 12 |
5 files changed, 41 insertions, 27 deletions
diff --git a/manifests/files.pp b/manifests/files.pp index 4f36a57..c73c19b 100644 --- a/manifests/files.pp +++ b/manifests/files.pp @@ -8,7 +8,7 @@ class augeas::files { # ensure no file not managed by puppet ends up in there. file { $lens_dir: ensure => directory, - purge => true, + purge => $::augeas::purge, force => true, recurse => true, recurselimit => 1, @@ -26,11 +26,11 @@ class augeas::files { } file { "${lens_dir}/tests": - ensure => directory, - purge => true, - force => true, - mode => '0644', - owner => 'root', - group => 'root', + ensure => directory, + purge => $::augeas::purge, + force => true, + mode => '0644', + owner => 'root', + group => 'root', } } diff --git a/manifests/init.pp b/manifests/init.pp index 80fbbd8..41f4f87 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -6,15 +6,19 @@ # ['version'] - the desired version of Augeas # ['ruby_version'] - the desired version of the Ruby bindings for Augeas # ['lens_dir'] - the lens directory to use +# ['purge'] - whether to purge lens directories class augeas ( - $version = $augeas_version, - $ruby_version = $augeas_ruby_version, - $lens_dir = $augeas::params::lens_dir, + $version = present, + $ruby_version = present, + $lens_dir = $augeas::params::lens_dir, + $purge = true, ) inherits augeas::params { class {'::augeas::packages': } -> class {'::augeas::files': } -> Class['augeas'] - Package['ruby-augeas'] -> Augeas <| |> + # lint:ignore:spaceship_operator_without_tag + Package['ruby-augeas', $augeas::params::augeas_pkgs] -> Augeas <| |> + # lint:endignore } diff --git a/manifests/lens.pp b/manifests/lens.pp index ac4fddf..b5b9acd 100644 --- a/manifests/lens.pp +++ b/manifests/lens.pp @@ -30,6 +30,16 @@ define augeas::lens ( fail('You must declare the augeas class before using augeas::lens') } + File { + owner => 'root', + group => 'root', + mode => '0644', + } + + Exec { + path => $::path, + } + if (!$stock_since or versioncmp($::augeasversion, $stock_since) < 0) { validate_re( diff --git a/manifests/packages.pp b/manifests/packages.pp index 91dbb74..ff8628d 100644 --- a/manifests/packages.pp +++ b/manifests/packages.pp @@ -3,24 +3,12 @@ # Sets up packages for Augeas # class augeas::packages { - # Augeas packages - $augeas_ensure = $augeas::version ? { - '' => 'present', - default => $augeas::version - } - - package { $augeas::params::augeas_pkgs: - ensure => $augeas_ensure, - } - - # Ruby package - $ruby_ensure = $augeas::ruby_version ? { - '' => 'present', - default => $augeas::ruby_version + package { $::augeas::params::augeas_pkgs: + ensure => $::augeas::version, } package { 'ruby-augeas': - ensure => $ruby_ensure, - name => $augeas::params::ruby_pkg, + ensure => $::augeas::ruby_version, + name => $::augeas::params::ruby_pkg, } } diff --git a/manifests/params.pp b/manifests/params.pp index 9998308..e540033 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -11,6 +11,18 @@ class augeas::params { $augeas_pkgs = ['augeas', 'augeas-libs'] } + 'Suse': { + # RPM Sources: https://build.opensuse.org/project/show/systemsmanagement:puppet + # SLES 11 SP3 + if versioncmp($::rubyversion, '1.8.7') >= 0 { + $ruby_pkg = 'ruby1.8-rubygem-ruby-augeas' + # SLES 12 + } else { + $ruby_pkg = 'ruby2.1-rubygem-ruby-augeas' + } + $augeas_pkgs = ['augeas', 'augeas-lenses', 'libaugeas0' ] + } + 'Debian': { if versioncmp($::rubyversion, '1.9.1') >= 0 { $ruby_pkg = 'libaugeas-ruby1.9.1' |