Class: Zabbix::Trigger

Inherits:
API
  • Object
show all
Defined in:
lib/z2monitor/api/trigger.rb

Instance Attribute Summary collapse

Attributes inherited from API

#event, #server, #token, #trigger, #user, #verbose, #whoami

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ Trigger

Returns a new instance of Trigger.



6
7
8
9
# File 'lib/z2monitor/api/trigger.rb', line 6

def initialize(parent)
  @parent = parent
  @verbose = @parent.verbose
end

Instance Attribute Details

#parentObject

Returns the value of attribute parent.



5
6
7
# File 'lib/z2monitor/api/trigger.rb', line 5

def parent
  @parent
end

Instance Method Details

#call_api(message) ⇒ Object



10
11
12
# File 'lib/z2monitor/api/trigger.rb', line 10

def call_api(message)
  return @parent.call_api(message)
end

#get(options = {}) ⇒ Object

General trigger.get



14
15
16
17
# File 'lib/z2monitor/api/trigger.rb', line 14

def get( options = {} )
  request = { 'method' => 'trigger.get', 'params' => options }
  return call_api(request)
end

#get_active(min_severity = 2, maint = 0, lastack = 0, priority_list = '') ⇒ Object

Get a hash of all unresolved problem triggers



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/z2monitor/api/trigger.rb', line 19

def get_active( min_severity = 2, maint = 0, lastack = 0, priority_list = '' )
  request = {
    'method' => 'trigger.get',
    'params' => {
      'sortfield' => ['priority', 'lastchange'],
      'sortorder' => ['desc', 'desc'],
      'templated' => '0',
      'filter' => { 'value' => '1', 'status' => '0' },
      'expandData' => 'host',
      'expandDescription' => '1',
      'selectHosts' => 'extend',
      'selectItems' => 'extend',
      'output' => 'extend'
    }
  }
  request['params']['maintenance'] = 0 if maint == 1
  request['params']['withLastEventUnacknowledged'] = 1 if lastack == 1
  if priority_list == ''
    request['params']['min_severity'] = min_severity.to_s
  else
    request['params']['filter']['priority'] = priority_list.split(",")
  end
  return call_api(request)
end