zenoss_client 0.6.1 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +9 -7
- data/README.rdoc +0 -0
- data/VERSION +1 -1
- data/lib/zenoss.rb +1 -1
- data/lib/zenoss/connection.rb +1 -0
- data/lib/zenoss/events/event.rb +14 -2
- data/lib/zenoss/jsonapi/device_router.rb +30 -2
- data/lib/zenoss/jsonapi/events_router.rb +12 -0
- data/lib/zenoss/jsonapi/report_router.rb +6 -2
- data/lib/zenoss/model/devices/device.rb +6 -1
- data/lib/zenoss/model/z_device_loader.rb +1 -1
- data/test/fixtures/vcr_cassettes/6_2_1_initial_connection.yml +232 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0001_returns_an_Array_of_devices_when_searched_by_name.yml +107 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0002_returns_device_uptime_when_asked.yml +131 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0003_returns_an_Array_of_events_for_a_device.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0004_returns_an_Array_of_historical_events_for_a_device.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0005_returns_info_for_a_device_in_the_form_of_a_Hash.yml +265 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0006_returns_an_Array_of_events_for_all_devices.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0007_fetches_the_report_tree.yml +164 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0008_fetches_available_report_types_and_returns_a_Hash.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0009_renames_the_device.yml +184 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0010_sets_info_for_a_device.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0011_sets_info_for_a_device_on_a_device_object.yml +100 -0
- data/test/fixtures/vcr_cassettes/6_2_1_test_0012_remodels_a_device.yml +99 -0
- data/test/test_helper.rb +14 -0
- data/test/zenoss_client_test.rb +89 -3
- data/test/zenoss_model_device_test.rb +25 -0
- data/zenoss_client.gemspec +3 -3
- metadata +38 -115
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c64cb525b567ce659a11d844a5b2d5d4e5212bdc799d320fa3134e3e3beee4d1
|
4
|
+
data.tar.gz: 1a3de47b44a7b48662d2b8135179f158d1d7fe06d204e587a063af2dcc7ef6e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8d2eeb2cdb2bd4db0e82b9888f6cc1d3d1c766f046bb87e4f6d7d5abc1297594136c1420cf438873b16ad3ee19e5cbf40367c1d9c869e9af76a0ebd44b0038f
|
7
|
+
data.tar.gz: 4f64c02de20bd54c98215cb93d0302f55d8b7f85e94ca65c676eb4ab240a7c935d2925ec0f93ce9904b3865959b1f9b7a67a26ac1f249fb2aec7e24cd69b9748
|
data/.travis.yml
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
language: ruby
|
2
2
|
script: bundle exec rake test
|
3
3
|
rvm:
|
4
|
-
-
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
- 2.
|
8
|
-
-
|
9
|
-
-
|
4
|
+
- 2.0.0-p648
|
5
|
+
- 2.1.10
|
6
|
+
- 2.2.10
|
7
|
+
- 2.3.8
|
8
|
+
- 2.4.10
|
9
|
+
- 2.5.8
|
10
|
+
- 2.6.6
|
11
|
+
- 2.7.1
|
10
12
|
|
11
13
|
install:
|
12
|
-
- gem install bundler
|
14
|
+
- gem install bundler -v 1.17.3
|
13
15
|
- bundle install --jobs=3 --retry=3
|
data/README.rdoc
ADDED
File without changes
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.10.0
|
data/lib/zenoss.rb
CHANGED
@@ -45,7 +45,7 @@ module Zenoss
|
|
45
45
|
def plist_to_array(list)
|
46
46
|
return nil if list.nil?
|
47
47
|
list = sanitize_str(list)
|
48
|
-
|
48
|
+
list.gsub(/[\[\]]/, '').split(/,\s+/)
|
49
49
|
end
|
50
50
|
|
51
51
|
# Some of the REST methods return Strings that are formated like a Python list.
|
data/lib/zenoss/connection.rb
CHANGED
data/lib/zenoss/events/event.rb
CHANGED
@@ -28,8 +28,20 @@ module Zenoss
|
|
28
28
|
def initialize(zenoss,zhash)
|
29
29
|
@zenoss = zenoss
|
30
30
|
super zhash
|
31
|
-
self.firstTime
|
32
|
-
self.lastTime
|
31
|
+
self.firstTime &&= convert_time(self.firstTime)
|
32
|
+
self.lastTime &&= convert_time(self.lastTime)
|
33
|
+
end
|
34
|
+
|
35
|
+
# Converts a string or float to a Time object
|
36
|
+
# Zenoss version 4 emits the time format as a string
|
37
|
+
# Zenoss version 6 emits the time as a float
|
38
|
+
# @return[Time]
|
39
|
+
def convert_time(time)
|
40
|
+
if time.is_a?(String)
|
41
|
+
Time.parse(time)
|
42
|
+
else
|
43
|
+
Time.at(time)
|
44
|
+
end
|
33
45
|
end
|
34
46
|
|
35
47
|
def detail(history = false)
|
@@ -51,14 +51,42 @@ module Zenoss
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def get_templates(device_id)
|
54
|
-
|
54
|
+
json_request('DeviceRouter', 'getTemplates', [{:id => device_id}])
|
55
55
|
end
|
56
56
|
|
57
57
|
def get_info(device_id, keys = nil)
|
58
58
|
data = {}
|
59
59
|
data[:uid] = device_id
|
60
60
|
data[:keys] = keys if keys
|
61
|
-
|
61
|
+
json_request('DeviceRouter', 'getInfo', [data])
|
62
|
+
end
|
63
|
+
|
64
|
+
# @param [Hash] opts arguments to pass to setInfo
|
65
|
+
# @option opts [String] :uid required; device id in Zenoss
|
66
|
+
def set_info(opts = {})
|
67
|
+
if @zenoss_version && @zenoss_version > '6'
|
68
|
+
json_request('DeviceRouter', 'setInfo', [opts])
|
69
|
+
else
|
70
|
+
raise ZenossError, 'setInfo method on DeviceRouter is only allowed '\
|
71
|
+
'for version 6 and above'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# @param [String] uid required; device id in Zenoss
|
76
|
+
# @param [String] plugins takes a string. A plugin respresents a Modeler
|
77
|
+
# plugin such as cisco.snmp.Interfaces
|
78
|
+
# @param [Boolean] background whether to schedule a job in background
|
79
|
+
def remodel(uid, plugins = nil, background = false)
|
80
|
+
if @zenoss_version && @zenoss_version > '6'
|
81
|
+
data = {}
|
82
|
+
data[:deviceUid] = uid
|
83
|
+
data[:collectPlugins] = plugins || ''
|
84
|
+
data[:background] = background
|
85
|
+
json_request('DeviceRouter', 'remodel', [data])
|
86
|
+
else
|
87
|
+
raise ZenossError, 'remodel method on DeviceRouter is only allowed '\
|
88
|
+
'for version 6 and above'
|
89
|
+
end
|
62
90
|
end
|
63
91
|
|
64
92
|
# =============== Non-API Helper methods ===============
|
@@ -57,7 +57,19 @@ module Zenoss
|
|
57
57
|
events
|
58
58
|
end
|
59
59
|
|
60
|
+
# @param [Hash] data evids that should be closed
|
61
|
+
# @option data [Array] :evids Array of evids that is closed
|
62
|
+
def close_events(data = {})
|
63
|
+
json_request('EventsRouter', 'close', [data])
|
64
|
+
end
|
60
65
|
|
66
|
+
# @param [Hash] data data specifying event that should have a logmessage appended
|
67
|
+
# @option data [String] :evid evid that message should be appended to
|
68
|
+
# @option data [String] :message text that should be appended to the event log
|
69
|
+
def write_log(data= {})
|
70
|
+
json_request('EventsRouter','write_log', [data])
|
71
|
+
end
|
72
|
+
|
61
73
|
# @param [String] uid the uid to query events for. If this isn't specified
|
62
74
|
# the query may take a very long time
|
63
75
|
# @param [Hash] opts misc options to limit/filter events
|
@@ -22,11 +22,15 @@ module Zenoss
|
|
22
22
|
module ReportRouter
|
23
23
|
|
24
24
|
def get_report_types
|
25
|
-
|
25
|
+
json_request('ReportRouter', 'getReportTypes')
|
26
26
|
end
|
27
27
|
|
28
28
|
def get_report_tree(id = '/zport/dmd/Reports')
|
29
|
-
|
29
|
+
if @zenoss_version && @zenoss_version > '6'
|
30
|
+
json_request('ReportRouter', 'asyncGetTree', [id])
|
31
|
+
else
|
32
|
+
json_request('ReportRouter', 'getTree', [{:id => id}])
|
33
|
+
end
|
30
34
|
end
|
31
35
|
|
32
36
|
end # ReportRouter
|
@@ -50,6 +50,11 @@ module Zenoss
|
|
50
50
|
@zenoss.get_info(self.uid, keys)
|
51
51
|
end
|
52
52
|
|
53
|
+
def set_info(opts = {})
|
54
|
+
opts[:uid] = self.uid
|
55
|
+
@zenoss.set_info(opts)
|
56
|
+
end
|
57
|
+
|
53
58
|
# ------------------ Legacy REST Calls ------------------ #
|
54
59
|
|
55
60
|
# Move this Device to the given DeviceClass.
|
@@ -181,7 +186,7 @@ module Zenoss
|
|
181
186
|
components = rest(method)
|
182
187
|
|
183
188
|
# Turn the return string into an array of components
|
184
|
-
|
189
|
+
components.gsub(/[\[\]]/, '').split(/,\s+/)
|
185
190
|
end
|
186
191
|
|
187
192
|
# Return list of all DeviceComponents on this device
|
@@ -0,0 +1,232 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://localhost:8080/zport/dmd/zport/acl_users/cookieAuthHelper/login
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: __ac_name=admin&__ac_password=zenoss&submitted=true&came_from=http://localhost:8080/zport/dmd
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
Date:
|
15
|
+
- Wed, 15 Apr 2020 20:38:47 GMT
|
16
|
+
Content-Type:
|
17
|
+
- application/x-www-form-urlencoded
|
18
|
+
Cookie: ''
|
19
|
+
response:
|
20
|
+
status:
|
21
|
+
code: 302
|
22
|
+
message: Found
|
23
|
+
headers:
|
24
|
+
Content-Length:
|
25
|
+
- '25'
|
26
|
+
Content-Type:
|
27
|
+
- text/plain; charset=utf-8
|
28
|
+
Date:
|
29
|
+
- Wed, 15 Apr 2020 20:38:50 GMT
|
30
|
+
Location:
|
31
|
+
- "/zport/dmd?submitted=true"
|
32
|
+
Server: ''
|
33
|
+
Set-Cookie: ''
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000
|
36
|
+
X-Frame-Options:
|
37
|
+
- SAMEORIGIN
|
38
|
+
X-Xss-Protection:
|
39
|
+
- 1; mode=block
|
40
|
+
body:
|
41
|
+
encoding: UTF-8
|
42
|
+
string: "/zport/dmd?submitted=true"
|
43
|
+
http_version:
|
44
|
+
recorded_at: Wed, 15 Apr 2020 20:38:51 GMT
|
45
|
+
- request:
|
46
|
+
method: post
|
47
|
+
uri: http://localhost:8080/zport/dmd//zport/dmd?submitted=true
|
48
|
+
body:
|
49
|
+
encoding: UTF-8
|
50
|
+
string: __ac_name=admin&__ac_password=zenoss&submitted=true&came_from=http://localhost:8080/zport/dmd
|
51
|
+
headers:
|
52
|
+
User-Agent:
|
53
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
54
|
+
Accept:
|
55
|
+
- "*/*"
|
56
|
+
Date:
|
57
|
+
- Wed, 15 Apr 2020 20:38:51 GMT
|
58
|
+
Content-Type:
|
59
|
+
- application/x-www-form-urlencoded
|
60
|
+
Cookie: ''
|
61
|
+
response:
|
62
|
+
status:
|
63
|
+
code: 200
|
64
|
+
message: OK
|
65
|
+
headers:
|
66
|
+
Cache-Control:
|
67
|
+
- max-age=0, no-cache
|
68
|
+
Content-Type:
|
69
|
+
- text/html; charset=utf-8
|
70
|
+
Date:
|
71
|
+
- Wed, 15 Apr 2020 20:38:51 GMT
|
72
|
+
Server: ''
|
73
|
+
Set-Cookie: ''
|
74
|
+
Strict-Transport-Security:
|
75
|
+
- max-age=31536000
|
76
|
+
Vary:
|
77
|
+
- Accept-Encoding
|
78
|
+
X-Frame-Options:
|
79
|
+
- SAMEORIGIN
|
80
|
+
X-Page-Speed:
|
81
|
+
- 1.11.33.4-0
|
82
|
+
X-Xss-Protection:
|
83
|
+
- 1; mode=block
|
84
|
+
Transfer-Encoding:
|
85
|
+
- chunked
|
86
|
+
body:
|
87
|
+
encoding: UTF-8
|
88
|
+
string: "\\n\\n <!DOCTYPE html>\\n<html>\\n"
|
89
|
+
http_version:
|
90
|
+
recorded_at: Wed, 15 Apr 2020 20:38:52 GMT
|
91
|
+
- request:
|
92
|
+
method: post
|
93
|
+
uri: http://localhost:8080/zport/dmd/zport/dmd/device_router
|
94
|
+
body:
|
95
|
+
encoding: UTF-8
|
96
|
+
string: __ac_name=admin&__ac_password=zenoss&submitted=true&came_from=https%3A%2F%2Fhttp:://localhost:8080/zport/dmd%2Fzport%2Fdmd
|
97
|
+
headers:
|
98
|
+
User-Agent:
|
99
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
100
|
+
Accept:
|
101
|
+
- "*/*"
|
102
|
+
Date:
|
103
|
+
- Wed, 15 Apr 2020 20:38:52 GMT
|
104
|
+
Content-Type:
|
105
|
+
- application/json; charset=utf-8
|
106
|
+
Cookie: ''
|
107
|
+
response:
|
108
|
+
status:
|
109
|
+
code: 200
|
110
|
+
message: OK
|
111
|
+
headers:
|
112
|
+
Content-Type:
|
113
|
+
- application/json
|
114
|
+
Date:
|
115
|
+
- Wed, 15 Apr 2020 20:38:54 GMT
|
116
|
+
Server: ''
|
117
|
+
Strict-Transport-Security:
|
118
|
+
- max-age=31536000
|
119
|
+
Vary:
|
120
|
+
- Accept-Encoding
|
121
|
+
X-Frame-Options:
|
122
|
+
- SAMEORIGIN
|
123
|
+
X-Xss-Protection:
|
124
|
+
- 1; mode=block
|
125
|
+
Content-Length:
|
126
|
+
- '309'
|
127
|
+
Set-Cookie: ''
|
128
|
+
body:
|
129
|
+
encoding: UTF-8
|
130
|
+
string: '{"uuid": "a34caf64-2209-480c-96ed-dd94117ef7ac", "action": "DeviceRouter",
|
131
|
+
"result": {"new_jobs": [{"uuid": "b0c01851-394f-49a1-8547-acd02633194e", "description":
|
132
|
+
"Create UnitTestDevice under /Devices/Server", "uid": "/zport/dmd/JobManager"}],
|
133
|
+
"success": true}, "tid": 1, "type": "rpc", "method": "addDevice"}'
|
134
|
+
http_version:
|
135
|
+
recorded_at: Wed, 15 Apr 2020 20:38:54 GMT
|
136
|
+
- request:
|
137
|
+
method: post
|
138
|
+
uri: http://localhost:8080/zport/dmd/zport/dmd/device_router
|
139
|
+
body:
|
140
|
+
encoding: UTF-8
|
141
|
+
string: __ac_name=admin&__ac_password=zenoss&submitted=true&came_from=https%3A%2F%2Fhttp:://localhost:8080/zport/dmd%2Fzport%2Fdmd
|
142
|
+
headers:
|
143
|
+
User-Agent:
|
144
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
145
|
+
Accept:
|
146
|
+
- "*/*"
|
147
|
+
Date:
|
148
|
+
- Wed, 15 Apr 2020 20:38:54 GMT
|
149
|
+
Content-Type:
|
150
|
+
- application/json; charset=utf-8
|
151
|
+
Cookie: ''
|
152
|
+
response:
|
153
|
+
status:
|
154
|
+
code: 200
|
155
|
+
message: OK
|
156
|
+
headers:
|
157
|
+
Content-Type:
|
158
|
+
- application/json
|
159
|
+
Date:
|
160
|
+
- Wed, 15 Apr 2020 20:38:54 GMT
|
161
|
+
Server: ''
|
162
|
+
Strict-Transport-Security:
|
163
|
+
- max-age=31536000
|
164
|
+
Vary:
|
165
|
+
- Accept-Encoding
|
166
|
+
X-Frame-Options:
|
167
|
+
- SAMEORIGIN
|
168
|
+
X-Xss-Protection:
|
169
|
+
- 1; mode=block
|
170
|
+
Content-Length:
|
171
|
+
- '197'
|
172
|
+
Set-Cookie: ''
|
173
|
+
body:
|
174
|
+
encoding: UTF-8
|
175
|
+
string: '{"uuid": "48c067ba-5c1e-4d81-aac0-3c49aadba9fc", "action": "DeviceRouter",
|
176
|
+
"result": {"totalCount": 0, "hash": "0", "success": true, "devices": []},
|
177
|
+
"tid": 2, "type": "rpc", "method": "getDevices"}'
|
178
|
+
http_version:
|
179
|
+
recorded_at: Wed, 15 Apr 2020 20:38:54 GMT
|
180
|
+
- request:
|
181
|
+
method: post
|
182
|
+
uri: http://localhost:8080/zport/dmd/zport/dmd/device_router
|
183
|
+
body:
|
184
|
+
encoding: UTF-8
|
185
|
+
string: __ac_name=admin&__ac_password=zenoss&submitted=true&came_from=https%3A%2F%2Fhttp:://localhost:8080/zport/dmd%2Fzport%2Fdmd
|
186
|
+
headers:
|
187
|
+
User-Agent:
|
188
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
189
|
+
Accept:
|
190
|
+
- "*/*"
|
191
|
+
Date:
|
192
|
+
- Wed, 15 Apr 2020 20:39:09 GMT
|
193
|
+
Content-Type:
|
194
|
+
- application/json; charset=utf-8
|
195
|
+
Cookie: ''
|
196
|
+
response:
|
197
|
+
status:
|
198
|
+
code: 200
|
199
|
+
message: OK
|
200
|
+
headers:
|
201
|
+
Content-Type:
|
202
|
+
- application/json
|
203
|
+
Date:
|
204
|
+
- Wed, 15 Apr 2020 20:39:11 GMT
|
205
|
+
Server: ''
|
206
|
+
Strict-Transport-Security:
|
207
|
+
- max-age=31536000
|
208
|
+
Vary:
|
209
|
+
- Accept-Encoding
|
210
|
+
X-Frame-Options:
|
211
|
+
- SAMEORIGIN
|
212
|
+
X-Xss-Protection:
|
213
|
+
- 1; mode=block
|
214
|
+
Content-Length:
|
215
|
+
- '905'
|
216
|
+
Set-Cookie: ''
|
217
|
+
body:
|
218
|
+
encoding: UTF-8
|
219
|
+
string: '{"uuid": "91ffde13-d44b-4a5e-9846-2155070ba803", "action": "DeviceRouter",
|
220
|
+
"result": {"totalCount": 1, "hash": "1", "success": true, "devices": [{"ipAddressString":
|
221
|
+
null, "serialNumber": "", "pythonClass": "Products.ZenModel.Device", "hwManufacturer":
|
222
|
+
null, "collector": "localhost", "osModel": null, "productionState": 1000,
|
223
|
+
"systems": [], "priority": 3, "hwModel": null, "tagNumber": "", "osManufacturer":
|
224
|
+
null, "location": null, "groups": [], "uid": "/zport/dmd/Devices/Server/devices/UnitTestDevice",
|
225
|
+
"ipAddress": null, "events": {"info": {"count": 0, "acknowledged_count": 0},
|
226
|
+
"clear": {"count": 0, "acknowledged_count": 0}, "warning": {"count": 0, "acknowledged_count":
|
227
|
+
0}, "critical": {"count": 0, "acknowledged_count": 0}, "error": {"count":
|
228
|
+
0, "acknowledged_count": 0}, "debug": {"count": 0, "acknowledged_count": 0}},
|
229
|
+
"name": "UnitTestDevice"}]}, "tid": 3, "type": "rpc", "method": "getDevices"}'
|
230
|
+
http_version:
|
231
|
+
recorded_at: Wed, 15 Apr 2020 20:39:11 GMT
|
232
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,107 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: http://localhost:8080/zport/dmd/zport/dmd/device_router
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '[{"action":"DeviceRouter","method":"getDevices","data":[{"uid":"/zport/dmd/Devices","params":{"name":"UnitTestDevice"}}],"type":"rpc","tid":7}]'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
Date:
|
15
|
+
- Tue, 19 Feb 2019 22:36:50 GMT
|
16
|
+
Content-Type:
|
17
|
+
- application/json; charset=utf-8
|
18
|
+
Cookie: ''
|
19
|
+
response:
|
20
|
+
status:
|
21
|
+
code: 200
|
22
|
+
message: OK
|
23
|
+
headers:
|
24
|
+
Content-Type:
|
25
|
+
- application/json
|
26
|
+
Date:
|
27
|
+
- Tue, 19 Feb 2019 22:36:50 GMT
|
28
|
+
Server: ''
|
29
|
+
Strict-Transport-Security:
|
30
|
+
- max-age=31536000
|
31
|
+
Vary:
|
32
|
+
- Accept-Encoding
|
33
|
+
X-Frame-Options:
|
34
|
+
- SAMEORIGIN
|
35
|
+
X-Xss-Protection:
|
36
|
+
- 1; mode=block
|
37
|
+
Content-Length:
|
38
|
+
- '904'
|
39
|
+
Set-Cookie: ''
|
40
|
+
body:
|
41
|
+
encoding: UTF-8
|
42
|
+
string: '{"uuid": "99425e21-1fb5-4a6c-8466-b1969bf927ec", "action": "DeviceRouter",
|
43
|
+
"result": {"totalCount": 1, "hash": "1", "success": true, "devices": [{"ipAddressString":
|
44
|
+
null, "serialNumber": "", "pythonClass": "Products.ZenModel.Device", "hwManufacturer":
|
45
|
+
null, "collector": "localhost", "osModel": null, "productionState": 400, "systems":
|
46
|
+
[], "priority": 3, "hwModel": null, "tagNumber": "", "osManufacturer": null,
|
47
|
+
"location": null, "groups": [], "uid": "/zport/dmd/Devices/Server/devices/UnitTestDevice",
|
48
|
+
"ipAddress": null, "events": {"info": {"count": 0, "acknowledged_count": 0},
|
49
|
+
"clear": {"count": 0, "acknowledged_count": 0}, "warning": {"count": 0, "acknowledged_count":
|
50
|
+
0}, "critical": {"count": 0, "acknowledged_count": 0}, "error": {"count":
|
51
|
+
0, "acknowledged_count": 0}, "debug": {"count": 0, "acknowledged_count": 0}},
|
52
|
+
"name": "UnitTestDevice"}]}, "tid": 7, "type": "rpc", "method": "getDevices"}'
|
53
|
+
http_version:
|
54
|
+
recorded_at: Tue, 19 Feb 2019 22:36:50 GMT
|
55
|
+
- request:
|
56
|
+
method: post
|
57
|
+
uri: http://localhost:8080/zport/dmd/zport/dmd/device_router
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: '[{"action":"DeviceRouter","method":"getDevices","data":[{"uid":"/zport/dmd/Devices","params":{"name":"UnitTestDevice"}}],"type":"rpc","tid":8}]'
|
61
|
+
headers:
|
62
|
+
User-Agent:
|
63
|
+
- HTTPClient/1.0 (2.8.3, ruby 2.3.3 (2016-11-21))
|
64
|
+
Accept:
|
65
|
+
- "*/*"
|
66
|
+
Date:
|
67
|
+
- Tue, 19 Feb 2019 22:36:50 GMT
|
68
|
+
Content-Type:
|
69
|
+
- application/json; charset=utf-8
|
70
|
+
Cookie: ''
|
71
|
+
response:
|
72
|
+
status:
|
73
|
+
code: 200
|
74
|
+
message: OK
|
75
|
+
headers:
|
76
|
+
Content-Type:
|
77
|
+
- application/json
|
78
|
+
Date:
|
79
|
+
- Tue, 19 Feb 2019 22:36:51 GMT
|
80
|
+
Server: ''
|
81
|
+
Strict-Transport-Security:
|
82
|
+
- max-age=31536000
|
83
|
+
Vary:
|
84
|
+
- Accept-Encoding
|
85
|
+
X-Frame-Options:
|
86
|
+
- SAMEORIGIN
|
87
|
+
X-Xss-Protection:
|
88
|
+
- 1; mode=block
|
89
|
+
Content-Length:
|
90
|
+
- '904'
|
91
|
+
Set-Cookie: ''
|
92
|
+
body:
|
93
|
+
encoding: UTF-8
|
94
|
+
string: '{"uuid": "b7f6ae66-d850-4deb-96e3-eb70954e4c4e", "action": "DeviceRouter",
|
95
|
+
"result": {"totalCount": 1, "hash": "1", "success": true, "devices": [{"ipAddressString":
|
96
|
+
null, "serialNumber": "", "pythonClass": "Products.ZenModel.Device", "hwManufacturer":
|
97
|
+
null, "collector": "localhost", "osModel": null, "productionState": 400, "systems":
|
98
|
+
[], "priority": 3, "hwModel": null, "tagNumber": "", "osManufacturer": null,
|
99
|
+
"location": null, "groups": [], "uid": "/zport/dmd/Devices/Server/devices/UnitTestDevice",
|
100
|
+
"ipAddress": null, "events": {"info": {"count": 0, "acknowledged_count": 0},
|
101
|
+
"clear": {"count": 0, "acknowledged_count": 0}, "warning": {"count": 0, "acknowledged_count":
|
102
|
+
0}, "critical": {"count": 0, "acknowledged_count": 0}, "error": {"count":
|
103
|
+
0, "acknowledged_count": 0}, "debug": {"count": 0, "acknowledged_count": 0}},
|
104
|
+
"name": "UnitTestDevice"}]}, "tid": 8, "type": "rpc", "method": "getDevices"}'
|
105
|
+
http_version:
|
106
|
+
recorded_at: Tue, 19 Feb 2019 22:36:51 GMT
|
107
|
+
recorded_with: VCR 4.0.0
|