Class: ZabbixManager::Drules

Inherits:
Basic
  • Object
show all
Defined in:
lib/zabbix_manager/classes/drules.rb

Instance Method Summary collapse

Methods inherited from Basic

#add, #all, #create, #delete, #destroy, #dump_by_id, #get, #get_full_data, #get_id, #get_ids, #get_ids_by_identify, #get_key_ids, #get_key_ids_by_identify, #get_or_create_keys, #get_raw, #hash_equals?, #initialize, #key, #keys, #log, #merge_hashes, #normalize_array, #normalize_hash, #parse_keys, #request_raw, #symbolize_keys, #update

Constructor Details

This class inherits a constructor from ZabbixManager::Basic

Instance Method Details

#create_or_update(data) ⇒ Object

通过 Zabbix API 创建或更新 Drule 对象



36
37
38
39
# File 'lib/zabbix_manager/classes/drules.rb', line 36

def create_or_update(data)
  druleid = get_id(name: data[:name])
  druleid ? update(data.merge(druleid: druleid)) : create(data)
end

#default_optionsObject

创建 Drule 对象时使用的默认选项



16
17
18
19
20
21
22
23
# File 'lib/zabbix_manager/classes/drules.rb', line 16

def default_options
  {
    name:    nil,
    iprange: nil,
    delay:   3600,
    status:  0
  }
end

#get_or_create(data) ⇒ Object

通过 Zabbix API 获取或创建 Drule 对象



26
27
28
29
30
31
32
33
# File 'lib/zabbix_manager/classes/drules.rb', line 26

def get_or_create(data)
  log "[DEBUG] 调用 get_or_create,参数为:#{data.inspect}"

  unless (id = get_id(name: data[:name]))
    id = create(data)
  end
  id
end

#identifyObject

用于通过 Zabbix API 标识特定 Drule 对象的 id 字段名称



11
12
13
# File 'lib/zabbix_manager/classes/drules.rb', line 11

def identify
  "name"
end

#method_nameObject

用于通过 Zabbix API 与 Drules 交互的方法名称



6
7
8
# File 'lib/zabbix_manager/classes/drules.rb', line 6

def method_name
  "drule"
end