Sha256: 15d34b37dc96ad97b9152c893588ba8ad7d6946063e54008934814c96f7c2fcd

Contents?: true

Size: 1.63 KB

Versions: 8

Compression:

Stored size: 1.63 KB

Contents

module Zabbix

  class ZabbixApi
    def update_host(host_id, host_options)
      host = host_options
      host['hostid'] = host_id

      message = { 
        'method' => 'host.update',
        'params' => host
      }   

      responce = send_request(message)

      if not ( responce.empty? ) then
        result = responce['hostids'][0].to_i
      else
        result = nil 
      end 

      return result
    end 

    def add_host(host_options)

      host_default = {
        'host' => nil,
        'port' => 10050,
        'status' => 0,
        'useip' => 0,
        'dns' => '',
        'ip' => '0.0.0.0',
        'proxy_hostid' => 0,
        'groups' => [],
        'useipmi' => 0,
        'ipmi_ip' => '',
        'ipmi_port' => 623,
        'ipmi_authtype' => 0,
        'ipmi_privilege' => 0,
        'ipmi_username' => '',
        'ipmi_password' => ''
      }

      host_options['groups'].map! { |group_id| {'groupid' => group_id} }

      host = merge_opt(host_default, host_options)

      message = {
        'method' => 'host.create',
        'params' => host
      }

      response = send_request(message)

      unless response.empty? then
        result = response['hostids'][0].to_i
      else
        result = nil
      end

      return result
    end

    def get_host_id(hostname)
  
      message = {
        'method' => 'host.get',
        'params' => {
          'filter' => {
            'host' => hostname
          }
        }
      }

      response = send_request(message)

      unless response.empty? then
        result = response[0]['hostid'].to_i
      else
        result = nil
      end

      return result
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
zabbixapi-0.1.6 lib/zabbixapi/host.rb
zabbixapi-0.1.5b lib/zabbixapi/host.rb
zabbixapi-0.1.5a6 lib/zabbixapi/host.rb
zabbixapi-0.1.5a5 lib/zabbixapi/host.rb
zabbixapi-0.1.5a4 lib/zabbixapi/host.rb
zabbixapi-0.1.5a3 lib/zabbixapi/host.rb
zabbixapi-0.1.5a2 lib/zabbixapi/host.rb
zabbixapi-0.1.5a1 lib/zabbixapi/host.rb