NAME
WWW::DreamHost::API - Perl interface to DreamHost Web Panel API
VERSION
1.04
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->{'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 Crypt::SSLeay 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.
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
[email protected]
LICENSE AND COPYRIGHT
This module is distributed under the same terms as Perl itself.
Copyright (c) 2009-2012 Serguei Trouchelle