NAME

RundeckAPI - simplifies authenticate, connect, queries to a Rundeck instance via REST API

SYNOPSIS

use RundeckAPI;

# create an object of type RundeckAPI :
my $api = RundeckAPI->new(
    'url'           => "https://my.rundeck.instance:4440",
    'login'         => "admin",
    'token'         => <token as generated with GUI, as an admin>
    'debug'         => 1,
    'proxy'         => "http://proxy.mycompany.com/",
);
my $hashRef = $api->get("/api/27/system/info");
my $json = '{some: value}';
$hashRef = $api->put(/api/27/endpoint_for_put, $json);

METHODS

"new" Returns an object authenticated and connected to a Rundeck Instance. The field 'login' is not stricto sensu required, but it is a good security measure to check if login/token match

"get" Sends a GET query. Request one argument, the enpoint to the API. Returns a hash reference

"post" Sends a POST query. Request two arguments, the enpoint to the API an the data in json format. Returns a hash reference

"put" Sends a PUT query. Similar to post

"delete" Sends a DELETE query. Similar to get

"postData" POST some data. Request three arguments : endpoint, mime-type and the appropriate data. Returns a hash reference.

"putData" PUT some data. Similar to postData

RETURN VALUE

Returns a hash reference containing the data sent by Rundeck.

The returned value is structured like the following :

the fields httpstatus (200, 403, etc) and requstatus (OK, CRIT) are always present.

the content is in the hash itself if the data type is JSON, else in the field content if we have text or binary

SEE ALSO

See documentation for Rundeck's API and returned data

AUTHOR

Xavier Humbert <xavier.humbert-at-ac-nancy-metz-dot-fr>