API-DirectAdmin
view release on metacpan or search on metacpan
lib/API/DirectAdmin.pm view on Meta::CPAN
passwd => 'user_password',
passwd2 => 'user_password',
domain => $dname,
email => $email,
package => $package,
ip => $ip,
});
# Switch off account:
my $suspend_result = $da->user->disable( {
select0 => $user_name,
} );
if ( $suspend_result->{error} == 1 ) {
die "Cannot suspend account $suspend_result->{text}";
}
# Switch on account
my $resume_result = $da->user->enable( {
select0 => $user_name,
} );
if ( $resume_result->{error} == 1 ) {
die "Cannot Resume account $resume_result->{text}";
}
# Delete account
my $delete_result = $da->user->delete( {
select0 => $user_name,
} );
if ( $delete_result->{error} == 1 ) {
die "Cannot delete account $delete_result->{text}";
}
# Custom request
my %params = (
action => 'package',
package => 'package_name',
lib/API/DirectAdmin.pm view on Meta::CPAN
domain => 'example.com',
email => 'email@example.com',
package => 'package_name',
ip => 'IP.ADD.RE.SS',
});
=item delete
Delete DirectAdmin user and all user's data
Note: Some DirectAdmin's API methods required parameter "select0" for choose value from list. Like list of users, databases, ip, etc.
Example:
my $result = $da->user->delete( {
select0 => 'username',
} );
=item disable/enable
Two different methods for disable and enable users with same params.
Example:
my $disable_result = $da->user->disable( {
select0 => 'username',
} );
my $enable_result = $da->user->enable( {
select0 => 'username',
} );
=item change_password
Change password for user
Example:
my $result = $da->user->change_password( {
username => 'username',
lib/API/DirectAdmin.pm view on Meta::CPAN
my $result = $da->mysql->adddb( {
name => 'default', # will be 'customer_default'
user => 'default', # will be 'customer_default'
passwd => 'password',
passwd2 => 'password',
} );
=item deldb
Delete selected database from user.
Example:
my $result = $da->mysql->deldb({ select0 => 'database_name' });
=back
=head2 API::DirectAdmin::Ip
=over
=item list
Return array reference of list ip adresses;
lib/API/DirectAdmin.pm view on Meta::CPAN
status => 'server',
});
=item remove
Remove ip from server
Example:
my $result = $da->ip->remove({
select0 => '123.234.123.234',
});
=back
=head2 API::DirectAdmin::DNS
Show zones, add and remove records.
=over
lib/API/DirectAdmin/DNS.pm view on Meta::CPAN
allowed_fields => "type name action value domain",
);
}
# Remove records A, MX, CNAME, NS, PTR, TXT, AAAA, SRV
# params: domain, type, name, value
sub remove_record {
my ($self, $params ) = @_;
my %add_params = (
action => 'select',
lc $params->{type} . 'recs0' => "name=$params->{name}&value=$params->{value}",
);
delete $params->{type};
my %params = (%$params, %add_params);
return $self->directadmin->query(
params => \%params,
command => 'CMD_API_DNS_CONTROL',
lib/API/DirectAdmin/Ip.pm view on Meta::CPAN
add
netmask
notify
status',
);
}
# Delete Ip
# INPUT
# Admin connect params
# select0 = 'IP.AD.DRE.SS'
sub remove {
my ($self, $params ) = @_;
my %add_params = (
action => 'select',
delete => 'Delete',
);
my %params = (%$params, %add_params);
return $self->directadmin->query(
params => \%params,
method => 'POST',
command => 'CMD_API_IP_MANAGER',
allowed_fields => 'select0
action
delete',
);
}
1;
lib/API/DirectAdmin/Mysql.pm view on Meta::CPAN
return $responce if $responce;
return 'FAIL';
}
# Delete database for user
# Connection data MUST BE for user: auth_user => 'admin_login|user_login'
# auth_passwd => 'admin_passwd'
# INPUT
# select0 => 'DBNAME',
# domain => 'DOMAIN.COM',
sub deldb {
my ($self, $params ) = @_;
$params->{action} = 'delete';
carp 'params ' . Dumper($params) if $self->{debug};
my $responce = $self->directadmin->query(
command => 'CMD_API_DATABASES',
method => 'POST',
params => $params,
allowed_fields => 'action
select0',
);
carp '$responce ' . Dumper(\$responce) if $self->{debug};
return $responce if $responce;
return 'FAIL';
}
# Get list of databases for authorized user.
lib/API/DirectAdmin/User.pm view on Meta::CPAN
package
ip
email',
);
carp "Creating account: $responce->{text}, $responce->{details}" if $self->{debug};
return $responce;
}
# Suspend user
# params: select0
sub disable {
my ($self, $params ) = @_;
my %add_params = (
suspend => 'Suspend',
location => 'CMD_SELECT_USERS',
);
my %params = (%$params, %add_params);
my $responce = $self->directadmin->query(
command => 'CMD_API_SELECT_USERS',
method => 'POST',
params => \%params,
allowed_fields => 'location
suspend
select0',
);
carp "Suspend account: $responce->{text}, $responce->{details}" if $self->{debug};
return $responce;
}
# Unsuspend user
# params: select0
sub enable {
my ($self, $params ) = @_;
my %add_params = (
suspend => 'Unsuspend',
location => 'CMD_SELECT_USERS',
);
my %params = (%$params, %add_params);
my $responce = $self->directadmin->query(
command => 'CMD_API_SELECT_USERS',
method => 'POST',
params => \%params,
allowed_fields => 'location
suspend
select0',
);
carp "Unsuspend account: $responce->{text}, $responce->{details}" if $self->{debug};
return $responce;
}
# Delete user
# params: select0
sub delete {
my ($self, $params ) = @_;
my %add_params = (
confirmed => 'Confirm',
delete => 'yes',
);
my %params = (%$params, %add_params);
my $responce = $self->directadmin->query(
command => 'CMD_API_SELECT_USERS',
method => 'POST',
params => \%params,
allowed_fields => 'confirmed
delete
select0',
);
carp "Delete account: $responce->{text}, $responce->{details}" if $self->{debug};
return $responce;
}
# Change passwd
# params: username, passwd, passwd2
sub change_password {
my ($self, $params ) = @_;
t/01-test.t view on Meta::CPAN
{
user => $manipulate_user,
pass => 'sdfdsfsdfhsdfj',
}
);
is_deeply( $result, \%answer, 'API::DirectAdmin::User::change_password');
%answer = (
text => 'Success',
error => 0,
details => 'All selected Users have been suspended',
);
$da->{fake_answer} = ! $ONLINE ? \%answer : undef;
$result = $da->user->disable(
{
user => $manipulate_user,
reason => 'test reason1',
}
);
( run in 0.576 second using v1.01-cache-2.11-cpan-49f99fa48dc )