lib/zabbixapi/graphs.rb in zabbixapi-0.4.1 vs lib/zabbixapi/graphs.rb in zabbixapi-0.4.2

- old
+ new

@@ -17,11 +17,11 @@ def delete(data) result = @client.api_request(:method => "graph.delete", :params => [data]) case @client.api_version when "1.3" - result ? 1 : 0 #return "true" or "false" for this api version + result ? 1 : nil #return "true" or "false" for this api version else result.empty? ? nil : result['graphids'][0].to_i end end @@ -31,17 +31,35 @@ def get_full_data(data) @client.api_request(:method => "graph.get", :params => {:search => {:name => data}, :output => "extend"}) end + def get_items(data) + @client.api_request(:method => "graphitem.get", :params => { :graphids => [data], :output => "extend" } ) + end + def get_id(data) result = @client.api_request(:method => "graph.get", :params => {:filter => {:name=> data[:name]}, :output => "extend"}) - result.empty? ? nil : result[0]['graphid'].to_i + graphid = nil + result.each do |graph| + graphid = graph['graphid'].to_i if graph['name'] == data[:name] + end + graphid end + def create_or_update(data) + graphid = get_id(:name => data[:name]) + graphid ? update(data.merge(:graphid => graphid)) : create(data) + end + def update(data) - result = @client.api_request(:method => "graph.update", :params => data) - result.empty? ? nil : result['graphids'][0].to_i + case @client.api_version + when "1.2" + return -1 + else + result = @client.api_request(:method => "graph.update", :params => data) + result.empty? ? nil : result['graphids'][0].to_i + end end end end \ No newline at end of file