Provided by: libzabbix-api-perl_0.009-1_all bug

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 "hosts" attribute, 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 of "Zabbix::API::Host" instances.

       items()
           Same as "hosts()", for items.

       dependencies()
           Same as "hosts()", for dependencies (which are "Trigger" instances).

       add_dependency(DEPENDENCY)
           Add a dependency to this trigger.  The dependency can be a trigger ID (an integer), or
           a "Zabbix::API::Trigger" instance.

       remove_dependency(DEPENDENCY)
           Remove a dependency from this trigger.  The dependency can be a trigger ID (an
           integer), or a "Zabbix::API::Trigger" instance.  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

       Zabbix::API::CRUDE.

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.