NAME
WWW::DreamHost::API - Perl interface to DreamHost Web Panel API
VERSION
1.07
SYNOPSIS
my $key = '6SHU5P2HLDAYECUM';
my $api = new WWW::DreamHost::API($key);
my $res = $api->command('api-list_accessible_cmds');
print Data::Dumper->Dump([$res]);
DESCRIPTION
WWW::DreamHost::API provides a simple Perl interface to DreamHost Web Panel API.
Read more about API commands at http://wiki.dreamhost.com/Application_programming_interface
METHODS
new ( $key )
Creates WWW::DreamHost::API object
uuid ( )
Returns UUID. Probably actually unique (randomly based on key and run time). Don't worry, if it's not, because it's reinitializing in case of failure (though I cannot imagine how it can happen).
reinit ( )
If unique check fails, attempt to re-initialize. You don't have to call it yourself.
command ( $cmd, [ $param => $value, ]+ )
Execute a command.
To get a list of availible commands, use something like that:
my $res = $api->command('api-list_accessible_cmds');
if ($res->{'result'} eq 'success') {
my @commands = @{ $res->{'data'} };
}
Returns a hash reference with (usually) 'result' and 'data' keys. 'result' can be 'success' or 'error', and 'data' depends on command executed.
See http://wiki.dreamhost.com/Application_programming_interface for more details.
CONFIGURATION AND ENVIRONMENT
WWW::DreamHost::API is based on libwww-perl which uses Crypt::SSLeay or IO::Socket::SSL, with all consequences: HTTPS_proxy environment variable and so on. See LWP documentation unless you're already familiar with it.
DEPENDENCIES
LWP::UserAgent Data::UUID LWP::protocol::https
If JSON.pm is installed, JSON format is used when making requests to API; otherwise Data::Dumper format is used. Note that Data::Dumper format is "eval"-ed so (in theory) it can be used for security breach. On the side note, Data::Dumper way is 7 times faster.
INCOMPATIBILITIES
Not known.
BUGS AND LIMITATIONS
Not known, but test suite MAY fail if DreamHost adds some other commands or change their behaviour. If you are using CPAN::Reporter in your service, I'll know about it. Consider installing it, as it really helps authors to know about possible bugs. See http://wiki.cpantesters.org/wiki/QuickStart.
AUTHOR
Serguei Trouchelle stro@cpan.org
LICENSE AND COPYRIGHT
This module is distributed under the same terms as Perl itself.
Copyright (c) 2009-2015 Serguei Trouchelle