zbxapi 0.1.398 → 0.2.415
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/api_classes/api_dsl.rb +308 -0
- data/api_classes/{history.rb → dsl_event.rb} +8 -33
- data/api_classes/dsl_graph.rb +31 -0
- data/api_classes/dsl_history.rb +33 -0
- data/api_classes/dsl_host.rb +49 -0
- data/api_classes/{proxy.rb → dsl_hostgroup.rb} +13 -20
- data/api_classes/{user_group.rb → dsl_item.rb} +10 -29
- data/api_classes/dsl_proxy.rb +32 -0
- data/api_classes/dsl_template.rb +39 -0
- data/api_classes/dsl_trigger.rb +48 -0
- data/api_classes/{subclass_base.rb → dsl_user.rb} +16 -32
- data/api_classes/dsl_usergroup.rb +39 -0
- data/api_classes/dsl_usermacro.rb +39 -0
- data/api_classes/dsl_usermedia.rb +32 -0
- data/zbxapi.rb +105 -100
- data/zbxapi/api_exceptions.rb +2 -2
- data/zbxapi/exceptions.rb +2 -2
- data/zbxapi/result.rb +74 -0
- data/zbxapi/utils.rb +2 -2
- data/zbxapi/zdebug.rb +2 -2
- metadata +24 -20
- data/api_classes/application.rb +0 -88
- data/api_classes/graph.rb +0 -77
- data/api_classes/host.rb +0 -124
- data/api_classes/host_group.rb +0 -108
- data/api_classes/item.rb +0 -92
- data/api_classes/sysmap.rb +0 -91
- data/api_classes/trigger.rb +0 -71
- data/api_classes/user.rb +0 -138
- data/zbxapi/revision.rb +0 -7
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
# Title:: Zabbix API Ruby Library
|
|
2
|
+
# License:: LGPL 2.1 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
|
3
|
+
# Copyright:: Copyright (C) 2009,2010 Andrew Nelson nelsonab(at)red-tux(dot)net
|
|
4
|
+
#
|
|
5
|
+
# This library is free software; you can redistribute it and/or
|
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
7
|
+
# License as published by the Free Software Foundation; either
|
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
9
|
+
#
|
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
13
|
+
# Lesser General Public License for more details.
|
|
14
|
+
#
|
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
16
|
+
# License along with this library; if not, write to the Free Software
|
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
18
|
+
|
|
19
|
+
#--
|
|
20
|
+
##########################################
|
|
21
|
+
# Subversion information
|
|
22
|
+
# $Id: api_dsl.rb 409 2012-09-11 23:39:58Z nelsonab $
|
|
23
|
+
# $Revision: 409 $
|
|
24
|
+
##########################################
|
|
25
|
+
#++
|
|
26
|
+
|
|
27
|
+
require "zbxapi/zdebug"
|
|
28
|
+
require "zbxapi/exceptions"
|
|
29
|
+
|
|
30
|
+
class ZabbixAPI_Method
|
|
31
|
+
include ZDebug
|
|
32
|
+
|
|
33
|
+
class InvalidArity<RuntimeError
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
class AlreadyUsedError<RuntimeError
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class InvalidMethodError<ZError
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def initialize(apiclass,apimethod)
|
|
43
|
+
@apiclass=apiclass
|
|
44
|
+
@apimethod=apimethod
|
|
45
|
+
@login_required=true
|
|
46
|
+
@arg_processors={} # {version=>block}
|
|
47
|
+
@validparams={} # {version=>[valid parameters]}
|
|
48
|
+
@requiredparams={} # {version=>[required parameters]}
|
|
49
|
+
@default=:default # Which is the default version to use
|
|
50
|
+
@method_names={}
|
|
51
|
+
@method_names["0"]="#{@apiclass}.#{@apimethod}".downcase
|
|
52
|
+
@deprecated=nil
|
|
53
|
+
@invalidated=nil
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def login_not_required
|
|
57
|
+
@login_required=false
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
#Deprecate this function starting at API version ver
|
|
61
|
+
#If msg is nil the following will be printed:
|
|
62
|
+
#"#{method} is deprecated for API versions #{ver} and higher"
|
|
63
|
+
# Where method is the current method name for the API
|
|
64
|
+
def deprecate(ver,msg=nil)
|
|
65
|
+
#Deprecate can only be called once
|
|
66
|
+
raise AlreadyUsedError.new("Deprecate can only be used once per method") if @deprecated
|
|
67
|
+
@deprecated={ver=>(msg || "") }
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
#Invalidate this function starting at API version ver
|
|
71
|
+
#This will raise the ZabbixAPI_Method::InvalidMethod exception
|
|
72
|
+
#If msg is nil the following string will be used in the exception:
|
|
73
|
+
#"#{method} is invalid for API versions #{ver} and higher"
|
|
74
|
+
# Where method is the current method name for the API
|
|
75
|
+
def invalidate(ver,msg=nil)
|
|
76
|
+
#Invalidate can only be called once
|
|
77
|
+
raise AlreadyUsedError.new("Invalidate can only be used once per method") if @deprecated
|
|
78
|
+
@invalidated={ver=>(msg || "") }
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
#Allows for the override of the API method to be called
|
|
82
|
+
#The default method is version 0 which can be overridden
|
|
83
|
+
def method_override(ver,name)
|
|
84
|
+
@method_names[ver]=name
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
#add_arg_processor
|
|
88
|
+
#Creates an argument processor suitable for versions starting at ver
|
|
89
|
+
#ver is a string denoting the starting version number this argument processor should be used on
|
|
90
|
+
#This method also needs a block to be passed. The block
|
|
91
|
+
def add_arg_processor(ver,&block)
|
|
92
|
+
raise InvalidArity.new("Argument processor must accept one parameter") if block.arity !=1
|
|
93
|
+
@arg_processors[ver]=block
|
|
94
|
+
@default=ver
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def get_arg_processor(ver)
|
|
98
|
+
ver=get_version(ver,@arg_processors)
|
|
99
|
+
return nil if ver.nil?
|
|
100
|
+
@arg_processors[ver]
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
#calls the argument processor appropriate for ver
|
|
104
|
+
#If no argument processor found, params are returned unchanged
|
|
105
|
+
def call_arg_processor(ver,params={})
|
|
106
|
+
processor=get_arg_processor(ver)
|
|
107
|
+
if processor.nil?
|
|
108
|
+
params
|
|
109
|
+
else
|
|
110
|
+
processor.call(params)
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def add_valid_params(ver,params)
|
|
115
|
+
@validparams[ver]=params
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def add_required_params(ver,params)
|
|
119
|
+
@requiredparams[ver]=params
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def get_valid_params(ver)
|
|
123
|
+
ver=get_version(ver,@validparams)
|
|
124
|
+
return nil if ver.nil?
|
|
125
|
+
@validparams[ver]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def get_required_params(ver)
|
|
129
|
+
ver=get_version(ver,@requiredparams)
|
|
130
|
+
return nil if ver.nil?
|
|
131
|
+
@requiredparams[ver]
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def params_good?(server_version, params)
|
|
135
|
+
debug(8,:msg=>"Server Version", :var=>server_version)
|
|
136
|
+
var=params.is_a?(Hash) ? params.keys : params
|
|
137
|
+
debug(8,:msg=>"Param keys", :var=>var)
|
|
138
|
+
|
|
139
|
+
valid_params=get_valid_params(server_version)
|
|
140
|
+
|
|
141
|
+
if valid_params #continue to see if there's a required param
|
|
142
|
+
raise ArgumentError.new("Named Arguments (Hash) expected for #{@apiclass}.#{@apimethod},"\
|
|
143
|
+
" '#{params.class}' received: #{params.inspect}") if !params.is_a?(Hash)
|
|
144
|
+
args=params.keys
|
|
145
|
+
|
|
146
|
+
invalid_args=args-valid_params
|
|
147
|
+
debug(9,:msg=>"Invalid args",:var=>invalid_args)
|
|
148
|
+
raise ZbxAPI_ParameterError.new("Invalid parameters #{invalid_args.inspect}") if !invalid_args.empty?
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
required_params=get_required_params(server_version)
|
|
152
|
+
# ver=get_version(server_version,@requiredparams)
|
|
153
|
+
|
|
154
|
+
return true if required_params.nil?
|
|
155
|
+
required_args=required_params.reject { |i| i.class==Array }
|
|
156
|
+
required_or_args=required_params.reject { |i| i.class!=Array }
|
|
157
|
+
|
|
158
|
+
missing_args=[]
|
|
159
|
+
missing_args=required_args-args
|
|
160
|
+
|
|
161
|
+
required_or_args.delete_if do |i|
|
|
162
|
+
count=i.length
|
|
163
|
+
missing_args<<i if (i-args).count==count
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
debug(9,:msg=>"Required Params",:var=>required_params)
|
|
167
|
+
debug(9,:msg=>"Missing params",:var=>missing_args)
|
|
168
|
+
|
|
169
|
+
if !missing_args.empty?
|
|
170
|
+
msg=missing_args.map do |i|
|
|
171
|
+
if i.class==Array
|
|
172
|
+
"(#{i.join(" | ")})"
|
|
173
|
+
else
|
|
174
|
+
i
|
|
175
|
+
end
|
|
176
|
+
end.join(", ")
|
|
177
|
+
raise ZbxAPI_ParameterError.new("Missing required arguments: #{msg}")
|
|
178
|
+
end
|
|
179
|
+
true
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
#This is the function that does the actual APIcall.
|
|
183
|
+
def do(server,params={})
|
|
184
|
+
debug(7,:msg=>"Method Name",:var=>@method_names[@method_names.keys.sort.first])
|
|
185
|
+
debug(7,:msg=>"Server",:var=>server)
|
|
186
|
+
debug(7,:msg=>"Params",:var=>params)
|
|
187
|
+
|
|
188
|
+
ver=get_version(server.API_version,@method_names)
|
|
189
|
+
name=@method_names[ver]
|
|
190
|
+
|
|
191
|
+
debug(8,:msg=>"Method Name used",:var=>name)
|
|
192
|
+
|
|
193
|
+
if @invalidated
|
|
194
|
+
ver=get_version(server.API_version,@invalidated)
|
|
195
|
+
if ver
|
|
196
|
+
msg=@invalidated.values.first.empty? ?
|
|
197
|
+
"#{name} is invalid for api versions #{@invalidated.keys.first} and higher" : @invalidated.values.first
|
|
198
|
+
raise InvalidMethodError.new(msg)
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
if @deprecated
|
|
203
|
+
ver=get_version(server.API_version,@deprecated)
|
|
204
|
+
if ver
|
|
205
|
+
msg=@deprecated.values.first.empty? ?
|
|
206
|
+
"#{name} is deprecated for api versions #{@deprecated.keys.first} and higher" : @deprecated.values.first
|
|
207
|
+
warn("Warning: #{msg}")
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
debug(8,:msg=>"Params before arg processor",:var=>params)
|
|
212
|
+
params=call_arg_processor(server.API_version,params)
|
|
213
|
+
debug(7,:msg=>"Params after arg processor",:var=>params)
|
|
214
|
+
params_good?(server.API_version,params)
|
|
215
|
+
server.api_call(name,params)
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
#returns the version number closest to server which is less than
|
|
219
|
+
#or equal to server
|
|
220
|
+
#If no versions exist in hash, nil is returned
|
|
221
|
+
def get_version(server,hash)
|
|
222
|
+
return nil if hash.nil?
|
|
223
|
+
server=server.split(".").map{|i| i.to_i }
|
|
224
|
+
hash=hash.keys.map{|i| i.split(".").map {|a| a.to_i} }
|
|
225
|
+
|
|
226
|
+
equality=0
|
|
227
|
+
hash.sort! {|x,y| x<=>y }
|
|
228
|
+
version=nil
|
|
229
|
+
hash.each {|i|
|
|
230
|
+
version=i if (server<=>i)>=0
|
|
231
|
+
}
|
|
232
|
+
version.join(".") if !version.nil?
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
class ZabbixAPI_Base
|
|
239
|
+
def initialize(server)
|
|
240
|
+
@server=server
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
def api_methods
|
|
244
|
+
self.class.api_methods.keys
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
def api_aliases
|
|
248
|
+
self.class.api_aliases
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
def valid_params(sym,ver=nil)
|
|
252
|
+
api_method=self.class.api_methods[sym]
|
|
253
|
+
return nil if api_method.nil?
|
|
254
|
+
api_method.valid_params(ver)
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
def self.method_missing(sym,&block)
|
|
258
|
+
add(sym,&block)
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
def self.action(sym, &block)
|
|
262
|
+
add(sym,&block)
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
def self.actions(*sym)
|
|
266
|
+
sym.each {|s| add(s)}
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
def self.api_methods
|
|
270
|
+
@api_methods
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
def self.api_aliases
|
|
274
|
+
@api_aliases={} if @api_aliases.nil?
|
|
275
|
+
@api_aliases
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
def self.alias(from,to)
|
|
279
|
+
@api_aliases={} if @api_aliases.nil?
|
|
280
|
+
@api_aliases[from]=to
|
|
281
|
+
|
|
282
|
+
@api_methods[to]=@api_methods[from]
|
|
283
|
+
|
|
284
|
+
define_method(to) do |params|
|
|
285
|
+
self.class.api_methods[to].do(@server,params)
|
|
286
|
+
end
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
def self.add(sym,&block)
|
|
290
|
+
@api_methods={} if @api_methods.nil?
|
|
291
|
+
@api_methods[sym]=ZabbixAPI_Method.new(self.to_s,sym.to_s)
|
|
292
|
+
@api_methods[sym].instance_eval(&block) if !block.nil?
|
|
293
|
+
|
|
294
|
+
#Create a method definition for the parameter in question.
|
|
295
|
+
#params is not treated as an array, the splat operator
|
|
296
|
+
#is there to allow for no parameters to be passed
|
|
297
|
+
define_method(sym) do |*params|
|
|
298
|
+
#The splat operator ensures we get an array, but we need
|
|
299
|
+
#to test to ensure we receive one hash parameter
|
|
300
|
+
if (params.length>1)
|
|
301
|
+
raise ArgumentError.new("Hash or one argument expected for #{self.class}.#{sym.to_s}, received: #{params.inspect}")
|
|
302
|
+
end
|
|
303
|
+
self.class.api_methods[sym].do(@server,params.first)
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
|
|
@@ -19,41 +19,16 @@
|
|
|
19
19
|
#--
|
|
20
20
|
##########################################
|
|
21
21
|
# Subversion information
|
|
22
|
-
# $Id:
|
|
23
|
-
# $Revision:
|
|
22
|
+
# $Id: dsl_event.rb 340 2011-10-14 23:22:06Z nelsonab $
|
|
23
|
+
# $Revision: 340 $
|
|
24
24
|
##########################################
|
|
25
25
|
#++
|
|
26
26
|
|
|
27
|
-
require "api_classes/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
#******************************************************************************
|
|
31
|
-
#
|
|
32
|
-
# Class ZbxAPI_History
|
|
33
|
-
#
|
|
34
|
-
# Class encapsulating history functions
|
|
35
|
-
#
|
|
36
|
-
# get
|
|
37
|
-
#
|
|
38
|
-
#******************************************************************************
|
|
39
|
-
|
|
40
|
-
class ZbxAPI_History
|
|
41
|
-
|
|
42
|
-
def initialize(server)
|
|
43
|
-
@server=server
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
#Get the history for an item.
|
|
47
|
-
# itemids is a required option
|
|
48
|
-
# example: get({"itemids"=>12345})
|
|
49
|
-
def get(options)
|
|
50
|
-
@server.checkauth
|
|
51
|
-
@server.checkversion(1,3)
|
|
52
|
-
|
|
53
|
-
raise ZbxAPI_ParameterError, "Missing 'itemid'", "History.get" if options["itemids"].nil?
|
|
54
|
-
|
|
55
|
-
p obj=@server.raw_api("history.get",options)
|
|
56
|
-
return obj['result']
|
|
57
|
-
end
|
|
27
|
+
require "api_classes/api_dsl"
|
|
58
28
|
|
|
29
|
+
class Event < ZabbixAPI_Base
|
|
59
30
|
end
|
|
31
|
+
|
|
32
|
+
Event.get
|
|
33
|
+
Event.acknowledge
|
|
34
|
+
Event.delete
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Title:: Zabbix API Ruby Library
|
|
2
|
+
# License:: LGPL 2.1 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
|
3
|
+
# Copyright:: Copyright (C) 2009,2010 Andrew Nelson nelsonab(at)red-tux(dot)net
|
|
4
|
+
#
|
|
5
|
+
# This library is free software; you can redistribute it and/or
|
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
7
|
+
# License as published by the Free Software Foundation; either
|
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
9
|
+
#
|
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
13
|
+
# Lesser General Public License for more details.
|
|
14
|
+
#
|
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
16
|
+
# License along with this library; if not, write to the Free Software
|
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
18
|
+
|
|
19
|
+
#--
|
|
20
|
+
##########################################
|
|
21
|
+
# Subversion information
|
|
22
|
+
# $Id: dsl_graph.rb 409 2012-09-11 23:39:58Z nelsonab $
|
|
23
|
+
# $Revision: 409 $
|
|
24
|
+
##########################################
|
|
25
|
+
#++
|
|
26
|
+
|
|
27
|
+
require "api_classes/api_dsl"
|
|
28
|
+
|
|
29
|
+
class Graph < ZabbixAPI_Base
|
|
30
|
+
actions :get, :create, :update, :delete
|
|
31
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Title:: Zabbix API Ruby Library
|
|
2
|
+
# License:: LGPL 2.1 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
|
3
|
+
# Copyright:: Copyright (C) 2009,2010 Andrew Nelson nelsonab(at)red-tux(dot)net
|
|
4
|
+
#
|
|
5
|
+
# This library is free software; you can redistribute it and/or
|
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
7
|
+
# License as published by the Free Software Foundation; either
|
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
9
|
+
#
|
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
13
|
+
# Lesser General Public License for more details.
|
|
14
|
+
#
|
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
16
|
+
# License along with this library; if not, write to the Free Software
|
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
18
|
+
|
|
19
|
+
#--
|
|
20
|
+
##########################################
|
|
21
|
+
# Subversion information
|
|
22
|
+
# $Id: dsl_history.rb 337 2011-10-14 16:11:39Z nelsonab $
|
|
23
|
+
# $Revision: 337 $
|
|
24
|
+
##########################################
|
|
25
|
+
#++
|
|
26
|
+
|
|
27
|
+
require "api_classes/api_dsl"
|
|
28
|
+
|
|
29
|
+
class History < ZabbixAPI_Base
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
History.get
|
|
33
|
+
History.delete
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require "api_classes/api_dsl"
|
|
2
|
+
|
|
3
|
+
class Host < ZabbixAPI_Base
|
|
4
|
+
actions :update, :massAdd, :massUpdate, :massRemove
|
|
5
|
+
|
|
6
|
+
action :get do
|
|
7
|
+
#arg_processor "1.3" do |params|
|
|
8
|
+
# params["output"]="extend"
|
|
9
|
+
# params
|
|
10
|
+
#end
|
|
11
|
+
|
|
12
|
+
add_valid_params "1.3", ["nodeids","groupids","hostids","templateids",
|
|
13
|
+
"itemids","triggerids","graphids","proxyids","maintenanceids",
|
|
14
|
+
"dhostids","dserviceids","monitored_hosts","templated_hosts",
|
|
15
|
+
"proxy_hosts","with_items","with_monitored_items",
|
|
16
|
+
"with_historical_items","with_triggers","with_monitored_triggers",
|
|
17
|
+
"with_httptests","with_monitored_httptests","with_graphs",
|
|
18
|
+
"editable","filter","search","startSearch","excludeSearch",
|
|
19
|
+
"searchWildcardsEnabled","output","select_groups","selectParentTemplates",
|
|
20
|
+
"select_items","select_triggers","select_graphs","select_applications",
|
|
21
|
+
"select_macros","select_profile","countOutput","groupOutput",
|
|
22
|
+
"preservekeys","sortfield","sortorder","limit","extendoutput"]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
action :exists do
|
|
26
|
+
add_valid_params "1.3", ["nodeids","hostid","host"]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
action :create do
|
|
30
|
+
add_valid_params "1.3", ["host","port","status","useip",
|
|
31
|
+
"dns","ip","proxy_hostid","useipmi","ipmi_ip","ipmi_port",
|
|
32
|
+
"ipmi_authtype","ipmi_privilege","ipmi_username",
|
|
33
|
+
"ipmi_password","groups","templates"]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
action :delete do
|
|
37
|
+
add_arg_processor "0" do |params|
|
|
38
|
+
retval=nil
|
|
39
|
+
if params.is_a?(Fixnum)
|
|
40
|
+
retval=[{"hostid"=>params}]
|
|
41
|
+
else
|
|
42
|
+
retval=params
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
retval
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|