Apache::TS::Config::Records - Manage the Apache Traffic Server records.config
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");
This 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()
explicitly in this case.
The 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 below). Example:
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 "config"). Example:
$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 provided. Example:
$r->write(file => "/etc/trafficserver/records.config");