API-CPanel
view release on metacpan or search on metacpan
lib/API/CPanel.pm view on Meta::CPAN
package API::CPanel;
use strict;
use warnings;
use lib qw(../..);
use Exporter::Lite;
use LWP::UserAgent;
#use XML::LibXML;
use XML::Simple;
use Data::Dumper;
use MIME::Base64;
# Main packages
use API::CPanel::Ip;
use API::CPanel::User;
use API::CPanel::Misc;
use API::CPanel::Package;
use API::CPanel::Domain;
use API::CPanel::Mysql;
our @EXPORT = qw/get_auth_hash refs is_success query_abstract is_ok get_error/;
our @EXPORT_OK = qw//;
our $VERSION = 0.09;
our $DEBUG = '';
our $FAKE_ANSWER = '';
=head1 NAME
API::CPanel - interface to the CPanel Hosting Panel API ( http://cpanel.net )
=head1 SYNOPSIS
use API::CPanel;
my $connection_params = {
auth_user => 'username',
auth_passwd => 'qwerty',
host => '11.22.33.44',
};
### Get all panel IP
my $ip_list = API::CPanel::ip::list( $connection_params );
unless ($ip_list && ref $ip_list eq 'ARRAY' && scalar @$ip_list) {
die 'Cannot get ip list from CPanel';
}
my $ip = $ip_list->[0];
my $dname = 'perlaround.ru';
my $user_name = 'user1';
my $client_creation_result = API::CPanel::user::create( {
%{ $connection_params },
username => $user_name,
password => 'user_password',
domain => $dname,
});
# Switch off account:
my $suspend_result = API::CPanel::user::disable( {
%{ $connection_params },
user => $user_name,
} );
unless ( $suspend_result ) {
die "Cannot suspend account";
}
( run in 0.492 second using v1.01-cache-2.11-cpan-39bf76dae61 )