The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Zenoss::Router::Network - A JSON/ExtDirect interface to operations on networks

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->network_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->network_discoverDevices()

Discover devices on a network.

ARGUMENTS

uid (string) - Unique identifier of the network to discover

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

jobId: (integer) The id of the discovery job

$obj->network_addNode()

Discover devices on a network.

ARGUMENTS

newSubnet (string) - New subnet to add

contextUid (string) - Unique identifier of the network parent of the new subnet

REQUIRED ARGUMENTS

newSubnet

contextUid

DEFAULT ARGUMENTS

N/A

RETURNS

newNode: (dictionary) An object representing the new subnet node

$obj->network_deleteNode()

Delete a subnet.

ARGUMENTS

uid (string) - Unique identifier of the subnet to delete

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

tree: (dictionary) An object representing the new network tree

$obj->network_getTree()

Returns the tree structure of an organizer hierarchy where the root node is the organizer identified by the id parameter.

ARGUMENTS

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

REQUIRED ARGUMENTS

N/A

DEFAULT ARGUMENTS

{id => '/zport/dmd/Networks'}

RETURNS

Object representing the tree

$obj->network_getInfo()

Returns a dictionary of the properties of an object

ARGUMENTS

uid (string) - Unique identifier of an object

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 properties

$obj->network_setInfo()

Main method for setting attributes on a device or device organizer. 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 an object

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

N/A

RETURNS

Not documented

$obj->network_getIpAddresses()

Given a subnet, get a list of IP addresses and their relations.

ARGUMENTS

uid (string) - Unique identifier of a subnet

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

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

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

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

REQUIRED ARGUMENTS

uid

DEFAULT ARGUMENTS

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

RETURNS

Not documented

$obj->network_removeIpAddresses()

Removes every ip address specified by uids that are not attached to any device

ARGUMENTS

uids (list string) - List of uid's to remove IP addresses on

REQUIRED ARGUMENTS

uids

DEFAULT ARGUMENTS

N/A

RETURNS

removedCount: (integer)

errorCount: (integer)

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.