NAME
WWW::DNSMadeEasy - Accessing DNSMadeEasy API
VERSION
version 0.100
SYNOPSIS
use WWW::DNSMadeEasy; # or WWW::DME as shortname
# v2 api examples
my $dme = WWW::DNSMadeEasy->new({
api_key => '1c1a3c91-4770-4ce7-96f4-54c0eb0e457a',
secret => 'c9b5625f-9834-4ff8-baba-4ed5f32cae55',
sandbox => 1, # defaults to 0
api_version => '2.0', # defaults to '1.0'
});
my @managed_domains = $dme->managed_domains;
my $managed_domain = $dme->get_managed_domain('example.com');
my @records = $domain->records;
my $record = $domain->create_record(
ttl => 120,
gtd_location => 'DEFAULT',
name => 'www',
data => '1.2.3.4',
type => 'A',
);
$record->delete;
$domain->delete;
# v1 api examples
my $dme = WWW::DNSMadeEasy->new({
api_key => '1c1a3c91-4770-4ce7-96f4-54c0eb0e457a',
secret => 'c9b5625f-9834-4ff8-baba-4ed5f32cae55',
sandbox => 1, # defaults to 0
});
my @domains = $dme->all_domains;
my $domain = $dme->create_domain('example.com');
my @records = $domain->all_records;
my $record = $domain->create_record({
ttl => 120,
gtdLocation => 'DEFAULT',
name => 'www',
data => '1.2.3.4',
type => 'A',
});
$record->delete;
$domain->delete;
DESCRIPTION
This distribution gives you easy access to the DNSMadeEasy API. You require a business or corporate account to use this. You can't use it with the free test account neither with the small business account. This module doesnt check any input values, I suggest so far that you know what you do.
ATTRIBUTES
api_key
The API key which you can obtain from this page https://cp.dnsmadeeasy.com/account/info.
secret
The secret can be found on the same page as the API key.
sandbox
If set to true, this will activate the usage of the sandbox, instead of the live system.
http_agent_name
Here you can set a different http useragent for the requests, it defaults to the package name including the distribution version.
METHODS
create_managed_domain($name)
Creates the domain $name and returns a WWW::DNSMadeEasy::ManagedDomain object.
get_managed_domain($name)
Searches for a domain with the name $name and returns a WWWW::DNSMadeEasy::ManagedDomain object.
managed_domains()
Returns a list of WWWW::DNSMadeEasy::ManagedDomain objects representing all domains.
$obj->create_domain
Arguments: $name
Return value: WWW::DNSMadeEasy::Domain
Will be creating the domain $name on your account and returns the WWW::DNSMadeEasy::Domain for this domain.
$obj->domain
Arguments: $name
Return value: WWW::DNSMadeEasy::Domain
Returns the WWW::DNSMadeEasy::Domain of the domain with name $name.
$obj->all_domains
Arguments: None
Return value: Array of WWW::DNSMadeEasy::Domain
Returns an array of WWW::DNSMadeEasy::Domain objects of all domains listed on this account.
METHODS FOR API V2
METHODS FOR API V1
SEE ALSO
DNSMadeEasy REST API landing page
http://www.dnsmadeeasy.com/services/rest-api/
DNSMadeEasy documentation for v2.0
http://www.dnsmadeeasy.com/wp-content/uploads/2014/07/API-Docv2.pdf
DNSMadeEasy documentation for v1.2
http://www.dnsmadeeasy.com/wp-content/themes/appdev/pdf/API-Documentation-DM_20110921.pdf
SUPPORT
IRC
Join #duckduckgo on irc.freenode.net and highlight Getty or /msg me.
Repository
http://github.com/Getty/p5-www-dnsmadeeasy
Pull request and additional contributors are welcome
Issue Tracker
http://github.com/Getty/p5-www-dnsmadeeasy/issues
SUPPORT
Source Code
The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)
https://github.com/Getty/p5-www-dnsmadeeasy
git clone https://github.com/Getty/p5-www-dnsmadeeasy.git
AUTHOR
Torsten Raudssus <torsten@raudssus.de>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.