summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'manifests')
-rw-r--r--manifests/files.pp14
-rw-r--r--manifests/init.pp12
-rw-r--r--manifests/lens.pp10
-rw-r--r--manifests/packages.pp20
-rw-r--r--manifests/params.pp12
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'