NAME

Zenoss::Router::Service - A JSON/ExtDirect interface to operations on services

SYNOPSIS

use Zenoss;
my $api = Zenoss->connect(
    {
        username    => 'zenoss username',
        password    => 'zenoss password',
        url         => 'http://zenossinstance:8080',
    }
);

# Replace SOMEMETHOD with one of the available methods provided by this module
my $response = $api->service_SOMEMETHOD(
    {
        parameter1 => 'value',
        parameter2 => 'value',
    }
);

DESCRIPTION

This module is NOT instantiated directly. To call methods from this module create an instance of Zenoss. This document serves as a resource of available Zenoss API calls to Zenoss.

METHODS

The following is a list of available methods available for interaction with the Zenoss API. Please take note of the argument requirements, defaults and return content.

The documentation for this module was mostly taken from the Zenoss JSON API docs. Keep in mind that their (Zenoss Monitoring System) programming is based around python, so descriptions such as dictionaries will be represented as hashes in Perl.

$obj->service_addClass()

Add a new service class.

ARGUMENTS

contextUid (string) - Unique ID of the service ogranizer to add new class to

id (string) - ID of the new service

posQuery (dictionary) - Object defining a query where the returned position will lie

REQUIRED ARGUMENTS

contextUid

id

posQuery

DEFAULT ARGUMENTS

N/A

RETURNS

newIndex: (integer) Index of the newly added class in the query defined by posQuery

$obj->service_query()

Retrieve a list of services based on a set of parameters.

ARGUMENTS

limit (integer) - Number of items to return; used in pagination

start (integer) - Offset to return the results from; used in pagination

sort (string) - Key on which to sort the return results

dir (string) - Sort order; can be either 'ASC' or 'DESC'

params (dictionary) - Key-value pair of filters for this search.

uid (string) - Service class UID to query

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{ limit => JSON::null, uid => '/zport/dmd' }

RETURNS

services: ([dictionary]) List of objects representing services

totalCount: (integer) Total number of services

hash: (string) Hashcheck of the current services state

disabled: (boolean) True if current user cannot manage services

$obj->service_getTree()

Returns the tree structure of an organizer hierarchy.

ARGUMENTS

id (string) - Id of the root node of the tree to be returned

REQUIRED ARGUMENTS

id

DEFAULT ARGUMENTS

N/A

RETURNS

Object representing the tree

$obj->service_getOrganizerTree()

Returns the tree structure of an organizer hierarchy, only including organizers.

ARGUMENTS

id (string) - Id of the root node of the tree to be returned

REQUIRED ARGUMENTS

id

DEFAULT ARGUMENTS

N/A

RETURNS

Object representing the organizer tree

$obj->service_getInfo()

Get the properties of a service.

ARGUMENTS

uid (string) - Unique identifier of a service

keys (list) - List of keys to include in the returned dictionary. If None then all keys will be returned

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

data: (dictionary) Object representing a service's properties

disabled: (boolean) True if current user cannot manage service

$obj->service_setInfo()

Set attributes on a service. This method accepts any keyword argument for the property that you wish to set. The only required property is "uid".

ARGUMENTS

uid (string) - Unique identifier of a service

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

Success message

$obj->service_getInstances()

Get a list of instances for a service UID.

ARGUMENTS

uid (string) - Service UID to get instances of

start (integer) - Offset to return the results from; used in pagination

params (dictionary) - Key-value pair of filters for this search.

limit (integer) - Number of items to return; used in pagination

sort (string) - Key on which to sort the return results

dir (string) - Sort order; can be either 'ASC' or 'DESC'

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

{start => 0, limit => 50, sort => 'name', dir => 'ASC}

RETURNS

data: ([dictionary]) List of objects representing service instances

totalCount: (integer) Total number of instances

$obj->service_moveServices()

Move service(s) from one organizer to another.

ARGUMENTS

sourceUids ([string]) - UID(s) of the service(s) to move

targetUid (string) - UID of the organizer to move to

REQUIRED ARGUMENTS

sourceUids

targetUid

DEFAULT ARGUMENTS

N/A

RETURNS

Success message

$obj->service_getUnmonitoredStartModes()

Get a list of unmonitored start modes for a Windows service.

ARGUMENTS

uid (string) - Unique ID of a Windows service.

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

data: ([string]) List of unmonitored start modes for a Windows service

$obj->service_getMonitoredStartModes()

Get a list of monitored start modes for a Windows service.

ARGUMENTS

uid (string) - Unique ID of a Windows service.

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

data: ([string]) List of monitored start modes for a Windows service

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.