Apache::TS::Config::Records − Manage the Apache Traffic Server records.config file
#!/usr/bin/perl
use Apache::TS::Config::Records;
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() method explicitly in this case.
The following are methods in the Records class.
|
new |
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);
|
load |
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 |
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.
|
set |
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 |
Remove a specified configuration, the mandatory option is conf (or "config"). Example: |
$r−>remove(conf => "proxy.config.exec_thread.autoconfig");
|
append |
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 |
Write the new configuration file to STDOUT, or a filename if provided. Example: |
$r−>write(file => "/etc/trafficserver/records.config");
Apache::TS::Config