Apache::TS::Config::Records(3pm)

NAME
Apache::TS::Config::Records - 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");

SEE ALSO
Apache::TS::Config