NAME
Zenoss::API::Connector - Package responsible for establishing a connection to the Zenoss API
SYNOPSIS
use Zenoss::API::Connector;
use Zenoss::API::Router;
# Create a connection object
my $connection = Zenoss::API::Connector->new(
{
username => 'admin',
password => 'zenoss',
url => 'http://zenossinstance:8080',
}
);
# Pass the connection to the router
my $api = Zenoss::API::Router->new(
{
connector => $connection,
}
);
# Call some API methods
my $response = $api->device_getDevices();
# Print the JSON return
print $response->json;
DESCRIPTION
This package creates a connection to the Zenoss API, and tests the connectivity. Once a Zenoss::API::Connector object has been established, it can be passed to Zenoss::API::Router to process Zenoss API calls.
While this package can be used, it is recommended that Zenoss::API facilitates the connection to the Zenoss::API::Router.
A croak will occur in the event a connection cannot be established.
ATTRIBUTES
This package has the following attributes.
Attributes can be set on object creation, see SYNOPSIS, or by calling $obj->attribute('value').
Attributes can be retrieved by calling $obj->attribute.
username
The username to log in with at the Zenos instance
password
The password to log in with at the Zenos instance
url
The url to be used in establishing a connection to the Zenoss instance. Note, that ports in the http(s) url are not required unless they're non stanard. For example the url can be set to:
http://zenossinstance
https://zenossinstance
Without having to specify :80 or :443. However, nonstandard ports must be specified! Zenoss by default uses :8080, so this must be specified on the url if your instance uses this.
IE
http://zenossinstance:8080
timeout
The timeout value for processing transactions. Note, if you process a large request, IE getting all historical events, its prudent to set this value to something higher than the default of 120 seconds.
endpoint
This attribute cannot be set. However, once the object is created this attribute can be accessed to provide the full url, with credentials, to the Zenoss instance. For example,
http://admin:zenoss@zenossinstance:8080
SEE ALSO
AUTHOR
Patrick Baker <patricksbaker@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Patrick Baker <patricksbaker@gmail.com>
This module is free software: you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You can obtain the Artistic License 2.0 by either viewing the LICENSE file provided with this distribution or by navigating to http://opensource.org/licenses/artistic-license-2.0.php.