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.4"

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
34
# 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
      apidir = "2.0"
      puts "[DEBUG] Unknown API version: #{@client.api_version}. Continuing with #{apidir} apidir" if @client.options[:debug]
  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



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

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

#graphsObject



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

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

#hostgroupsObject



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

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

#hostsObject



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

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

#itemsObject



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

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

#mediatypesObject



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

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



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

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

#serverObject



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

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

#templatesObject



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

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

#triggersObject



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

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

#usergroupsObject



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

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

#usersObject



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

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