zbxapi 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/api_classes/dsl_host.rb +71 -1
- data/api_classes/dsl_trigger.rb +48 -9
- data/zbxapi.rb +24 -22
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38a9412b166183c0bd43d087a9aaa9a5ad87b81e
|
4
|
+
data.tar.gz: 5fcd9d06059a7c9c66fc67e4c7daf6dde306e57a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31ff6131737c3746f8f02e5a4f189407d459070c307a7d5a5abdb7f7a24bb3ca3321222e4d36c8bc2c55c59e9ef496d07f0fdd4f079b6f50d9958a1706a3ef44
|
7
|
+
data.tar.gz: 6ec95b61956ef2f18a08a3b03c5fb9395bb9f70bc77e7910d0e96b3b61a98e74ba8a3c1769b92c43adef615ff7e6edcc86e4caa710331c9e2da90e3a9f250d4e
|
data/api_classes/dsl_host.rb
CHANGED
@@ -19,7 +19,6 @@
|
|
19
19
|
require "api_classes/api_dsl"
|
20
20
|
|
21
21
|
class Host < ZabbixAPI_Base
|
22
|
-
actions :update, :massAdd, :massUpdate, :massRemove
|
23
22
|
|
24
23
|
action :get do
|
25
24
|
#arg_processor "1.3" do |params|
|
@@ -46,6 +45,22 @@ class Host < ZabbixAPI_Base
|
|
46
45
|
add "selectGroups"
|
47
46
|
end
|
48
47
|
|
48
|
+
parameters "2.4" do
|
49
|
+
add "groupids","applicationids","dserviceids","graphids","hostids",
|
50
|
+
"httptestids","interfaceids","itemids","maintenanceids","monitored_hosts",
|
51
|
+
"proxy_hosts","proxyids","templated_hosts","templateids","triggerids",
|
52
|
+
"with_items","with_applications","with_graphs","with_httptests",
|
53
|
+
"with_monitored_httptests","with_monitored_items",
|
54
|
+
"with_monitored_triggers","with_simple_graph_items","with_triggers",
|
55
|
+
"withInventory","selectGroups","selectApplications","selectDiscoveries",
|
56
|
+
"selectDiscoveryRule","selectGraphs","selectHostDiscovery",
|
57
|
+
"selectHttpTests","selectInterfaces","selectInventory","selectItems",
|
58
|
+
"selectMacros","selectParentTemplates","selectScreens","selectTriggers",
|
59
|
+
"filter","limitSelects","search","searchInventory","sortfield",
|
60
|
+
"countOutput","editable","excludeSearch","limit","output","preservekeys",
|
61
|
+
"searchByAny","searchWildcardsEnabled","sortorder","startSearch"
|
62
|
+
end
|
63
|
+
|
49
64
|
#parameters "3.0" do
|
50
65
|
# inherit from "2.0"
|
51
66
|
# remove "select_macros","preserve_keys","extendoutput"
|
@@ -73,6 +88,17 @@ class Host < ZabbixAPI_Base
|
|
73
88
|
add "interfaces","macros"
|
74
89
|
requires "interfaces"
|
75
90
|
end
|
91
|
+
|
92
|
+
parameters "2.4" do
|
93
|
+
add "hostid","host","available","description","disable_until","error",
|
94
|
+
"errors_from","flags","ipmi_authtype","ipmi_available",
|
95
|
+
"ipmi_disable_until","ipmi_error","ipmi_errors_from","ipmi_password",
|
96
|
+
"ipmi_privilege","ipmi_username","jmx_available","jmx_disable_until",
|
97
|
+
"jmx_error","jmx_errors_from","maintenance_from","maintenance_status",
|
98
|
+
"maintenance_type","maintenanceid","name","proxy_hostid","snmp_available",
|
99
|
+
"snmp_disable_until","snmp_error","snmp_errors_from","status"
|
100
|
+
requires "host","groups","interfaces"
|
101
|
+
end
|
76
102
|
end
|
77
103
|
|
78
104
|
action :delete do
|
@@ -88,4 +114,48 @@ class Host < ZabbixAPI_Base
|
|
88
114
|
end
|
89
115
|
end
|
90
116
|
|
117
|
+
action :massadd do
|
118
|
+
parameters "2.4" do
|
119
|
+
add "hosts","groups","interfaces","macros","templates"
|
120
|
+
requires "hosts"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
action :massremove do
|
125
|
+
parameters "2.4" do
|
126
|
+
add "hostids","groupids","interfaces","macros","templateids",
|
127
|
+
"templateids_clear"
|
128
|
+
requires "hostids"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
action :update do
|
133
|
+
parameters "2.4" do
|
134
|
+
add "hostid","host","available","description","disable_until","error",
|
135
|
+
"errors_from","flags","ipmi_authtype","ipmi_available",
|
136
|
+
"ipmi_disable_until","ipmi_error","ipmi_errors_from","ipmi_password",
|
137
|
+
"ipmi_privilege","ipmi_username","jmx_available","jmx_disable_until",
|
138
|
+
"jmx_error","jmx_errors_from","maintenance_from","maintenance_status",
|
139
|
+
"maintenance_type","maintenanceid","name","proxy_hostid","snmp_available",
|
140
|
+
"snmp_disable_until","snmp_error","snmp_errors_from","status"
|
141
|
+
requires "host"
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
action :massupdate do
|
146
|
+
parameters "2.4" do
|
147
|
+
add "hostid","host","available","description","disable_until","error",
|
148
|
+
"errors_from","flags","ipmi_authtype","ipmi_available",
|
149
|
+
"ipmi_disable_until","ipmi_error","ipmi_errors_from","ipmi_password",
|
150
|
+
"ipmi_privilege","ipmi_username","jmx_available","jmx_disable_until",
|
151
|
+
"jmx_error","jmx_errors_from","maintenance_from","maintenance_status",
|
152
|
+
"maintenance_type","maintenanceid","name","proxy_hostid","snmp_available",
|
153
|
+
"snmp_disable_until","snmp_error","snmp_errors_from","status"
|
154
|
+
requires "host","hosts"
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
alias :massAdd :massadd
|
159
|
+
alias :massRemove :massremove
|
160
|
+
alias :massUpdate :massupdate
|
91
161
|
end
|
data/api_classes/dsl_trigger.rb
CHANGED
@@ -27,15 +27,17 @@
|
|
27
27
|
require "api_classes/api_dsl"
|
28
28
|
|
29
29
|
class Trigger < ZabbixAPI_Base
|
30
|
-
|
30
|
+
action :create do
|
31
|
+
parameters "2.4" do
|
32
|
+
add "triggerid","description","expression","comments","error","flags",
|
33
|
+
"lastchange","priority","state","status","templateid","type","url",
|
34
|
+
"value","dependencies"
|
35
|
+
requires "description","expression"
|
36
|
+
end
|
37
|
+
end
|
31
38
|
|
32
|
-
|
33
|
-
|
34
|
-
Trigger.delete
|
35
|
-
Trigger.deleteDependencies
|
36
|
-
Trigger.exists
|
37
|
-
Trigger.get do
|
38
|
-
parameters "1.3",
|
39
|
+
action :get do
|
40
|
+
parameters "1.3",
|
39
41
|
'triggerids', "select_functions", "nodeids", "groupids", "templateids",
|
40
42
|
"hostids", "itemids", "applicationids", "functions", "inherited", "templated", "monitored",
|
41
43
|
"active", "maintenance", "withUnacknowledgedEvents", "withAcknowledgedEvents",
|
@@ -44,6 +46,43 @@ Trigger.get do
|
|
44
46
|
"startSearch", "excludeSearch", "searchWildcardsEnabled", "output", "expandData",
|
45
47
|
"expandDescription", "select_groups", "select_hosts", "select_items", "select_dependencies",
|
46
48
|
"countOutput", "groupOutput", "preservekeys", "sortfield", "sortorder", "limit"
|
49
|
+
|
50
|
+
parameters "2.4" do
|
51
|
+
add "triggerids","groupids","templateids","hostids","itemids",
|
52
|
+
"applicationids","functions","group","host","inherited","templated",
|
53
|
+
"monitored","active","maintenance","withUnacknowledgedEvents",
|
54
|
+
"withAcknowledgedEvents","withLastEventUnacknowledged","skipDependent",
|
55
|
+
"lastChangeSince","lastChangeTill","only_true","min_severity",
|
56
|
+
"expandComment","expandDescription","expandExpression","selectGroups",
|
57
|
+
"selectHosts","selectItems","selectFunctions","selectDependencies",
|
58
|
+
"selectDiscoveryRule","selectLastEvent","filter","limitSelects",
|
59
|
+
"sortfield","countOutput","editable","excludeSearch","limit","output",
|
60
|
+
"preservekeys","search","searchByAny","searchWildcardsEnabled",
|
61
|
+
"sortorder","startSearch"
|
62
|
+
#deprecate "expandData"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
action :adddependencies do
|
67
|
+
parameters "2.4" do
|
68
|
+
add "triggerid","dependsOnTriggerid"
|
69
|
+
requires "triggerid","dependsOnTriggerid"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
action :update do
|
74
|
+
parameters "2.4" do
|
75
|
+
add "triggerid","description","expression","comments","error","flags",
|
76
|
+
"lastchange","priority","state","status","templateid","type","url",
|
77
|
+
"value","dependencies"
|
78
|
+
requires "description","expression"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
alias :addDependencies :adddependencies
|
47
83
|
end
|
48
|
-
|
84
|
+
|
85
|
+
Trigger.delete
|
86
|
+
Trigger.deleteDependencies
|
87
|
+
Trigger.exists
|
49
88
|
|
data/zbxapi.rb
CHANGED
@@ -70,20 +70,8 @@ class ZabbixAPI
|
|
70
70
|
|
71
71
|
attr_accessor :method, :params, :debug_level, :auth, :verify_ssl, :proxy_server
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
@url=nil
|
76
|
-
@verify_ssl=true
|
77
|
-
@proxy_server=nil
|
78
|
-
@custom_headers={}
|
79
|
-
|
80
|
-
private
|
81
|
-
@user_name=''
|
82
|
-
@password=''
|
83
|
-
|
84
|
-
|
85
|
-
class Redirect < Exception #:nodoc: all
|
86
|
-
end
|
73
|
+
class Redirect < Exception #:nodoc: all
|
74
|
+
end
|
87
75
|
|
88
76
|
public
|
89
77
|
|
@@ -112,6 +100,16 @@ class ZabbixAPI
|
|
112
100
|
options={:debug=>0,:returntype=>:result}
|
113
101
|
end
|
114
102
|
|
103
|
+
#intialization of instance variables must happen inside of instantiation
|
104
|
+
@id=0
|
105
|
+
@auth=''
|
106
|
+
@url=nil
|
107
|
+
@verify_ssl=true
|
108
|
+
@proxy_server=nil
|
109
|
+
@custom_headers={}
|
110
|
+
@user_name=''
|
111
|
+
@password=''
|
112
|
+
|
115
113
|
set_debug_level(options[:debug] || 0)
|
116
114
|
@returntype=options[:returntype] || :result
|
117
115
|
@orig_url=url #save the original url
|
@@ -167,7 +165,6 @@ class ZabbixAPI
|
|
167
165
|
debug(6,:msg=>"query: #{@url.query}, fragment: #{@url.fragment}")
|
168
166
|
|
169
167
|
if block_given?
|
170
|
-
puts "block"
|
171
168
|
yield(self)
|
172
169
|
end
|
173
170
|
end
|
@@ -197,6 +194,12 @@ class ZabbixAPI
|
|
197
194
|
'auth'=>@auth,
|
198
195
|
'id'=>@id
|
199
196
|
}
|
197
|
+
|
198
|
+
# Zabbix Doc(2.4): This method is available to unauthenticated
|
199
|
+
# users and must be called without the auth parameter
|
200
|
+
# in the JSON-RPC request.
|
201
|
+
obj.delete("auth") if method =~ /APIInfo/i
|
202
|
+
|
200
203
|
debug(10, :msg=>"json_obj: #{obj}")
|
201
204
|
return obj.to_json
|
202
205
|
end
|
@@ -254,7 +257,7 @@ class ZabbixAPI
|
|
254
257
|
raise ZbxAPI_ExceptionBadAuth.new('Invalid User or Password',:error_code=>e.error_code)
|
255
258
|
end
|
256
259
|
rescue SocketError
|
257
|
-
raise ZbxAPI_ExceptionBadServerUrl
|
260
|
+
raise ZbxAPI_ExceptionBadServerUrl.new("Socket Error")
|
258
261
|
rescue JSON::ParserError
|
259
262
|
raise ZbxAPI_ExceptionBadServerUrl
|
260
263
|
rescue Errno::ECONNREFUSED
|
@@ -399,7 +402,6 @@ class ZabbixAPI
|
|
399
402
|
http=select_http_obj
|
400
403
|
response = nil
|
401
404
|
# http.set_debug_output($stderr) #Uncomment to see low level HTTP debug
|
402
|
-
|
403
405
|
headers={
|
404
406
|
'Content-Type'=>'application/json-rpc',
|
405
407
|
'User-Agent'=>'Zbx Ruby CLI'
|
@@ -435,12 +437,12 @@ class ZabbixAPI
|
|
435
437
|
end
|
436
438
|
end
|
437
439
|
|
438
|
-
|
440
|
+
return resp
|
439
441
|
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
442
|
+
rescue Redirect
|
443
|
+
redirects+=1
|
444
|
+
retry if redirects<=5
|
445
|
+
raise ZbxAPI_GeneralError, "Too many redirects"
|
444
446
|
rescue NoMethodError
|
445
447
|
raise ZbxAPI_GeneralError.new("Unable to connect to #{@url.host}: \"#{e}\"", :retry=>false)
|
446
448
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zbxapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- A. Nelson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|