Class: ZabbixApi::Screens
- Defined in:
- lib/zabbixapi/classes/screens.rb
Instance Method Summary collapse
-
#delete(data) ⇒ Integer
Delete Screen object using Zabbix API.
-
#get_or_create_for_host(data) ⇒ Integer
Get or Create Screen object for Host using Zabbix API.
-
#indentify ⇒ String
The id field name used for identifying specific Screen objects via Zabbix API.
-
#method_name ⇒ String
The method name used for interacting with Screens via Zabbix API.
Methods inherited from Basic
#add, #all, #create, #create_or_update, #default_options, #destroy, #dump_by_id, #get, #get_full_data, #get_id, #get_or_create, #get_raw, #hash_equals?, #initialize, #key, #keys, #log, #merge_params, #normalize_array, #normalize_hash, #parse_keys, #symbolize_keys, #update
Constructor Details
This class inherits a constructor from ZabbixApi::Basic
Instance Method Details
#delete(data) ⇒ Integer
Delete Screen object using Zabbix API
42 43 44 45 |
# File 'lib/zabbixapi/classes/screens.rb', line 42 def delete(data) result = @client.api_request(:method => 'screen.delete', :params => [data]) result.empty? ? nil : result['screenids'][0].to_i end |
#get_or_create_for_host(data) ⇒ Integer
Get or Create Screen object for Host using Zabbix API
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/zabbixapi/classes/screens.rb', line 53 def get_or_create_for_host(data) screen_name = data[:screen_name] graphids = data[:graphids] screenitems = [] hsize = data[:hsize] || 3 valign = data[:valign] || 2 halign = data[:halign] || 2 rowspan = data[:rowspan] || 1 colspan = data[:colspan] || 1 height = data[:height] || 320 # default 320 width = data[:width] || 200 # default 200 vsize = data[:vsize] || [1, (graphids.size / hsize).to_i].max screenid = get_id(:name => screen_name) unless screenid # Create screen graphids.each_with_index do |graphid, index| screenitems << { :resourcetype => 0, :resourceid => graphid, :x => (index % hsize).to_i, :y => (index % graphids.size / hsize).to_i, :valign => valign, :halign => halign, :rowspan => rowspan, :colspan => colspan, :height => height, :width => width, } end screenid = create( :name => screen_name, :hsize => hsize, :vsize => vsize, :screenitems => screenitems ) end screenid end |
#indentify ⇒ String
The id field name used for identifying specific Screen objects via Zabbix API
32 33 34 |
# File 'lib/zabbixapi/classes/screens.rb', line 32 def indentify 'name' end |
#method_name ⇒ String
The method name used for interacting with Screens via Zabbix API
25 26 27 |
# File 'lib/zabbixapi/classes/screens.rb', line 25 def method_name 'screen' end |