NAME
Lim::Plugin::DNS::Server - Server class for DNS Manager Lim plugin
VERSION
See Lim::Plugin::DNS for version.
SYNOPSIS
use Lim::Plugin::DNS;
# Create a Server object
$server = Lim::Plugin::DNS->Server;
CONFIGURATION
TODO
INTERNAL METHODS
These are only internal methods and should not be used externally.
- $server->_ScanZoneFile
-
Scan for zone files based on configuration and returns a hash reference.
$hash_ref->{<software>}->{<full path file name>} = { name => <full path file name>, software => <the software related to the zone file>, short => <file name>, write => <true if writable>, read => <true if readable> };
- $server->_ParseZoneFile($file, $option, $rr)
-
Parse a zone file and returns the content into
$option
and/or$rr
.$option
and$rr
can be a hash or array reference.# $option as an array reference $option = [ { name => <option name>, value => <option value> }, ... ]; # $option as a hash reference $option->{<option name>} = <option value>; # $rr as an array reference $rr = [ { name => <rr name>, ttl => <rr ttl>, class => <rr class>, type => <rr type>, rdata => <rr rdata> }, ... ]; # $rr as a hash reference $rr->{<rr name>} = [ { ttl => <rr ttl>, class => <rr class>, type => <rr type>, rdata => <rr rdata> }, ... ];
- $server->_ParseZoneContent($content, $option, $rr)
-
Parse a zone content from a string and returns the content into
$option
and/or$rr
.$option
and$rr
can be a hash or array reference.# $option as an array reference $option = [ { name => <option name>, value => <option value> }, ... ]; # $option as a hash reference $option->{<option name>} = <option value>; # $rr as an array reference $rr = [ { name => <rr name>, ttl => <rr ttl>, class => <rr class>, type => <rr type>, rdata => <rr rdata> }, ... ]; # $rr as a hash reference $rr->{<rr name>} = [ { ttl => <rr ttl>, class => <rr class>, type => <rr type>, rdata => <rr rdata> }, ... ];
- $server->_WriteZoneFile($file, $rr, $option)
-
Write the content of
$rr
and$option
out to a zone file. A temporary file is used and then renamed to the specified$file
once the writing is complete.The
$rr
and$option
needs to be in the format specified by _ParseZoneFile and _ParseZoneContent.
METHODS
These methods are called from the Lim framework and should not be used else where.
Please see Lim::Plugin::DNS for full documentation of calls.
- $server->ReadZones(...)
-
Get a list of all zones that can be managed by the plugin.
- $server->CreateZone(...)
-
Create a new zone file.
- $server->ReadZone(...)
-
Returns a zone file as a content or split into option and rr.
- $server->UpdateZone(...)
-
Update a zone file, this overwrites all zone data.
- $server->DeleteZone(...)
-
Delete a zone file.
- $server->CreateZoneOption(...)
-
Create a new zone option.
- $server->ReadZoneOption(...)
-
Return zone options specified or all zone options for a zone file.
- $server->UpdateZoneOption(...)
-
Update a zone option, this does not overwrite other zone options.
- $server->DeleteZoneOption(...)
-
Delete a zone options.
- $server->CreateZoneRr(...)
-
Create a new zone resource record.
- $server->ReadZoneRr(...)
-
Return zone resource records specified or all zone resource records for a zone file.
- $server->UpdateZoneRr(...)
-
Update a zone resource record, this does not remove other zone resource records.
- $server->DeleteZoneRr(...)
-
Delete a zone resource records.
AUTHOR
Jerry Lundström, <lundstrom.jerry at gmail.com>
BUGS
Please report any bugs or feature requests to https://github.com/jelu/lim-plugin-dns/issues.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Lim::Plugin::DNS
You can also look for information at:
Lim issue tracker (report bugs here)
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2012-2013 Jerry Lundström.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.