Sha256: 8adeb280e683412c25d78adc44493e7ebe4e4ee0ef16e8b1d44348f2687b46ca

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

module Zabbix
  class ZabbixApi

    def add_macro(host_id, macro_name, macro_value)
      message = {
          'method' => 'Usermacro.create',
          'params' => {
              'hostid' => host_id,
              'macro' => macro_name,
              'value' => macro_value
          }
      }
      response = send_request(message)
      hostmacroids == response['hostmacroids'] ? hostmacroids : nil
    end

    def get_macro(host_id, macro_name)
      message = {
          'method' => 'Usermacro.get',
          'params' => {
              'hostids' => host_id,
              'macros' => macro_name,
              'extendoutput' => '1'
          }
      }
      response = send_request(message)
      if response.empty?
        result = nil
      else
        if hostmacroid == response[0]['hostmacroid']
          macro_id = hostmacroid
          macro_value = response[0]['value']

          result = {
              'id' => macro_id,
              'value' => macro_value
          }
        else
          result = nil
        end
      end
      return result
    end

    def set_macro_value(host_id, macro_name, macro_value)
      message = {
          'method' => 'usermacro.updateValue',
          'params' => {
              'hostid' => host_id,
              'macro' => macro_name,
              'value' => macro_value
          }
      }
      response = send_request(message)
      return true
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zabbixapi-0.1.6.2 lib/zabbixapi/usermacro.rb
zabbixapi-0.1.6.1 lib/zabbixapi/usermacro.rb