Class: Zabbix::Action::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/zabbix/action/status.rb,
lib/zabbix/action/status/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(zabbix_api_url, zabbix_action_ids) ⇒ Status

Returns a new instance of Status.



8
9
10
11
# File 'lib/zabbix/action/status.rb', line 8

def initialize(zabbix_api_url, zabbix_action_ids)
  @api_uri = URI.parse(zabbix_api_url)
  @action_ids = zabbix_action_ids
end

Instance Method Details

#disableObject

zabbixの通知をoffにする



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/zabbix/action/status.rb', line 14

def disable
  auth_key = send_auth_request()
  action_status_hash = get_target_actions_status(auth_key, @action_ids)
  # ステータスを変える
  @action_ids.each do |id|
    result = update_zabbix_action_disable_status(auth_key, id) if action_status_hash[id] == "0"
    check_error_json_response(result)
  end

  # 最終チェック
  result_status = get_target_actions_status(auth_key, @action_ids)
  @action_ids.each do |id|
    raise 'ERROR:zabbix status error'+result_status.to_s if result_status[id] == "0"
  end
end

#enableObject

zabbixの通知をonにする



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/zabbix/action/status.rb', line 31

def enable
  auth_key = send_auth_request()
  action_status_hash = get_target_actions_status(auth_key, @action_ids)
  # ステータスを変える
  @action_ids.each do |id|
    result = update_zabbix_action_enable_status(auth_key, id) if action_status_hash[id] == "1"
    check_error_json_response(result)
  end

  # 最終チェック
  result_status = get_target_actions_status(auth_key, @action_ids)
  @action_ids.each do |id|
    raise 'ERROR:zabbix status error' + result_status.to_s if result_status[id] == "1"
  end
end