Apache::TS::Config::Records(3) Manage the Apache Traffic Server records.config file

SYNOPSIS


#!/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");

DESCRIPTION

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.

API Methods

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");