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