Skip to content

ReportRouter

gzip_b64(string) gzip an arbitrary string, base64 encode it, and return it
getReportTypes() Get the available report types.

@rtype: DirectResponse
@return: B{Properties}:
- menuText: ([string]) Human readable list of report types
- reportTypes: ([string]) A list of the available report types
asyncGetTree(**id)
addNode(nodeType, contextUid, id) Add a new report or report organizer.

@type nodeType: string
@param nodeType: Type of new node. Can either be 'organizer' or one of
the report types returned from getReportTypes()
@type contextUid: string
@param contextUid: The organizer where the new node should be added
@type id: string
@param id: The new node's ID
@rtype: DirectResponse
@return: B{Properties}:
- tree: (dictionary) Object representing the new Reports tree
- newNode: (dictionary) Object representing the added node
objectExists(uid) @rtype: DirectResponse
@return:
- Properties:
- B{exists} - Returns true if we can find the object specified by the uid
getMultiGraphReportDefs(uid, **drange, **graphGroup) Gets the json necessary for rendering graphs with the metric services
for multi graph reports.
@type uid: string
@param uid: unique identifier of an object
@param graphGroup: return the graph definition for the specific graph group
@type graphGroup: string
getTree(id) Returns the tree structure of an organizer hierarchy where
the root node is the organizer identified by the id parameter.

@type id: string
@param id: Id of the root node of the tree to be returned
@rtype: [dictionary]
@return: Object representing the tree
moveNode(uid, target) Move a report or report organizer from one organizer to another.

@type uid: string
@param uid: The UID of node to move
@type target: string
@param target: The UID of the target Report organizer
@rtype: [dictionary]
@return: B{Properties}:
- tree: (dictionary) Object representing the new Reports tree
- newNode: (dictionary) Object representing the moved node
getGraphReportDefs(uid, **drange) Returns the json necessary for rendering graphs with the metric
service for each component in the graph definition.
@type uid: string
@param uid: unique identifier of an object
deleteNode(uid) Remove a report or report organizer.

@type uid: string
@param uid: The UID of the node to delete
@rtype: [dictionary]
@return: B{Properties}:
- tree: (dictionary) Object representing the new Reports tree
gunzip_b64(string) Base 64 decode a string, then gunzip it and return the result as JSON.
The input to this method should be gzipped, base 64 encoded JSON. Base
64 encoded strings are allowed to have up to 2 '='s of padding. The zenoss
Ext router eats these, so there is some logic to try padding them back into
the string should initial decoding fail.
moveOrganizer(targetUid, organizerUid) Move the organizer uid to be underneath the organizer
specified by the targetUid.

@type targetUid: string
@param targetUid: New parent of the organizer
@type organizerUid: string
@param organizerUid: The organizer to move
@rtype: DirectResponse
@return: B{Properties}:
- data: (dictionary) Moved organizer