NAME

Zenoss::Router::Tree - A common base class for routers that have a hierarchical tree structure.

SYNOPSIS

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

# Replace router and SOMEMETHOD() with one of the available methods provided by this module.
# Note, that router will be replaced with something like device, network, process.  Please
# read the DESCRIPTION for additional information.
my $response = $api->router_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.

The following Zenoss::Router:: modules implement methods from Zenoss::Router::Tree

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->addNode()

Add a node to the existing tree underneath the node specified by the context UID

ARGUMENTS

type (string) - Either 'class' or 'organizer'

contextUid (string) - Path to the node that will be the new node's parent (ex. /zport/dmd/Devices)

id (string) - Identifier of the new node, must be unique in the parent context

description (string) - Describes this new node

REQUIRED ARGUMENTS

type

contextUid

id

DEFAULT ARGUMENTS

N/A

RETURNS

Marshaled form of the created node

$obj->deleteNode()

Deletes a node from the tree. NOTE: You can not delete a root node of a tree

ARGUMENTS

uid (string) - Unique identifier of the node we wish to delete

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

msg: (string) Status message

$obj->moveOrganizer()

Move the organizer uid to be underneath the organizer specified by the targetUid.

ARGUMENTS

targetUid (string) - New parent of the organizer

organizerUid (string) - The organizer to move

REQUIRED ARGUMENTS

targetUid

organizerUid

DEFAULT ARGUMENTS

N/A

RETURNS

data: (dictionary) Moved organizer

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.