Skip to content

ImpactRouter

setQuiet(guid, quiet) Set whether or not a service should send service events.

@type guid: string
@param guid: The guid of the service to update
@type quiet: boolean
@param quiet: Whether or not the service should send service events

@rtype: DirectResponse
asyncGetTree(**additionalKeys, **id) Server side method for asynchronous tree calls. Retrieves
the immediate children of the node specified by "id"

NOTE: our convention on the UI side is if we are asking
for the root node then return the root and its children
otherwise just return the children

@type id: string
@param id: The uid of the node we are getting the children for
@rtype: [dictionary]
@return: Object representing the immediate children
deleteNodeByGuid(guid) Delete a Dynamic Service, Dynamic Service Organizer, or other kind of node

@type guid: string
@param guid: GUID of the dynamic service to delete
getTree(**id) Returns the dynamic services tree

@type id: String
@param id: The root UID for which to generate a tree.

@rtype: dictionary
@return: Tree designed to be used by ExtJs. This does not return a
DirectResponse because this method is intended to be used only by
ExtJs and will return format that an ExtJs direct proxy can consume.
checkDatabaseState() Determines whether the impact graph needs to be reset.
This searches for the critical impact event generated from NotFoundException.

@rtype: DirectResponse
@return:
- Properties:
- B{C{needsReset}} (C{boolean}) - Whether or not the impact graph
state needs to be reset
deleteNode(uid) Delete a Dynamic Service, Dynamic Service Organizer, or other kind of node

@type uid: string
@param uid: UID of the dynamic service to delete
getStateTriggers(contextUid, uid, policyType)

Retrieve all the state triggers for a service node

@type contextUid: string
@param contextUid: can be either a GUID of Dynamic Service or the string "global"
@type uid: string
@param uid: Identifier of the object which we are setting the trigger on
@type policyType: string
@param policyType: can be AVAILABILITY or PERFORMANCE
@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{dictionary}) - The trigger data

setStateTrigger()

Set the state triggers for a service node

@type permissionUid: string
@param permissionUid: context keyword argument for checking permissions
@type contextUid: string
@param contextUid: can be either a GUID of Dynamic Service or the string "global"
@type uid: string
@param uid: Identifier of the object which we are setting the trigger on
@type policyType: string
@param policyType: can be AVAILABILITY or PERFORMANCE
@type guid: string
@param guid: global identifier for state trigger we are editing
@type data: Dictionary
@param data: Key value of properties for the state trigger
@rtype: DirectResponse

gzip_b64(string) gzip an arbitrary string, base64 encode it, and return it
setStateProvidersByGuid(guid, stateData)
getServiceOrganizers() Get a list of all Dynamic Service Organizers.

@param data: unused

@rtype: DirectResponse
@return:
- Properties:
- B{C{serviceOrgs}} ([C{dictionary}]) - List of service organizers
- B{C{totalCount}} (C{integer}) - Total number of service organizers
removeFromDynamicService() Remove impacts from a Dynamic Service.

@type targetUid: string
@param targetUid: Unique Identifier of a Dynamic service
@type uids: [string]
@param uids: List of uids of items to remove

@rtype: DirectResponse
getInstances(uid, **sort, **stateType, **start, **params, **limit, **page, **dir) Get a list of DynamicServices for an organizer UID.

@type uid: string
@param uid: Service UID to get instances of
@type start: integer
@param start: (optional) Offset to return the results from; used in pagination
@param params: unused
@type limit: integer
@param limit: (optional) Number of items to return; used in pagination
@type sort: string
@param sort: (optional) Key on which to sort the return results
@type stateType: string
@param stateType: (optional) Type of state for which to get results; Can be one of 'availability' or 'performance'.
@type dir: string
@param dir: (optional) Sort order; can be either 'ASC' or 'DESC'

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} ([C{dict}]) - List of objects representing service instances.
- B{C{totalCount}} (C{integer}) - Total number of instances.
getCategoryCounts(query) Returns the search categories for the given query.

@rtype: dictionary
@return:
- Properties:
- B{C{results}} ([C{dictionary}]) - List of results
- B{C{total}} (C{integer}) - Total number of results
removeStateTrigger()

Remove a state trigger

@type permissionUid: string
@param permissionUid: context keyword argument for checking permissions
@type contextUid: string
@param contextUid: can be either a GUID of Dynamic Service or the string "global"
@type uid: string
@param uid: Identifier of the object which we are setting the trigger on
@type policyType: string
@param policyType: can be AVAILABILITY or PERFORMANCE
@type guid: string
@param guid: global identifier for state trigger we are editing
@rtype: DirectResponse


getAllResults(query) Use the search provider but filter the search results to what is in the
impact graph. This is used by an ExtJs ResultsGrid.

@rtype: dictionary
@return:
- Properties:
- B{C{results}} ([C{dictionary}]) - List of results
- B{C{total}} (C{integer}) - Total number of results
getImpactingTypes(uid)

Retrieves meta_types of nodes impacting that specified by C{uid} and
returns them.


@type uid: string
@param uid: UUID of the requested node
@return: set of meta type names
@rtype: DirectResponse

setInfo() Set variables on a Dynamic Service

@type uid: string
@param uid: UID of the dynamic service to update
@type data: dictionary
@param data: Properties to update

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{DynamicServiceInfo}) - The info object
addNode(contextUid, id) Creates a new Dynamic Service designated by the id field

@type contextUid: string
@param contextUid: organizer for the new service
@type id: string
@param id: Unique identifier of the new Dynamic Service

@rtype: DirectResponse
objectExists(uid) @rtype: DirectResponse
@return:
- Properties:
- B{exists} - Returns true if we can find the object specified by the uid
addToDynamicService() Make node(s) impact a Dynamic Service.

@type targetUid: string
@param targetUid: Unique Identifier of a Dynamic service
@type uids: [string]
@param uids: List of uids of items we are adding

@rtype: DirectResponse
@return:
- Properties:
- B{C{numberAdded}} (C{integer}) - Total number of added impacts
addStateTrigger()

Set the state triggers for a service node

@type permissionUid: string
@param permissionUid: context keyword argument for checking permissions
@type contextUid: string
@param contextUid: can be either a GUID of Dynamic Service or the string "global"
@type uid: string
@param uid: Identifier of the object which we are setting the trigger on
@type policyType: string
@param policyType: can be AVAILABILITY or PERFORMANCE
@type data: Dictionary
@param data: Key value of properties for the state trigger
@rtype: DirectResponse

getDependencies(uid, **sort, **start, **limit, **query, **page, **dir) Retrieves every item currently impacting the given Dynamic Service

@type uid: string
@param uid: Unique identifier of a Dynamic Service
@param query: unused
@param sort: unused
@param dir: unused
@param limit: unused
@param page: unused
@param start: unused

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} [C{Info}] - A list of Info objects of the items in
the service
moveNode(uids, targetUid) Move a list of nodes to another organizer.

@type uids: [string]
@param uids: List of uids to be moved, can be either organizers or dynamic services
@type targetUid: string
@param targetUid: Uid of a Dynamic Service Organizer

@rtype: DirectResponse
getImpactConfigSettings() Retrieves the collection of User interface settings
setImpactConfigSettings() Accepts key value pair of impact settings.
addOrganizer(contextUid, id) Creates a new Dynamic Service Organizer

@type contextUid: string
@param contextUid: Not used but sent by the client
@type id: string
@param id: Unique identifier of the new Dynamic Service Organizer

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{Info}) - The Info object for the newly
created service organizer
getInfoFromGuid(guid, **keys, **contextId) Retrieve information about a dynamic service

@type guid: string
@param guid: GUID (global unique id) of the dynamic service to query
@type contextId: string
@param contextId: The uid of the parent

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{DynamicServiceInfo}) - An Info object for the service
- B{C{form}} (C{dictionary}) - A dictionary containing the ExtJs form
data for this object
setStateProvider(uid, stateType, stateMap, eventClass, applyTo) Set state provider data.

@type uid: string
@param uid: Service UID to update
@type stateType: string
@param stateType: (optional) Type of state for which to apply update; Can
be one of 'availability' or 'performance'.
@type stateMap: dictionary
@param stateMap: A mapping of event severity levels to states.
@type eventClass: string
@param eventClass: The eventClass for which the state provider should be
applied.
@type applyTo: string
@param applyTo: The context to which the state provider should be
applied to. Can be one of 'NODE', 'DEVICE', 'DEVICECLASS' or 'ALL'.

@rtype: DirectResponse
getInfo(uid, **keys) Retrieve information about a dynamic service

@type uid: string
@param uid: UID of the dynamic service to query

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{DynamicServiceInfo}) - An Info object for the service
- B{C{form}} (C{dictionary}) - A dictionary containing the ExtJs form
data for this object
cloneService(uid, newId) Clone a service into the same organizer with the same children and
contextual policies.

@type uid: string
@param uid: Unique identifier of the Dynamic Service to clone
@type newId: string
@param newId: Identifier for the new clone

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} ([C{dictionary}]) - C{DynamicServiceInfo} object on the new clone
setInfoFromGuid(guid) Set variables on a Dynamic Service

@type guid: string
@param guid: GUID of the dynamic service to update
@type data: dictionary
@param data: Properties to update

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} (C{DynamicServiceInfo}) - The info object
resetStateProvider(uid, stateType, applyTo) Reset state provider data.

@type uid: string
@param uid: Service UID to update
@type stateType: string
@param stateType: (optional) Type of state for which to apply update; Can
be one of 'availability' or 'performance'.
@type applyTo: string
@param applyTo: The context to which the state provider should be
applied to. Can be one of 'NODE', 'DEVICE', 'DEVICECLASS' or 'ALL'.

@rtype: DirectResponse
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.
getServices(**sort, **uid, **keys, **start, **limit, **page, **dir) Retrieves Info objects for all services of which the object
represented by uid is a part.

@rtype: DirectResponse
@return:
- Properties:
- B{C{data}} ([C{DynamicServiceInfo}]) - List of Info objects
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
getServerStatus() Relies on the impactServerConnectionError decorator to get impact
server status and add it to the response.