From c7c9cd66f71599d399a7dc9046e5d31e4ec899ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Pinson?= Date: Fri, 23 Mar 2012 23:15:23 +0100 Subject: Add augeas::lens definition --- manifests/lens.pp | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 manifests/lens.pp (limited to 'manifests/lens.pp') diff --git a/manifests/lens.pp b/manifests/lens.pp new file mode 100644 index 0000000..b40f220 --- /dev/null +++ b/manifests/lens.pp @@ -0,0 +1,56 @@ +define augeas::lens ( + $ensure=present, + $lens_dir, + $lens_file='', + $test_file='' +) { + + $lenses_dir = "/usr/share/augeas/lenses" + + file { "${lenses_dir}/tests": + ensure => directory + } + +# $lens_file_source = $lens_file ? { +# '' => $lens_dir ? { +# '' => fail "Cannot determine lens file for ${name}", +# default => "${lens_dir}/${name}.aug" +# }, +# default => $lens_file +# } + + + $lens_file_source = "${lens_dir}/${name}.aug" + $lens_file_dest = "${lenses_dir}/${name}.aug" + +# $test_file_source = $test_file ? { +# '' => $lens_dir ? { +# '' => fail "Cannot determine test file for ${name}", +# default => "${lens_dir}/tests/test_${name}.aug" +# }, +# default => $test_file +# } + + $test_file_source = "${lens_dir}/tests/test_${name}.aug" + $test_file_dest = "${lenses_dir}/tests/test_${name}.aug" + + file { "${lens_file_dest}": + ensure => $ensure, + source => $lens_file_source, + } + + file { "${test_file_dest}": + ensure => $ensure, + source => $test_file_source, + } + + exec { "Typecheck lens": + command => "augparse -I ${lenses_dir} ${lens_file_dest} || (rm -f ${lens_file_dest} && exit 1)", + require => File["${lens_file_dest}"] + } + + exec { "Test lens": + command => "augparse -I ${lenses_dir} ${test_file_dest} || (rm -f ${lens_file_dest} && rm -f ${test_file_dest} && exit 1)", + require => File["${lens_file_dest}", "${test_file_dest}"] + } +} -- cgit v1.2.3