Class: ZabbixApi

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

Defined Under Namespace

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

Constant Summary collapse

VERSION =
"2.2.2"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ZabbixApi

Returns a new instance of ZabbixApi.



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

def initialize(options = {})
  @client = Client.new(options)
  unless @client.api_version =~ /2\.2\.\d+/
    raise "Zabbix API version: #{@client.api_version} is not support by this version of zabbixapi"
  end
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



29
30
31
# File 'lib/zabbixapi.rb', line 29

def client
  @client
end

Class Method Details

.connect(options = {}) ⇒ Object



31
32
33
# File 'lib/zabbixapi.rb', line 31

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

.currentObject



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

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

Instance Method Details

#applicationsObject



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

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

#configurationsObject



106
107
108
# File 'lib/zabbixapi.rb', line 106

def configurations
  @configurations ||= Configurations.new(@client)
end

#graphsObject



82
83
84
# File 'lib/zabbixapi.rb', line 82

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

#hostgroupsObject



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

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

#hostsObject



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

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

#itemsObject



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

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

#mediatypesObject



102
103
104
# File 'lib/zabbixapi.rb', line 102

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

#proxiesObject



86
87
88
# File 'lib/zabbixapi.rb', line 86

def proxies
  @proxies ||= Proxies.new(@client)
end

#query(data) ⇒ Object



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

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

#screensObject



90
91
92
# File 'lib/zabbixapi.rb', line 90

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

#serverObject



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

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

#templatesObject



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

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

#triggersObject



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

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

#usergroupsObject



94
95
96
# File 'lib/zabbixapi.rb', line 94

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

#usermacrosObject



98
99
100
# File 'lib/zabbixapi.rb', line 98

def usermacros
  @usermacros ||= Usermacros.new(@client)
end

#usersObject



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

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