Report abuse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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",
        }
}