NAME
Rex::Commands::Augeas - An augeas module for (R)?ex
DESCRIPTION
This is a simple module to manipulate configuration files with the help of augeas.
SYNOPSIS
my $k = augeas exists => "/files/etc/hosts/*/ipaddr", "127.0.0.1";augeas insert => "/files/etc/hosts",label => "01",after => "/7",ipaddr => "192.168.2.23",canonical => "test";augeas dump => "/files/etc/hosts";augeas modify =>"/files/etc/ssh/sshd_config/PermitRootLogin" => "without-password",on_change => sub {service ssh => "restart";};
EXPORTED FUNCTIONS
augeas($action, @options)
It returns 1 on success and 0 on failure.
Actions:
- modify
-
This modifies the keys given in
@optionsin$file.augeas modify =>"/files/etc/hosts/7/ipaddr" => "127.0.0.2","/files/etc/hosts/7/canonical" => "test01",on_change => sub { say "I changed!" };
- remove
-
Remove an entry.
augeas remove => "/files/etc/hosts/2",on_change => sub { say "I changed!" };
- insert
-
Insert an item into the file. Here, the order of the options is important. If the order is wrong it won't save your changes.
augeas insert => "/files/etc/hosts",label => "01",after => "/7",ipaddr => "192.168.2.23",alias => "test02",on_change => sub { say "I changed!" };
- dump
-
Dump the contents of a file to STDOUT.
augeas dump => "/files/etc/hosts";
- exists
-
Check if an item exists.
my $exists = augeas exists => "/files/etc/hosts/*/ipaddr" => "127.0.0.1";if($exists) {say "127.0.0.1 exists!";}
- get
-
Returns the value of the given item.
my $val = augeas get => "/files/etc/hosts/1/ipaddr";