augeas
: Apply a change or an array of changes to the filesystem using the augeas tool.
Requires:
- Augeas
- The ruby-augeas bindings
augeas { "test1":
context => "/files/etc/sysconfig/firstboot",
changes => "set RUN_FIRSTBOOT YES",
onlyif => "match other_value size > 0",
}
augeas { "jboss_conf":
context => "/files",
changes => [
"set etc/jbossas/jbossas.conf/JBOSS_IP $ipaddress",
"set etc/jbossas/jbossas.conf/JAVA_HOME /usr",
],
load_path => "$/usr/share/jbossas/lenses",
}
The following properties are available in the augeas
type.
The expected return code from the augeas command. Should not be set.
Default value: 0
The following parameters are available in the augeas
type.
The changes which should be applied to the filesystem. This can be a command or an array of commands. The following commands are supported:
set <PATH> <VALUE>
--- Sets the valueVALUE
at locationPATH
setm <PATH> <SUB> <VALUE>
--- Sets multiple nodes (matchingSUB
relative toPATH
) toVALUE
rm <PATH>
--- Removes the node at locationPATH
remove <PATH>
--- Synonym forrm
clear <PATH>
--- Sets the node atPATH
toNULL
, creating it if neededclearm <PATH> <SUB>
--- Sets multiple nodes (matchingSUB
relative toPATH
) toNULL
touch <PATH>
--- CreatesPATH
with the valueNULL
if it does not existins <LABEL> (before|after) <PATH>
--- Inserts an empty nodeLABEL
either before or afterPATH
.insert <LABEL> <WHERE> <PATH>
--- Synonym forins
mv <PATH> <OTHER PATH>
--- Moves a node atPATH
to the new locationOTHER PATH
move <PATH> <OTHER PATH>
--- Synonym formv
rename <PATH> <LABEL>
--- Rename a node atPATH
to a newLABEL
defvar <NAME> <PATH>
--- Sets Augeas variable$NAME
toPATH
defnode <NAME> <PATH> <VALUE>
--- Sets Augeas variable$NAME
toPATH
, creating it withVALUE
if needed
If the context
parameter is set, that value is prepended to any relative PATH
s.
Optional context path. This value is prepended to the paths of all
changes if the path is relative. If the incl
parameter is set,
defaults to /files + incl
; otherwise, defaults to the empty string.
Default value: ''
Optional command to force the augeas type to execute even if it thinks changes
will not be made. This does not override the onlyif
parameter.
Default value: false
Load only a specific file, such as /etc/hosts
. This can greatly speed
up the execution the resource. When this parameter is set, you must also
set the lens
parameter to indicate which lens to use.
Use a specific lens, such as Hosts.lns
. When this parameter is set, you
must also set the incl
parameter to indicate which file to load.
The Augeas documentation includes a list of available lenses.
Optional colon-separated list or array of directories; these directories are searched for schema definitions.
The agent's $libdir/augeas/lenses
path will always be added to support pluginsync.
Default value: ''
namevar
The name of this task. Used for uniqueness.
Optional augeas command and comparisons to control the execution of this type.
Note: values
is not an actual augeas API command. It calls match
to retrieve an array of paths
in <MATCH_PATH> and then get
to retrieve the values from each of the returned paths.
Supported onlyif syntax:
get <AUGEAS_PATH> <COMPARATOR> <STRING>
values <MATCH_PATH> include <STRING>
values <MATCH_PATH> not_include <STRING>
values <MATCH_PATH> == <AN_ARRAY>
values <MATCH_PATH> != <AN_ARRAY>
match <MATCH_PATH> size <COMPARATOR> <INT>
match <MATCH_PATH> include <STRING>
match <MATCH_PATH> not_include <STRING>
match <MATCH_PATH> == <AN_ARRAY>
match <MATCH_PATH> != <AN_ARRAY>
where:
AUGEAS_PATH
is a valid path scoped by the contextMATCH_PATH
is a valid match syntax scoped by the contextCOMPARATOR
is one of>, >=, !=, ==, <=,
or<
STRING
is a stringINT
is a numberAN_ARRAY
is in the form['a string', 'another']
Default value: ''
The specific backend to use for this augeas
resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
A file system path; all files loaded by Augeas are loaded underneath root
.
Default value: /
Valid values: true
, false
, yes
, no
Whether to display differences when the file changes, defaulting to
true. This parameter is useful for files that may contain passwords or
other secret data, which might otherwise be included in Puppet reports or
other insecure outputs. If the global show_diff
setting
is false, then no diffs will be shown even if this parameter is true.
Default value: true
Valid values: true
, false
Whether augeas should perform typechecking. Defaults to false.
Default value: false