Sha256: 04ce632e55ef348cc48e2834fc2dc0ced7d54970291abe75e57c48bc4fddcbc4

Contents?: true

Size: 1.44 KB

Versions: 10

Compression:

Stored size: 1.44 KB

Contents

require "zabbixapi/version"
require "zabbixapi/client"


class ZabbixApi

  attr :client

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

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

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

  def initialize(options = {})
    @client = Client.new(options)
    case @client.api_version
      when "1.3", "1.2"
        apidir = "1.8"
      when "2.0.4"
        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

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

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

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

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

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

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

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

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

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

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

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

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

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
zabbixapi-0.5.3b7u lib/zabbixapi.rb
zabbixapi-0.5.6 lib/zabbixapi.rb
zabbixapi-0.5.4 lib/zabbixapi.rb
zabbixapi-0.5.3b7 lib/zabbixapi.rb
zabbixapi-0.5.3b6 lib/zabbixapi.rb
zabbixapi-0.5.3b5 lib/zabbixapi.rb
zabbixapi-0.5.3b4 lib/zabbixapi.rb
zabbixapi-0.5.3b3 lib/zabbixapi.rb
zabbixapi-0.5.3b2 lib/zabbixapi.rb
zabbixapi-0.5.3b1 lib/zabbixapi.rb