my $r = new Apache::TS::Config::Records(file => "/tmp/records.config");
$r->set(conf => "proxy.config.log.extended_log_enabled",
val => "123");
$r->write(file => "/tmp/records.config.new");
DESCRIPTIONThis module implements a convenient interface to read, modify and save the records.config file as used by Apache Traffic Server.
Instantiating a new Config::Records class, with a file provided, will automatically load that configuration. Don't call the load() method explicitly in this case.
API MethodsThe following are methods in the Records class.
Instantiate a new object. The file name is optionally provided, and if
present that file is immediately loaded (see the load() method
my $r = new Apache::TS::Config::Records(file => $fname);
- Explicitly load a configuration file, merging the items with any existing values. This is useful to for example merge multiple configuration into one single structure
Get an existing configuration line. This is useful for
detecting that a config exists or not, for example. The
return value is an anonymous array like
[<line string>, [value split into 4 fields, flag if changed]
You probably shouldn't modify this array.
Modify one configuration value, with the provided value. Both the conf
name and the value are required. Example:
$r->set(conf => "proxy.config.exec_thread.autoconfig", val => "0");
conf is short for ``config'', val is short for ``value'', and all are acceptable.
Remove a specified configuration, the mandatory option is conf (or
$r->remove(conf => "proxy.config.exec_thread.autoconfig");
Append a string to the ``end'' of the finished configuration file. We
will assure that no duplicated configurations are added. The input is a
single line, as per the normal records.config syntax. The purpose of
this is to add new sections to the configuration, with appropriate
comments etc. Example:
$r->append(line => ""); $r->append(line => "# My local stuff"); $r->set(conf => "proxy.config.dns.dedicated_thread", val => "1");
Write the new configuration file to STDOUT, or a filename if
$r->write(file => "/etc/trafficserver/records.config");