Class: ZabbixApi

Inherits:
Object
  • Object
show all
Defined in:
lib/zabbixapi.rb,
lib/zabbixapi/client.rb,
lib/zabbixapi/version.rb,
lib/zabbixapi/1.8/classes/hosts.rb,
lib/zabbixapi/1.8/classes/items.rb,
lib/zabbixapi/1.8/classes/users.rb,
lib/zabbixapi/2.0/classes/hosts.rb,
lib/zabbixapi/2.0/classes/items.rb,
lib/zabbixapi/2.0/classes/users.rb,
lib/zabbixapi/1.8/classes/errors.rb,
lib/zabbixapi/1.8/classes/graphs.rb,
lib/zabbixapi/1.8/classes/server.rb,
lib/zabbixapi/2.0/classes/errors.rb,
lib/zabbixapi/2.0/classes/graphs.rb,
lib/zabbixapi/2.0/classes/server.rb,
lib/zabbixapi/1.8/classes/screens.rb,
lib/zabbixapi/2.0/classes/screens.rb,
lib/zabbixapi/1.8/basic/basic_func.rb,
lib/zabbixapi/1.8/basic/basic_init.rb,
lib/zabbixapi/1.8/classes/triggers.rb,
lib/zabbixapi/1.8/classes/unusable.rb,
lib/zabbixapi/2.0/basic/basic_func.rb,
lib/zabbixapi/2.0/basic/basic_init.rb,
lib/zabbixapi/2.0/classes/triggers.rb,
lib/zabbixapi/2.0/classes/unusable.rb,
lib/zabbixapi/1.8/basic/basic_alias.rb,
lib/zabbixapi/1.8/basic/basic_logic.rb,
lib/zabbixapi/1.8/classes/templates.rb,
lib/zabbixapi/2.0/basic/basic_alias.rb,
lib/zabbixapi/2.0/basic/basic_logic.rb,
lib/zabbixapi/2.0/classes/templates.rb,
lib/zabbixapi/1.8/classes/hostgroups.rb,
lib/zabbixapi/1.8/classes/mediatypes.rb,
lib/zabbixapi/1.8/classes/usergroups.rb,
lib/zabbixapi/2.0/classes/hostgroups.rb,
lib/zabbixapi/2.0/classes/mediatypes.rb,
lib/zabbixapi/2.0/classes/usergroups.rb,
lib/zabbixapi/1.8/classes/applications.rb,
lib/zabbixapi/2.0/classes/applications.rb

Defined Under Namespace

Classes: ApiError, Applications, BaseError, Basic, Client, Graphs, HostGroups, Hosts, HttpError, Items, Mediatypes, Screens, Server, SocketError, Templates, Triggers, Usergroups, Users

Constant Summary collapse

VERSION =
"0.6.2"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ZabbixApi

Returns a new instance of ZabbixApi.



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/zabbixapi.rb', line 21

def initialize(options = {})
  @client = Client.new(options)
  case @client.api_version
    when "1.3", "1.2"
      apidir = "1.8"
    when "1.4", "2.0.4", "2.0.5", "2.0.6", "2.0.7", "2.0.8", "2.0.9"
      apidir = "2.0"
    else
      raise "unknown Api version!"
  end
  Dir["#{File.dirname(__FILE__)}/zabbixapi/#{apidir}/basic/*.rb"].each { |f| load(f) }
  Dir["#{File.dirname(__FILE__)}/zabbixapi/#{apidir}/classes/*.rb"].each { |f| load(f) }
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



7
8
9
# File 'lib/zabbixapi.rb', line 7

def client
  @client
end

Class Method Details

.connect(options = {}) ⇒ Object



9
10
11
# File 'lib/zabbixapi.rb', line 9

def self.connect(options = {})
  new(options)
end

.currentObject



13
14
15
# File 'lib/zabbixapi.rb', line 13

def self.current
  @current ||= ZabbixApi.new
end

Instance Method Details

#applicationsObject



51
52
53
# File 'lib/zabbixapi.rb', line 51

def applications
  @applications ||= Applications.new(@client)
end

#graphsObject



67
68
69
# File 'lib/zabbixapi.rb', line 67

def graphs
  @graphs ||= Graphs.new(@client)
end

#hostgroupsObject



59
60
61
# File 'lib/zabbixapi.rb', line 59

def hostgroups
  @hostgroups ||= HostGroups.new(@client)
end

#hostsObject



47
48
49
# File 'lib/zabbixapi.rb', line 47

def hosts
  @hosts ||= Hosts.new(@client)
end

#itemsObject



43
44
45
# File 'lib/zabbixapi.rb', line 43

def items
  @items ||= Items.new(@client)
end

#mediatypesObject



79
80
81
# File 'lib/zabbixapi.rb', line 79

def mediatypes
  @mediatypes ||= Mediatypes.new(@client)
end

#query(data) ⇒ Object



17
18
19
# File 'lib/zabbixapi.rb', line 17

def query(data)
  @client.api_request(:method => data[:method], :params => data[:params])
end

#screensObject



71
72
73
# File 'lib/zabbixapi.rb', line 71

def screens
  @screens ||= Screens.new(@client)
end

#serverObject



35
36
37
# File 'lib/zabbixapi.rb', line 35

def server
  @server ||= Server.new(@client)
end

#templatesObject



55
56
57
# File 'lib/zabbixapi.rb', line 55

def templates
  @templates ||= Templates.new(@client)
end

#triggersObject



63
64
65
# File 'lib/zabbixapi.rb', line 63

def triggers
  @triggers ||= Triggers.new(@client)
end

#usergroupsObject



75
76
77
# File 'lib/zabbixapi.rb', line 75

def usergroups
  @usergroups ||= Usergroups.new(@client)
end

#usersObject



39
40
41
# File 'lib/zabbixapi.rb', line 39

def users
  @users ||= Users.new(@client)
end