NAME

FS::domain_record - Object methods for domain_record records


SYNOPSIS

  use FS::domain_record;
  $record = new FS::domain_record \%hash;
  $record = new FS::domain_record { 'column' => 'value' };
  $error = $record->insert;
  $error = $new_record->replace($old_record);
  $error = $record->delete;
  $error = $record->check;


DESCRIPTION

An FS::domain_record object represents an entry in a DNS zone. FS::domain_record inherits from FS::Record. The following fields are currently supported:

recnum - primary key
svcnum - Domain (see the FS::svc_domain manpage) of this entry
reczone - partial (or full) zone for this entry
recaf - address family for this entry, currently only `IN' is recognized.
rectype - record type for this entry (A, MX, etc.)
recdata - data for this entry


METHODS

new HASHREF
Creates a new entry. To add the example to the database, see insert.

Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the hash method.

insert
Adds this record to the database. If there is an error, returns the error, otherwise returns false.

delete
Delete this record from the database.

replace OLD_RECORD
Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.

check
Checks all fields to make sure this is a valid example. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.


VERSION

$Id: domain_record.html,v 1.3 2002-01-29 17:42:46 ivan Exp $


BUGS

The data validation doesn't check everything it could. In particular, there is no protection against bad data that passes the regex, duplicate SOA records, forgetting the trailing `.', impossible IP addersses, etc. Of course, it's still better than editing the zone files directly. :)


SEE ALSO

the FS::Record manpage, schema.html from the base documentation.