NAME
Net::IPA.pm -- Perl 5 interface of the (Free)IPA JSON-RPC API
SYNOPSIS
use
Net::IPA;
my
$ipa
= new Net::IPA(
hostname
=>
'ipa.server.com'
,
cacert
=>
'/etc/ipa/ca.cert'
,
);
# (a) Login can be done via Kerberos
$ipa
->login();
# (b) Login can be done via Kerberos (creating the ticket)
$ipa
->login(
username
=>
'admin'
,
keytab
=>
'/etc/ipa/admin.keytab'
);
# (c) Login can be done using username and password
$ipa
->login(
username
=>
'admin'
,
password
=>
'admin-password'
);
# Control error
die
$ipa
->error
if
(
$ipa
->error);
# $user_show is of the type Net::IPA::Response
my
$user_show
=
$ipa
->user_show(
'username'
);
die
'Error: '
.
$user_show
->error_string()
if
(
$user_show
->is_error);
# Requests can be batched
use
Net::IPA::Methods;
my
@users_show
=
$ipa
->batch(
Net::IPA::Methods::user_show(
'username1'
),
Net::IPA::Methods::user_show(
'username2'
),
Net::IPA::Methods::user_show(
'username3'
),
);
foreach
my
$user_show
(
@users_show
){
# $user_show is of the type Net::IPA::Response
if
(
$user_show
->is_error){
'Error: '
.
$user_show
->error_string() .
"\n"
;
next
;
}
# Do something
}
For methods look at the Net::IPA::Methods module.