diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/yum/manifests/config.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/yum/manifests/config.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,46 @@ +# Define: yum::config +# +# This definition manages yum.conf +# +# Parameters: +# [*key*] - alternative conf. key (defaults to name) +# [*ensure*] - specifies value or absent keyword +# [*section*] - config section (default to main) +# +# Actions: +# +# Requires: +# RPM based system +# +# Sample usage: +# yum::config { 'installonly_limit': +# ensure => 2, +# } +# +# yum::config { 'debuglevel': +# ensure => absent, +# } +# +define yum::config ( + $ensure, + $key = $title, + $section = 'main' +) { + validate_string($key, $section) + + unless is_integer($ensure) { + validate_string($ensure) + } + + $_changes = $ensure ? { + absent => "rm ${key}", + default => "set ${key} ${ensure}", + } + + augeas { "yum.conf_${section}_${key}": + incl => '/etc/yum.conf', + lens => 'Yum.lns', + context => "/files/etc/yum.conf/${section}/", + changes => $_changes, + } +}