NAME
WebService::Linode::DNS - Perl Interface to the Linode.com API DNS methods.
VERSION
Version 0.03
SYNOPSIS
This module provides a simple OOish interface to the Linode.com API.
Example usage:
use WebService::Linode::DNS;
my $api = new WebService::Linode::DNS(apikey => 'mmmcake');
for my $domain (@{$api->domainList}) {
print $domain->{domainid}, "\n";
}
METHODS
new
All methods take the same parameters as the Linode API itself does. Field names should be lower cased. All caps fields from the Linode API will be lower cased before returning the data.
Accepts a hash as an argument. apikey is the only required parameter specifying your Linode API key.
Errors mirror the perl DBI error handling method. $WebService::Linode::DNS::err and ::errstr will be populated with the last error number and string that occurred. All errors generated within the module are currently error code -1. By default, will warn on errors as well, pass a true value for fatal to die instead or nowarn to prevent the warnings.
verbose is 0-10 with 10 being the most and 0 being none
nocache disables some cacheing of domainname -> domainid
domainList
Returns a reference to an array. The array contains one entry per domain containing a reference to a hash with the data for that domain. Keys in the hash use the same names returned by the Linode API though the names have been converted to lower-case.
domainGet
Requires domainid or domain passed in as args. 'domain' is the name of the zone and will be mapped to domainid before executing the API method. Returns a reference to a hash. The hash contains the data for the domain returned by the Linode API with the keys lower cased.
getDomainIDbyName
Returns the ID for a domain given the name.
domainSave
Requires domainid, use 0 to create a domain.
domainUpdate
Requires domainid, grabs current data, overwrites passed values then calls domainSave for you.
domainDelete
Requires domainid, deletes the domain
domainResourceList
Requires domainid or domain passed in as args. 'domain' is the name of the zone and will be mapped to domainid before executing the API method. Returns a reference to an array. The array contains one entry per domain containing a reference to a hash with the data for that domain. Keys in the hash use the same names returned by the Linode API though the names have been converted to lower-case.
domainResourceGet
Requires domainid and resourceid. Returns a reference to a hash. The hash contains the data for the resource record returned by the Linode API with the keys lower cased.
getResourceIDbyName
Takes a record name and domainid or domain and returns the resourceid
domainResourceSave
Requires domainid and resourceid. Use 0 for resourceid to create.
domainResourceUpdate
Requires resourceid, grabs current data, overwrites passed values then calls domainResourceSave for you.
domainResourceDelete
Requires resourceid, deletes the resource record.
AUTHOR
Michael Greb, <mgreb@linode.com>
BUGS
This module does not yet support the Linode API batch method, patches welcome.
Please report any bugs or feature requests to bug-webservice-linode at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-Linode. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc WebService::Linode::DNS
You can also look for information at:
Module Repo
RT: CPAN's request tracker
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2008 Linode, LLC, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.