Manages configuration files via augeas
This module requires the augeas
Python module.
Warning
Minimal installations of Debian and Ubuntu have been seen to have packaging bugs with python-augeas, causing the augeas module to fail to import. If the minion has the augeas module installed, but the functions in this execution module fail to run due to being unavailable, first restart the salt-minion service. If the problem persists past that, the following command can be run from the master to determine what is causing the import to fail:
salt minion-id cmd.run 'python -c "from augeas import Augeas"'
For affected Debian/Ubuntu hosts, installing libpython2.7
has been
known to resolve the issue.
Execute Augeas commands
New in version 2014.7.0.
CLI Example:
salt '*' augeas.execute /files/etc/redis/redis.conf \
commands='["set bind 0.0.0.0", "set maxmemory 1G"]'
The Augeas context
The Augeas lens to use
The Augeas commands to execute
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.
Get a value for a specific augeas path
CLI Example:
salt '*' augeas.get /files/etc/hosts/1/ ipaddr
The path to get the value of
The optional value to get
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.
List the direct children of a node
CLI Example:
salt '*' augeas.ls /files/etc/passwd
The path to list
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.
Get matches for path expression
CLI Example:
salt '*' augeas.match /files/etc/services/service-name ssh
The path to match
The value to match on
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.
Get matches for path expression
CLI Example:
salt '*' augeas.remove \
/files/etc/sysctl.conf/net.ipv4.conf.all.log_martians
The path to remove
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.
Set a value for a specific augeas path
CLI Example:
salt '*' augeas.setvalue /files/etc/hosts/1/canonical localhost
This will set the first entry in /etc/hosts to localhost
CLI Example:
salt '*' augeas.setvalue /files/etc/hosts/01/ipaddr 192.168.1.1 \
/files/etc/hosts/01/canonical test
Adds a new host to /etc/hosts the ip address 192.168.1.1 and hostname test
CLI Example:
salt '*' augeas.setvalue prefix=/files/etc/sudoers/ \
"spec[user = '%wheel']/user" "%wheel" \
"spec[user = '%wheel']/host_group/host" 'ALL' \
"spec[user = '%wheel']/host_group/command[1]" 'ALL' \
"spec[user = '%wheel']/host_group/command[1]/tag" 'PASSWD' \
"spec[user = '%wheel']/host_group/command[2]" '/usr/bin/apt-get' \
"spec[user = '%wheel']/host_group/command[2]/tag" NOPASSWD
Ensures that the following line is present in /etc/sudoers:
%wheel ALL = PASSWD : ALL , NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
Returns recursively the complete tree of a node
CLI Example:
salt '*' augeas.tree /files/etc/
The base of the recursive listing
New in version 2016.3.0.
A colon-spearated list of directories that modules should be searched in. This is in addition to the standard load path and the directories in AUGEAS_LENS_LIB.