API-Plesk
view release on metacpan or search on metacpan
lib/API/Plesk.pm view on Meta::CPAN
}
}
# loads component package and creates object
sub load_component {
my ( $self, $classes ) = @_;
my $version = version->parse($self->{api_version});
for my $item ( @$classes ) {
# select compitable version of component
if ( $version >= $item->[0] ) {
my $pkg = 'API::Plesk::' . $item->[1];
my $module = "$pkg.pm";
$module =~ s/::/\//g;
local $@;
eval { require $module };
if ( $@ ) {
confess "Failed to load $pkg: $@";
}
return $pkg->new(plesk => $self);
}
}
}
1;
__END__
=head1 NAME
API::Plesk - OO interface to the Plesk XML API (http://www.parallels.com/en/products/plesk/).
=head1 SYNOPSIS
use API::Plesk;
my $api = API::Plesk->new(
username => 'user', # required
password => 'pass', # required
url => 'https://127.0.0.1:8443/enterprise/control/agent.php', # required
api_version => '1.6.3.1',
debug => 0,
timeout => 30,
);
my $res = $api->customer->get();
if ($res->is_success) {
for ( @{$res->data} ) {
print "login: $_->{login}\n";
}
}
else {
print $res->error;
}
=head1 DESCRIPTION
At present the module provides interaction with Plesk 10.1 (API 1.6.3.1).
Distribution was completely rewritten and become more friendly for developers.
Naming of packages and methods become similar to the same operators and operations of Plesk XML API.
Partially implemented:
API::Plesk::Customer
API::Plesk::Database
API::Plesk::DNS
API:Plesk::FTPUser
API:Plesk::Mail
API::Plesk::ServicePlan
API::Plesk::ServicePlanAddon
API::Plesk::Site
API::Plesk::SiteAlias
API::Plesk::SiteBuilder
API::Plesk::Webspace
API::Plesk::WebUser
API::Plesk::User
=head1 COMPATIBILITY WITH VERSION 1.*
This is develover release. Comapatibility with Plesk::API 1.* is not implemented yet.
=head1 METHODS
=over 3
=item new(%params)
Create new class instance.
Required params:
username
password
url
Additional params:
api_version - default 1.6.3.1
debug - default 0
timeout - default 30 sec.
=item send($operator, $operation, $data, %params)
( run in 0.850 second using v1.01-cache-2.11-cpan-39bf76dae61 )