cookbook 'augeas', '= 0.1.1', :supermarket
augeas (7) Versions 0.1.1 Follow2
cookbook 'augeas', '= 0.1.1'
knife supermarket install augeas
knife supermarket download augeas
Augeas is a library that allows files of different formats to be
edited in a mostly generic manner. It does this by using a
lens to transform the file
into a generic tree like structure which can then be modified and transformed back into
the original format of the file. This cookbook provides a resource that allows recipes to
modify files using augeas.
Right now it should work on RHEL/Fedora platforms. I think the only change needed to support other platforms is modifying the geminstall recipe to install the right packages.
- RHEL Family
Resources and Providers
augeas provider is used to make changes to files using the augeas library.
changes(required) - A string or list of strings that contain augeas commands to run
lens(optional) - A specific lens to use to transform the file being modified
incl(optional) - Only include the specified file in the augeas context. If this is set lens must also be specified.
run_if(optional) - Only run if the given augeas matcher is true
Set the sysconfig variable
TEST in the
/etc/sysconfig/test file to b
augeas 'sysconfig_test' do
changes 'set /files/etc/sysconfig/test/TEST b'
In the above case augeas already knows which lens to use to transform files
/etc/sysconfig. If it didn't we could tell it more explicitly like
augeas 'sysconfig_lens' do changes 'set /files/etc/sysconfig/test/TEST b' lens 'Sysconfig.lns' incl '/etc/sysconfig/test' end
I can also make changes conditionaly based on augeas match statements. The following will set TEST to c only if it is currently set to a.
augeas 'sysconfig_get_equal_test' do changes 'set /files/etc/sysconfig/test/TEST c' run_if 'get /files/etc/sysconfig/test/TEST == a' end
This recipe will install the augeas development libraries and then use
ruby-augeas gem available to the resource.
TODO: This has the redhat package name hard coded right now.
Author:: Nathan Huff (email@example.com)
The interface for this resource is pretty much a copy of the Puppet resource of the same name. While the code is rewritten the general flow of how it interacts with augeas is also highly influenced by what the Puppet provider does.
|build-essential >= 0.0.0|