Class: ZabbixApi::Usergroups

Inherits:
Basic
  • Object
show all
Defined in:
lib/zabbixapi/1.8/classes/usergroups.rb,
lib/zabbixapi/2.0/classes/usergroups.rb

Instance Method Summary collapse

Methods inherited from Basic

#add, #all, #create, #create_or_update, #default_options, #destroy, #dump_by_id, #get, #get_full_data, #get_id, #hash_equals?, #initialize, #keys, #log, #merge_params, #normalize_hash, #parse_keys, #symbolize_keys, #update

Constructor Details

This class inherits a constructor from ZabbixApi::Basic

Instance Method Details

#add_user(data) ⇒ Object

Update usergroup, add user

  • Args :

    • data -> Hash with :usrgrpids => id, :userids => []

  • Returns :

    • Integer



70
71
72
73
74
75
76
77
78
79
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 70

def add_user(data)
  result = @client.api_request(
    :method => "usergroup.massAdd", 
    :params => {
      :usrgrpids => data[:usrgrpids],
      :userids => data[:userids]
    }
  )
  result ? result['usrgrpids'][0].to_i : nil
end

#array_flagObject



4
5
6
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 4

def array_flag
  true
end

#delete(data) ⇒ Object

Delete UserGroup

  • Args :

    • data -> Array with usrgrpids

  • Returns :

    • Nil or Integer



26
27
28
29
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 26

def delete(data)
  result = @client.api_request(:method => "usergroup.delete", :params => data)
  result ? result['usrgrpids'][0].to_i : nil
end

#get_or_create(data) ⇒ Object

Return usrgrpid

  • Args :

    • data -> Hash with :name => “UserGroup”

  • Returns :

    • Integer



38
39
40
41
42
43
44
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 38

def get_or_create(data)
  usrgrpid = get_id(data)
  if usrgrpid.nil?
    usrgrpid = create(data)
  end
  usrgrpid
end

#indentifyObject



16
17
18
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 16

def indentify
  "name"
end

#keyObject



12
13
14
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 12

def key
  "usrgrpid"
end

#method_nameObject



8
9
10
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 8

def method_name
  "usergroup"
end

#set_perms(data) ⇒ Object

Set permission for usrgrp on some hostgroup

  • Args :

    • data -> Hash with :usrgrpids => id, :hostgroupids => [], :permission => 2,3 (read and read write)

  • Returns :

    • Integer



52
53
54
55
56
57
58
59
60
61
62
# File 'lib/zabbixapi/1.8/classes/usergroups.rb', line 52

def set_perms(data)
  permission = data[:permission] || 2 
  result = @client.api_request(
    :method => "usergroup.massAdd", 
    :params => {
      :usrgrpids => [data[:usrgrpid]],
      :rights => data[:hostgroupids].map { |t| {:permission => permission, :id => t} }
    }
  )
  result ? result['usrgrpids'][0].to_i : nil
end