# Reference
## Table of Contents
### Resource types
* [`augeas`](#augeas): Apply a change or an array of changes to the filesystem using the augeas tool.
## Resource types
### `augeas`
Requires:
- [Augeas](http://www.augeas.net)
- The ruby-augeas bindings
#### Examples
##### Sample usage with a string:
```puppet
augeas { "test1":
context => "/files/etc/sysconfig/firstboot",
changes => "set RUN_FIRSTBOOT YES",
onlyif => "match other_value size > 0",
}
```
##### Sample usage with an array and custom lenses:
```puppet
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",
}
```
#### Properties
The following properties are available in the `augeas` type.
##### `returns`
The expected return code from the augeas command. Should not be set.
Default value: `0`
#### Parameters
The following parameters are available in the `augeas` type.
* [`changes`](#changes)
* [`context`](#context)
* [`force`](#force)
* [`incl`](#incl)
* [`lens`](#lens)
* [`load_path`](#load_path)
* [`name`](#name)
* [`onlyif`](#onlyif)
* [`provider`](#provider)
* [`root`](#root)
* [`show_diff`](#show_diff)
* [`type_check`](#type_check)
##### `changes`
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 ` --- Sets the value `VALUE` at location `PATH`
* `setm ` --- Sets multiple nodes (matching `SUB` relative to `PATH`) to `VALUE`
* `rm ` --- Removes the node at location `PATH`
* `remove ` --- Synonym for `rm`
* `clear ` --- Sets the node at `PATH` to `NULL`, creating it if needed
* `clearm ` --- Sets multiple nodes (matching `SUB` relative to `PATH`) to `NULL`
* `touch ` --- Creates `PATH` with the value `NULL` if it does not exist
* `ins