NAME
Zabbix::API::Trigger -- Zabbix trigger objects
SYNOPSIS
use Zabbix::API::Trigger;
# TODO write the rest
DESCRIPTION
Handles CRUD for Zabbix trigger objects.
This is a subclass of Zabbix::API::CRUDE; see there for inherited methods.
METHODS
- collides()
 - 
Returns true if the trigger exists with this description, false otherwise.
 - hosts()
 - 
Accessor for a local
hostsattribute, which it also sets from the server data when necessary (when it is not yet set, which happens when the trigger has just been fetched or immediately after a pull or push -- this is because a trigger's notion of its host(s) is "whatever is referred to in the trigger expression"). The value returned is an arrayref ofZabbix::API::Hostinstances. - items()
 - 
Same as
hosts(), for items. - dependencies()
 - 
Same as
hosts(), for dependencies (which areTriggerinstances). - add_dependency(DEPENDENCY)
 - 
Add a dependency to this trigger. The dependency can be a trigger ID (an integer), or a
Zabbix::API::Triggerinstance. - remove_dependency(DEPENDENCY)
 - 
Remove a dependency from this trigger. The dependency can be a trigger ID (an integer), or a
Zabbix::API::Triggerinstance. Unlike the web API method, this method removes a single dependency. 
BUGS AND LIMITATIONS
The expression data attribute stored in Zabbix::API::Trigger instances is actually an expression ID. This is what the web API returns. Expressions are also not mapped by the web API, so this is all you get (well, you can get the list of hosts and items mentioned in the expression). If you plan on using this distribution to manipulate trigger expressions, a workaround is to have the trigger just use a calculated item in a very simple expression, since items work as expected.
Since the web API does not expose a method through which dependencies can be removed individually, the remove_dependency method works around this by deleting all dependencies then adding back the rest.
SEE ALSO
AUTHOR
Fabrice Gabolde <fabrice.gabolde@uperto.com>
COPYRIGHT AND LICENSE
Copyright (C) 2011 Devoteam
This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.