define set_variable (
$variable_name = "",
$value,
$file,
$prefix = ""
) {
$vr = $variable_name ? {
"" => $name,
default => $variable_name
}
$pr = $prefix ? {
"" => "",
default => "$prefix "
}
exec { "$name" :
command => "perl -ni -e '
BEGIN { \$found = 0; }
if (/^${prefix}\\s+${vr}.*=.*$/) {
s/^${prefix}\\s+${vr}.*=.*$/${vr}=${value}/;
\$found = 1;
};
print;
if (eof && \$found == 0) {
print \"${pr}${vr}=${value}\\n\";
}
' '$file'",
unless => "perl -ne '
BEGIN { \$ret = 1; }
if (/^${vr}.*=\\s*(\\S+)\\s*$/) {
if (\$1 eq '$value') {
\$ret = 0;
}
};
END { exit \$ret; }' '$file'",
path => "/bin:/usr/bin:/sbin:/usr/sbin",
}
}