zobbix 0.0.4 → 0.1.0
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.
- checksums.yaml +4 -4
- data/lib/zobbix.rb +7 -6
- data/lib/zobbix/api_request.rb +3 -2
- data/lib/zobbix/version.rb +1 -1
- data/test/fixtures/vcr_casettes/array_params.yml +77 -0
- data/test/zobbix_test.rb +10 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 32104052200babb6cd6287f873dfdf4a6e63c78f
|
|
4
|
+
data.tar.gz: a2f3ae52af02afee02380dabb7ebbd280ea265e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f86193cfadffdd44a567c5dc2c5a1b68a5c6954a78e87c3aa7293d9a712338dd8da2248640d4ce97d012593c1fa706647660da71cab8275f770d8c14c326a36f
|
|
7
|
+
data.tar.gz: 0c533422068a92555b61e0b1c4258a3b311a296788b31cfbc298e2b0faf7cfd0a2c6e56754672e45c2989e02d936ee1d904e9b013030a1ee2d8efcb2cdbcd095
|
data/lib/zobbix.rb
CHANGED
|
@@ -43,8 +43,9 @@ class Zobbix
|
|
|
43
43
|
.tap(&:authenticate!)
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
def self.supported_version?(
|
|
47
|
-
|
|
46
|
+
def self.supported_version?(version)
|
|
47
|
+
version = Gem::Version.new(version)
|
|
48
|
+
ZABBIX_VERSION_REQUIREMENT.satisfied_by?(version)
|
|
48
49
|
end
|
|
49
50
|
|
|
50
51
|
attr_reader :credentials, :auth
|
|
@@ -66,8 +67,7 @@ class Zobbix
|
|
|
66
67
|
raise ConnectionError.new(credentials)
|
|
67
68
|
end
|
|
68
69
|
|
|
69
|
-
|
|
70
|
-
unless ZABBIX_VERSION_REQUIREMENT.satisfied_by?(version)
|
|
70
|
+
unless self.class.supported_version?(version)
|
|
71
71
|
raise UnsupportedVersionError.new(version)
|
|
72
72
|
end
|
|
73
73
|
end
|
|
@@ -98,9 +98,10 @@ class Zobbix
|
|
|
98
98
|
#
|
|
99
99
|
# @see https://www.zabbix.com/documentation/2.4/manual/api/reference
|
|
100
100
|
def request(method, params = {})
|
|
101
|
-
|
|
101
|
+
args = [credentials.uri, method, params]
|
|
102
|
+
args << @auth if requires_auth?(method)
|
|
102
103
|
|
|
103
|
-
response = ApiRequest.perform(
|
|
104
|
+
response = ApiRequest.perform(*args)
|
|
104
105
|
response.raise_exception if @raise_exceptions && response.error?
|
|
105
106
|
response
|
|
106
107
|
end
|
data/lib/zobbix/api_request.rb
CHANGED
|
@@ -23,10 +23,11 @@ class Zobbix
|
|
|
23
23
|
# @param [String] uri Zabbix Server uri
|
|
24
24
|
# @param [String] method API method
|
|
25
25
|
# @param [Hash] params API method params
|
|
26
|
-
|
|
26
|
+
# @param [String] auth Auth token
|
|
27
|
+
def initialize(uri, method, params, auth = nil)
|
|
27
28
|
@uri = uri.sub(/\/$/, '')
|
|
28
29
|
@method = method
|
|
29
|
-
@auth =
|
|
30
|
+
@auth = auth
|
|
30
31
|
@params = params
|
|
31
32
|
end
|
|
32
33
|
|
data/lib/zobbix/version.rb
CHANGED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
http_interactions:
|
|
3
|
+
- request:
|
|
4
|
+
method: post
|
|
5
|
+
uri: http://localhost/zabbix/api_jsonrpc.php
|
|
6
|
+
body:
|
|
7
|
+
encoding: UTF-8
|
|
8
|
+
string: '{"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth":null,"id":8212}'
|
|
9
|
+
headers:
|
|
10
|
+
Content-Type:
|
|
11
|
+
- application/json-rpc
|
|
12
|
+
response:
|
|
13
|
+
status:
|
|
14
|
+
code: 200
|
|
15
|
+
message: OK
|
|
16
|
+
headers:
|
|
17
|
+
Date:
|
|
18
|
+
- Mon, 26 Oct 2015 10:48:39 GMT
|
|
19
|
+
Server:
|
|
20
|
+
- Apache/2.4.7 (Ubuntu)
|
|
21
|
+
X-Powered-By:
|
|
22
|
+
- PHP/5.5.9-1ubuntu4.13
|
|
23
|
+
Access-Control-Allow-Origin:
|
|
24
|
+
- "*"
|
|
25
|
+
Access-Control-Allow-Headers:
|
|
26
|
+
- Content-Type
|
|
27
|
+
Access-Control-Allow-Methods:
|
|
28
|
+
- POST
|
|
29
|
+
Access-Control-Max-Age:
|
|
30
|
+
- '1000'
|
|
31
|
+
Content-Length:
|
|
32
|
+
- '71'
|
|
33
|
+
Content-Type:
|
|
34
|
+
- application/json
|
|
35
|
+
body:
|
|
36
|
+
encoding: UTF-8
|
|
37
|
+
string: '{"jsonrpc":"2.0","result":"cf58cfe673d0f5cd4c5985610c1413c0","id":8212}'
|
|
38
|
+
http_version:
|
|
39
|
+
recorded_at: Mon, 26 Oct 2015 10:48:39 GMT
|
|
40
|
+
- request:
|
|
41
|
+
method: post
|
|
42
|
+
uri: http://localhost/zabbix/api_jsonrpc.php
|
|
43
|
+
body:
|
|
44
|
+
encoding: UTF-8
|
|
45
|
+
string: '{"jsonrpc":"2.0","method":"host.delete","params":[10123],"auth":"cf58cfe673d0f5cd4c5985610c1413c0","id":7044}'
|
|
46
|
+
headers:
|
|
47
|
+
Content-Type:
|
|
48
|
+
- application/json-rpc
|
|
49
|
+
response:
|
|
50
|
+
status:
|
|
51
|
+
code: 200
|
|
52
|
+
message: OK
|
|
53
|
+
headers:
|
|
54
|
+
Date:
|
|
55
|
+
- Mon, 26 Oct 2015 10:48:39 GMT
|
|
56
|
+
Server:
|
|
57
|
+
- Apache/2.4.7 (Ubuntu)
|
|
58
|
+
X-Powered-By:
|
|
59
|
+
- PHP/5.5.9-1ubuntu4.13
|
|
60
|
+
Access-Control-Allow-Origin:
|
|
61
|
+
- "*"
|
|
62
|
+
Access-Control-Allow-Headers:
|
|
63
|
+
- Content-Type
|
|
64
|
+
Access-Control-Allow-Methods:
|
|
65
|
+
- POST
|
|
66
|
+
Access-Control-Max-Age:
|
|
67
|
+
- '1000'
|
|
68
|
+
Content-Length:
|
|
69
|
+
- '56'
|
|
70
|
+
Content-Type:
|
|
71
|
+
- application/json
|
|
72
|
+
body:
|
|
73
|
+
encoding: UTF-8
|
|
74
|
+
string: '{"jsonrpc":"2.0","result":{"hostids":[10123]},"id":7044}'
|
|
75
|
+
http_version:
|
|
76
|
+
recorded_at: Mon, 26 Oct 2015 10:48:39 GMT
|
|
77
|
+
recorded_with: VCR 2.9.3
|
data/test/zobbix_test.rb
CHANGED
|
@@ -41,4 +41,14 @@ class ZobbixTest < Minitest::Test
|
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
|
+
|
|
45
|
+
def test_params_as_array
|
|
46
|
+
VCR.use_cassette('array_params') do
|
|
47
|
+
z = zbx
|
|
48
|
+
z.authenticate!
|
|
49
|
+
response = z.request('host.delete', [10123])
|
|
50
|
+
assert_success(response)
|
|
51
|
+
pass
|
|
52
|
+
end
|
|
53
|
+
end
|
|
44
54
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zobbix
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Michael Lutsiuk
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-10-
|
|
11
|
+
date: 2015-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -118,6 +118,7 @@ files:
|
|
|
118
118
|
- test/credentials_test.rb
|
|
119
119
|
- test/fixtures/vcr_casettes/api_request.yml
|
|
120
120
|
- test/fixtures/vcr_casettes/apiinfo_version.yml
|
|
121
|
+
- test/fixtures/vcr_casettes/array_params.yml
|
|
121
122
|
- test/fixtures/vcr_casettes/authentication.yml
|
|
122
123
|
- test/fixtures/vcr_casettes/bad_authentication.yml
|
|
123
124
|
- test/fixtures/vcr_casettes/check_version/high_version.yml
|
|
@@ -159,6 +160,7 @@ test_files:
|
|
|
159
160
|
- test/credentials_test.rb
|
|
160
161
|
- test/fixtures/vcr_casettes/api_request.yml
|
|
161
162
|
- test/fixtures/vcr_casettes/apiinfo_version.yml
|
|
163
|
+
- test/fixtures/vcr_casettes/array_params.yml
|
|
162
164
|
- test/fixtures/vcr_casettes/authentication.yml
|
|
163
165
|
- test/fixtures/vcr_casettes/bad_authentication.yml
|
|
164
166
|
- test/fixtures/vcr_casettes/check_version/high_version.yml
|