NAME
Zabbix2::API::Action -- Zabbix action objects
SYNOPSIS
use Zabbix2::API::Action qw/ACTION_EVENTSOURCE_TRIGGERS
ACTION_EVAL_TYPE_AND
ACTION_CONDITION_TYPE_TRIGGER_NAME
ACTION_CONDITION_OPERATOR_LIKE
ACTION_OPERATION_TYPE_MESSAGE/;
# Create a trigger for demonstration purposes.
my $new_trigger = Zabbix2::API::Trigger->new(
root => $zabber,
data => { description => 'Some Trigger',
expression => '{Zabbix server:system.uptime.last(0)}<600', });
# Get a random media type and user, also for demonstration purposes.
my $any_media_type = $zabber->fetch_single('MediaType', params => { limit => 1 });
my $any_user = $zabber->fetch_single('User', params => { limit => 1 });
# Create a new action: every time the trigger 'Some Trigger' toggles
# (from OK to PROBLEM or from PROBLEM to OK), send a message to the
# user. The message's contents will be determined from the action
# data (default_msg => 1) and the message itself will be delivered,
# over some media type that we previously picked randomly, to a random
# user (id.). Escalates every 2 minutes.
my $new_action = Zabbix2::API::Action->new(
root => $zabber,
data => { name => 'Another Action',
esc_period => 120,
eventsource => ACTION_EVENTSOURCE_TRIGGERS,
evaltype => ACTION_EVAL_TYPE_AND,
conditions => [ { conditiontype => ACTION_CONDITION_TYPE_TRIGGER_NAME,
operator => ACTION_CONDITION_OPERATOR_LIKE,
value => 'Some Trigger' } ],
operations => [ { operationtype => ACTION_OPERATION_TYPE_MESSAGE,
opmessage => { default_msg => 1,
mediatypeid => $any_media_type->id },
opmessage_usr => [ { userid => $any_user->id } ] } ]
});
$new_action->create;
DESCRIPTION
Handles CRUD for Zabbix action objects.
This is a subclass of Zabbix2::API::CRUDE
; see there for inherited methods.
EXPORTS
Many many constants that don't seem to be documented anywhere; see source for a complete list.
Nothing is exported by default; you can use the tags :eventsources
, :condition_types
, :condition_operators
, operation_types
and eval_types
(or import by name).
SEE ALSO
http://www.zabbix.com/documentation/1.8/complete#actions
AUTHOR
Fabrice Gabolde <fga@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2011, 2014 Devoteam
This library is free software; you can redistribute it and/or modify it under the terms of the GPLv3.