Sha256: 9e0ea6bef4df2861b862864cffc05ba54ec470eb9456737ef952b65ec55a5694

Contents?: true

Size: 1.62 KB

Versions: 2

Compression:

Stored size: 1.62 KB

Contents

module Zabbix

  class ZabbixApi
    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' => [],
        'templates' => [],
        '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_options['templates'].map! { |template_id| {'templateid' => template_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

      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

      result
    end

    def get_host(params)

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

      response = send_request(message)

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

      result
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
iteh-zabbixapi-0.2.4 lib/zabbixapi/host.rb
iteh-zabbixapi-0.2.3 lib/zabbixapi/host.rb