1 import requests
2
3
4 class NetFlow(object):
5 def __init__(self, domain: str, api_key: str):
6 """
7 :param domain: https://netflow.lenovo.com or http://ServerIP:port
8 :param api_key: ''
9 """
10 if not domain.startswith(('https://', 'http://')):
11 raise ValueError('Parameter "domain" error, e.g: https://example.com or http://x.x.x.x:8080')
12 self.domain = domain
13 self.api_key = api_key
14 self.conversation = self.Conversation(self)
15 self.inventory_device = self.InventoryDevice(self)
16 self.inventory_interface = self.InventoryInterface(self)
17 self.inventory_groups = self.InventoryGroups(self)
18 self.inventory_application = self.InventoryApplication(self)
19 self.inventory_qos = self.InventoryQos(self)
20 self.inventory_wlc = self.InventoryWirelessController(self)
21 self.reports = self.Reports(self)
22
23 def get_result(self, relative_path: str, params: dict):
24 result = {'success': True}
25 try:
26 params.update(apiKey=self.api_key)
27 url = os.path.join(self.domain, relative_path).replace('\\', '/')
28 data = requests.get(url, params=params, verify=False).json() or {}
29 if isinstance(data, dict):
30 result.update(**data)
31 else:
32 result.update(data=data)
33 except Exception as e:
34 result.update(success=False, error=str(e))
35 return result
36
37 class Conversation(object):
38 def __init__(self, parent):
39 self._parent = parent
40
41 def conversation_details(self, **params):
42 """
43 http://netflowapi.helpdocsonline.com/conversation-details
44 :param params:
45 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
46 DeviceID IPGroup / Interface Group ID
47 tablegridviewtype Chart/Grid
48 Type source/Destination/application
49 Data IN/OUT
50 Entity Source ip/ Destination IP/Application Name
51 ResolveDNS true
52 BussView true/false
53 IPGroup true/false
54 BussView true(Always true for Interface group)
55 Sample API
56 http://localhost:8080/api/json/nfadevice/conDetailData?apiKey=xxxx&TimeFrame=hourly&DeviceID=2500002&Type=Source&Data=IN&Entity=100.0.0.1&ResolveDNS=false&groupBy=&BussView=true&pageCount=1&rows=50
57 :return:
58 """
59 relative_path = 'api/json/nfadevice/conDetailData'
60 return self._parent.get_result(relative_path=relative_path, params=params)
61
62 class InventoryDevice(object):
63 def __init__(self, parent):
64 self._parent = parent
65
66 def get_device_list(self):
67 """
68 http://netflowapi.helpdocsonline.com/get-device-list
69 Get Device List with basic information
70 Sample API
71 http://localhost:8080/api/json/nfadevice/getIndexRouterData?apiKey=xxxx
72 :return:
73 """
74 relative_path = 'api/json/nfadevice/getIndexRouterData'
75 return self._parent.get_result(relative_path=relative_path, params={})
76
77 def get_router_id(self):
78 """
79 http://netflowapi.helpdocsonline.com/get-router-id
80 Get Router List with ID and IP
81 Sample API
82 http://localhost:8080/api/json/nfadevice/listDevices?apiKey=xxxx&_=1482326391051
83 :return:
84 """
85 relative_path = 'api/json/nfadevice/listDevices'
86 return self._parent.get_result(relative_path=relative_path, params={})
87
88 def get_interface_list(self, **params):
89 """
90 http://netflowapi.helpdocsonline.com/get-interface-list
91 Get Interface List with basic information
92 :param params:
93 TimeFrame hourly/6hour/today/Daily/Weekly/Monthly
94 DeviceID -1(All Device)/ specific Device ID
95 Sample API
96 http://localhost:8080/api/json/nfadevice/getIndexInterfaceData?apiKey=xxxx&TimeFrame=hourly&DeviceID=50003
97 :return:
98 """
99 relative_path = 'api/json/nfadevice/getIndexInterfaceData'
100 return self._parent.get_result(relative_path=relative_path, params=params)
101
102 def get_device_traffic(self, **params):
103 """
104 http://netflowapi.helpdocsonline.com/get-device-traffic
105 Device traffic with different IN/OUT
106 :param params:
107 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
108 RouterIP IP of the device
109 ReportType devTraffic/inGraph/outGraph
110 Sample API
111 http://localhost:8080/api/json/v2/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=outGraph
112 :return:
113 """
114 relative_path = 'api/json/v2/nfadevice/getDeviceReport'
115 return self._parent.get_result(relative_path=relative_path, params=params)
116
117 def get_interface_traffic(self, **params):
118 """
119 http://netflowapi.helpdocsonline.com/get-interfacetraffic
120 Get all the interface traffic of the particular device
121 :param params:
122 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
123 RouterIP IP of the device
124 tablegridviewtype Chart/Grid
125 Type speed/volume/percentage
126 entity IN/OUT
127 Sample API
128 http://localhost:8080/api/json/nfadevice/getIntfMultiSeriesData?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&tablegridviewtype=Chart&Type=volume&entity=IN&expand=false&_=1482326391080
129 :return:
130 """
131 relative_path = 'api/json/nfadevice/getIntfMultiSeriesData'
132 return self._parent.get_result(relative_path=relative_path, params=params)
133
134 def get_application_data(self, **params):
135 """
136 http://netflowapi.helpdocsonline.com/get-application-data
137 Application list with traffic data
138 :param params:
139 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
140 RouterIP IP of the device
141 ReportType topApp/topProt
142 Sample API
143 http://localhost:8080/api/json/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=topApp
144 :return:
145 """
146 relative_path = 'api/json/nfadevice/getDeviceReport'
147 return self._parent.get_result(relative_path=relative_path, params=params)
148
149 def get_source_data(self, **params):
150 """
151 http://netflowapi.helpdocsonline.com/get-source-data
152 Source IP List with traffic volume data
153 :param params:
154 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
155 RouterIP IP of the device
156 ReportType source
157 ResolveDNS true/false
158 Sample API
159 http://localhost:8080/api/json/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=source&ResolveDNS=false
160 :return:
161 """
162 relative_path = 'api/json/nfadevice/getDeviceReport'
163 return self._parent.get_result(relative_path=relative_path, params=params)
164
165 def get_destination_data(self, **params):
166 """
167 http://netflowapi.helpdocsonline.com/get-destination-data
168 Destination IP List with traffic volume data.
169 :param params:
170 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
171 RouterIP IP of the device
172 ReportType Destination
173 ResolveDNS true/false
174 Sample API
175 http://localhost:8080/api/json/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=destination&ResolveDNS=false
176 :return:
177 """
178 relative_path = 'api/json/nfadevice/getDeviceReport'
179 return self._parent.get_result(relative_path=relative_path, params=params)
180
181 def get_qos_data(self, **params):
182 """
183 http://netflowapi.helpdocsonline.com/get-qos-data
184 QoS List with traffic volume data
185 :param params:
186 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
187 RouterIP IP of the device
188 ReportType dscp
189 Sample API
190 http://localhost:8080/api/json/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=dscp
191 :return:
192 """
193 relative_path = 'api/json/nfadevice/getDeviceReport'
194 return self._parent.get_result(relative_path=relative_path, params=params)
195
196 def get_device_conversation_data(self, **params):
197 """
198 http://netflowapi.helpdocsonline.com/get-device-conversation-data
199 Conversation with traffic volume data
200 :param params:
201 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
202 RouterIP IP of the device
203 ReportType conversation
204 Sample API
205 http://localhost:8080/api/json/nfadevice/getDeviceReport?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&ReportType=Conversation
206 :return:
207 """
208 relative_path = 'api/json/nfadevice/getDeviceReport'
209 return self._parent.get_result(relative_path=relative_path, params=params)
210
211 def get_as_view_data(self, **params):
212 """
213 http://netflowapi.helpdocsonline.com/get-as-view-data
214 Get AS View Data
215 :param params:
216 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
217 RouterIP IP of the device
218 count Integer
219 Sample API
220 http://localhost:8080/api/json/nfadevice/getASView?apiKey=xxxx&RouterIP=1.1.7.10&TimeFrame=hourly&count=10
221 :return:
222 """
223 relative_path = 'api/json/nfadevice/getASView'
224 return self._parent.get_result(relative_path=relative_path, params=params)
225
226 def get_bill_pan_list(self, **params):
227 """
228 http://netflowapi.helpdocsonline.com/get-bill-plan-list
229 Get Bill Plan list
230 :param params:
231 planID 1
232 :return:
233 """
234 relative_path = 'api/json/nfabilling/listBillPlan'
235 return self._parent.get_result(relative_path=relative_path, params=params)
236
237 class InventoryInterface(object):
238 def __init__(self, parent):
239 self._parent = parent
240
241 def list_all_interfaces(self, **params):
242 """
243 http://netflowapi.helpdocsonline.com/list-all-interfaces
244 Get All Interface list with basic information
245 :param params:
246 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
247 DeviceID -1(All Device) / Specific ID
248 Sample API
249 http://localhost:8080/api/json/nfadevice/getIndexInterfaceData?apiKey=xxxx&TimeFrame=hourly&DeviceID=-1
250 :return:
251 """
252 relative_path = 'api/json/nfadevice/getIndexInterfaceData'
253 return self._parent.get_result(relative_path=relative_path, params=params)
254
255 def get_interface_summary(self, **params):
256 """
257 http://netflowapi.helpdocsonline.com/get-interfaces-summary
258 Get interface details like IN/OUT speed , interface type
259 :param params:
260 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
261 DeviceID Interface ID
262 Sample API
263 http://localhost:8080/api/json/nfadevice/getSummaryData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly
264 :return:
265 """
266 relative_path = 'api/json/nfadevice/getSummaryData'
267 return self._parent.get_result(relative_path=relative_path, params=params)
268
269 def interface_traffic(self, **params):
270 """
271 http://netflowapi.helpdocsonline.com/interface-traffic
272 Get Interface Traffic Data
273 :param params:
274 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
275 DeviceID Interface ID
276 tablegridviewtype Chart/Grid
277 Type speed/volume/packets/percentage
278 granularity 1/5/15
279 Sample API
280 http://localhost:8080/api/json/v2/nfadevice/getTrafficData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly&tablegridviewtype=Chart&Type=speed&granularity=1
281 :return:
282 """
283 relative_path = 'api/json/v2/nfadevice/getTrafficData'
284 return self._parent.get_result(relative_path=relative_path, params=params)
285
286 def interface_application_data(self, **params):
287 """
288 http://netflowapi.helpdocsonline.com/interface-application-data
289 Get application list for particular interface traffic
290 :param params:
291 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
292 DeviceID Interface ID
293 tablegridviewtype Chart/Grid
294 Type Application
295 Data IN/OUT
296 pageCount Number
297 rows number(Rows per page)
298 chartType line
299 Sample API
300 http://localhost:8080/api/json/v2/nfadevice/getAppData?apiKey=xxxx&DeviceID=5000002&rows=10&chartType=line&TimeFrame=hourly&Type=Application&pageCount=1&tablegridviewtype=Chart&Data=IN
301 :return:
302 """
303 relative_path = 'api/json/v2/nfadevice/getAppData'
304 return self._parent.get_result(relative_path=relative_path, params=params)
305
306 def interface_source_data(self, **params):
307 """
308 http://netflowapi.helpdocsonline.com/interface-source-data
309 Get Source list for particular interface traffic
310 :param params:
311 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
312 DeviceID Interface ID
313 tablegridviewtype Chart/Grid
314 Type Application
315 Data IN/OUT
316 pageCount Number
317 rows number(Rows per page)
318 chartType line
319 isNetwork true/false
320 isLocation true/false
321 Sample API
322 http://localhost:8080/api/json/nfadevice/getSourceData?apiKey=xxxx&DeviceID=5000002&rows=10&TimeFrame=hourly&pageCount=1&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false&Data=IN
323 :return:
324 """
325 relative_path = 'api/json/nfadevice/getSourceData'
326 return self._parent.get_result(relative_path=relative_path, params=params)
327
328 def interface_destination_data(self, **params):
329 """
330 http://netflowapi.helpdocsonline.com/interface-destination-data
331 Get Destination IP list for particular interface traffic
332 :param params:
333 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
334 DeviceID Interface ID
335 tablegridviewtype Chart/Grid
336 Type Application
337 Data IN/OUT
338 pageCount Number
339 rows number(Rows per page)
340 chartType line
341 isNetwork true/false
342 isLocation true/false
343 Sample API
344 http://localhost:8080/api/json/nfadevice/getDstData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly&rows=10&pageCount=1&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false&Data=IN
345 :return:
346 """
347 relative_path = 'api/json/nfadevice/getDstData'
348 return self._parent.get_result(relative_path=relative_path, params=params)
349
350 def interface_qos_data(self, **params):
351 """
352 http://netflowapi.helpdocsonline.com/interface-qos-data
353 Get Qos Data i.e. Dscp/Tos list for particular interface
354 :param params:
355 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
356 DeviceID Interface ID
357 tablegridviewtype Chart/Grid
358 Type DSCP/TOS/Grp
359 Data IN/OUT
360 pageCount Number
361 rows number (Rows per page)
362 Sample API
363 http://localhost:8080/api/json/v2/nfadevice/getDSCPTosData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly&rows=10&pageCount=1&tablegridviewtype=Chart&Type=DSCP&Data=IN
364 :return:
365 """
366 relative_path = 'api/json/v2/nfadevice/getDSCPTosData'
367 return self._parent.get_result(relative_path=relative_path, params=params)
368
369 def interface_conversation_data(self, **params):
370 """
371 http://netflowapi.helpdocsonline.com/interface-conversation-data
372 Get conversation details for particular interface
373 :param params:
374 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
375 DeviceID Interface ID
376 tablegridviewtype Chart/Grid
377 Data IN/OUT
378 pageCount Number
379 rows number(Rows per page)
380 isNetwork true/false
381 Sample API
382 http://localhost:8080/api/json/nfadevice/getConvData?apiKey=xxxx&DeviceID=5000002&pageCount=1&rows=10&TimeFrame=hourly&GroupBy=&isNetwork=false&ResolveDNS=false&Data=IN
383 :return:
384 """
385 relative_path = 'api/json/nfadevice/getConvData'
386 return self._parent.get_result(relative_path=relative_path, params=params)
387
388 def interface_top_sites_data(self, **params):
389 """
390 http://netflowapi.helpdocsonline.com/interface-top-sites-data
391 Interface Top Sites Data
392 :param params:
393 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
394 DeviceID Interface ID
395 Data IN/OUT
396 Sample API
397 http://localhost:8080/api/json/nfadevice/getTopSites?apiKey=xxxx&DeviceID=5000002&TimeFrame=today&Data=IN
398 :return:
399 """
400 relative_path = 'api/json/nfadevice/getTopSites'
401 return self._parent.get_result(relative_path=relative_path, params=params)
402
403 def nbar2_application_data(self, **params):
404 """
405 http://netflowapi.helpdocsonline.com/nbar2-application-data
406 Get NBAR 2 application list for particular interface traffic
407 :param params:
408 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
409 DeviceID Interface ID
410 tablegridviewtype Chart/Grid
411 Type speed/volume/packets/percentage
412 Data IN/OUT
413 pageCount Number
414 rows number(Rows per page)
415 chartType line
416 Sample API
417 http://localhost:8080/api/json/v2/nfadevice/getNbar2AppData?apiKey=xxxx&DeviceID=5000002&GraphData=true&TimeFrame=hourly&Type=volume&tablegridviewtype=Chart&Data=IN
418 :return:
419 """
420 relative_path = 'api/json/v2/nfadevice/getNbar2AppData'
421 return self._parent.get_result(relative_path=relative_path, params=params)
422
423 def http_host_data(self, **params):
424 """
425 http://netflowapi.helpdocsonline.com/http-host-data
426 Get HTTP host list for particular interface
427 :param params:
428 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
429 DeviceID Interface ID
430 tablegridviewtype Chart/Grid
431 Type speed/volume/packets/percentage
432 Data IN/OUT
433 Sample API
434 http://localhost:8080/api/json/v2/nfadevice/getAVCURLStatsData?apiKey=xxxx&DeviceID=5000002&Type=volume&TimeFrame=hourly&GraphData=true&tablegridviewtype=Chart&Data=IN
435 :return:
436 """
437 relative_path = 'api/json/v2/nfadevice/getAVCURLStatsData'
438 return self._parent.get_result(relative_path=relative_path, params=params)
439
440 def qos_stats_data(self, **params):
441 """
442 http://netflowapi.helpdocsonline.com/qos-stats-data
443 Get Qos Stats Data
444 :param params:
445 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
446 DeviceID Interface ID
447 tablegridviewtype Chart/Grid
448 Type volume
449 Data IN/OUT
450 showQoSDrop false/true
451 Sample API
452 http://localhost:8080/api/json/v2/nfadevice/getAVCQosStatsData?apiKey=xxxx&DeviceID=5000004&TimeFrame=hourly&GraphData=true&Type=volume&showQoSDrop=false&Data=IN
453 :return:
454 """
455 relative_path = 'api/json/v2/nfadevice/getAVCQosStatsData'
456 return self._parent.get_result(relative_path=relative_path, params=params)
457
458 def art_data(self, **params):
459 """
460 http://netflowapi.helpdocsonline.com/art-data
461 Get ART data for particular interface
462 :param params:
463 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
464 DeviceID Interface ID
465 tablegridviewtype Chart/Grid
466 Type Volume
467 Data IN/OUT
468 GraphType server/client
469 TopNGraphData true
470 Sample API
471 http://localhost:8080/api/json/v2/nfadevice/getARTReportData?apiKey=xxxx&DeviceID=5000004&Type=volume&TimeFrame=hourly&GraphData=true&tablegridviewtype=Chart&TopNGraphData=true&GraphType=server&Data=IN
472 :return:
473 """
474 relative_path = 'api/json/v2/nfadevice/getARTReportData'
475 return self._parent.get_result(relative_path=relative_path, params=params)
476
477 class InventoryGroups(object):
478 def __init__(self, parent):
479 self._parent = parent
480
481 def list_all_interface_groups(self, **params):
482 """
483 http://netflowapi.helpdocsonline.com/list-all-interface-groups
484 Get all Interface group list with basic information
485 :param params:
486 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
487 Sample API
488 http://localhost:8080/api/json/nfadevice/getIndexIntfGroupData?apiKey=xxxx&TimeFrame=hourly
489 :return:
490 """
491 relative_path = 'api/json/nfadevice/getIndexIntfGroupData'
492 return self._parent.get_result(relative_path=relative_path, params=params)
493
494 def interface_group_traffic(self, **params):
495 """
496 http://netflowapi.helpdocsonline.com/interface-group-traffic
497 Get interface Group Traffic data
498 :param params:
499 DeviceID Interface group ID
500 tablegridviewtype Chart/Grid
501 Type speed/volume/packets/percentage
502 granularity 1/5/15
503 BussView true(Always true for Interface group
504 Sample API
505 http://localhost:8080/api/json/v2/nfadevice/getTrafficData?apiKey=xxxx&DeviceID=2500002&TimeFrame=hourly&BussView=true&enableBussHour=true&BussStartTime=0000&BussEndTime=0000&tablegridviewtype=Chart&Type=speed&granularity=1
506 :return:
507 """
508 relative_path = 'api/json/v2/nfadevice/getTrafficData'
509 return self._parent.get_result(relative_path=relative_path, params=params)
510
511 def interface_group_application_data(self, **params):
512 """
513 http://netflowapi.helpdocsonline.com/interface-group-application-data
514 Get Application list for particular interface group traffic
515 :param params:
516 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
517 DeviceID Interface group ID
518 tablegridviewtype Chart/Grid
519 Type Application
520 Data IN/OUT
521 pageCount Number
522 rows number(Rows per page)
523 chartType line
524 BussView true (Always true for Interface group)
525 Sample API
526 http://localhost:8080/api/json/v2/nfadevice/getAppData?apiKey=xxxx&DeviceID=2500002&rows=10&chartType=line&Type=Application&TimeFrame=hourly&BussView=true&pageCount=1&tablegridviewtype=Chart&Data=IN
527 :return:
528 """
529 relative_path = 'api/json/v2/nfadevice/getAppData'
530 return self._parent.get_result(relative_path=relative_path, params=params)
531
532 def interface_group_source_data(self, **params):
533 """
534 http://netflowapi.helpdocsonline.com/interface-group-source-data
535 Get Source list for particular interface Group traffic
536 :param params:
537 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
538 DeviceID Interface group ID
539 tablegridviewtype Chart/Grid
540 Type Application
541 Data IN/OUT
542 pageCount Number
543 rows number(Rows per page)
544 chartType line
545 isNetwork true/ false
546 isLocation true/false
547 BussView true(Always true for Interface group)
548 Sample API
549 http://localhost:8080/api/json/nfadevice/getSourceData?apiKey=xxxx&DeviceID=5000002&rows=10&BussView=true&TimeFrame=hourly&pageCount=1&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false&Data=IN
550 :return:
551 """
552 relative_path = 'api/json/nfadevice/getSourceData'
553 return self._parent.get_result(relative_path=relative_path, params=params)
554
555 def interface_group_destination_data(self, **params):
556 """
557 http://netflowapi.helpdocsonline.com/interface-group-destination-data
558 :param params:
559 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
560 DeviceID Interface groupID
561 tablegridviewtype Chart/Grid
562 Type Application
563 Data IN/OUT
564 pageCount Number
565 rows number(Rows per page)
566 chartType line
567 isNetwork true/ false
568 isLocation true/false
569 BussView true(Always true for Interface group)
570 Sample API
571 http://localhost:8080/api/json/nfadevice/getDstData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly&rows=10&BussView=true&pageCount=1&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false&Data=IN
572 :return:
573 """
574 relative_path = 'api/json/nfadevice/getDstData'
575 return self._parent.get_result(relative_path=relative_path, params=params)
576
577 def interface_group_qos_data(self, **params):
578 """
579 http://netflowapi.helpdocsonline.com/interface-group-qos-data
580 :param params:
581 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
582 DeviceID Interface groupID
583 tablegridviewtype Chart/Grid
584 Type DSCP/TOS/Grp
585 Data IN/OUT
586 pageCount Number
587 rows number(Rows per page)
588 BussView true(Always true for Interface group)
589 :return:
590 Sample API
591 http://localhost:8080/api/json/v2/nfadevice/getDSCPTosData?apiKey=xxxx&DeviceID=5000002&TimeFrame=hourly&rows=10&BussView=true&pageCount=1&tablegridviewtype=Chart&Type=DSCP&Data=IN
592 """
593 relative_path = 'api/json/v2/nfadevice/getDSCPTosData'
594 return self._parent.get_result(relative_path=relative_path, params=params)
595
596 def interface_group_conversation_data(self, **params):
597 """
598 http://netflowapi.helpdocsonline.com/interface-groupconversation-data
599 Get Conversation details for particular interface Group
600 :param params:
601 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
602 DeviceID Interface groupID
603 tablegridviewtype Chart/Grid
604 Data IN/OUT
605 pageCount Number
606 rows number(Rows per page)
607 isNetwork true/false
608 BussView true(Always true for Interface group)
609 Sample API
610 http://localhost:8080/api/json/nfadevice/getConvData?apiKey=xxxx&DeviceID=5000002&pageCount=1&BussView=true&rows=10&TimeFrame=hourly&GroupBy=&isNetwork=false&ResolveDNS=false&Data=IN
611 :return:
612 """
613 relative_path = 'api/json/nfadevice/getConvData'
614 return self._parent.get_result(relative_path=relative_path, params=params)
615
616 def nbar2_application_data(self, **params):
617 """
618 http://netflowapi.helpdocsonline.com/nbar2-applicationdata
619 Get NBAR2 App list for particular interface group traffic
620 :param params:
621 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
622 DeviceID Interface groupID
623 tablegridviewtype Chart/Grid
624 Type speed/volume/packets/percentage
625 Data IN/OUT
626 pageCount Number
627 rows number(Rows per page)
628 chartType line
629 BussView true(Always true for Interface group)
630 Sample API
631 http://localhost:8080/api/json/v2/nfadevice/getNbar2AppData?apiKey=xxxx&DeviceID=5000002&GraphData=true&TimeFrame=hourly&Type=volume&tablegridviewtype=Chart&Data=IN&BussView=true
632 :return:
633 """
634 relative_path = 'api/json/v2/nfadevice/getNbar2AppData'
635 return self._parent.get_result(relative_path=relative_path, params=params)
636
637 def http_host_data(self, **params):
638 """
639 http://netflowapi.helpdocsonline.com/http-host-data-2
640 :param params:
641 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
642 DeviceID Interface groupID
643 tablegridviewtype Chart/Grid
644 Type speed/volume/packets/percentage
645 Data IN/OUT
646 BussView true(Always true for Interface group)
647 Sample API
648 http://localhost:8080/api/json/v2/nfadevice/getAVCURLStatsData?apiKey=xxxx&DeviceID=5000002&Type=volume&TimeFrame=hourly&GraphData=true&tablegridviewtype=Chart&Data=IN&BussView=true
649 :return:
650 """
651 relative_path = 'api/json/v2/nfadevice/getAVCURLStatsData'
652 return self._parent.get_result(relative_path=relative_path, params=params)
653
654 def qos_stats_data(self, **params):
655 """
656 http://netflowapi.helpdocsonline.com/qos-stats-data-2
657 Get HTTP Host list for particular interface group
658 :param params:
659 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
660 DeviceID Interface groupID
661 tablegridviewtype Chart/Grid
662 Type volume
663 Data IN/OUT
664 showQoSDrop false/true
665 BussView true(Always true for Interface group)
666 Sample API
667 http://localhost:8080/api/json/v2/nfadevice/getAVCQosStatsData?apiKey=xxxx&DeviceID=5000004&TimeFrame=hourly&GraphData=true&Type=volume&showQoSDrop=false&Data=IN&BussView=true
668 :return:
669 """
670 relative_path = 'api/json/v2/nfadevice/getAVCQosStatsData'
671 return self._parent.get_result(relative_path=relative_path, params=params)
672
673 def art_data(self, **params):
674 """
675 http://netflowapi.helpdocsonline.com/art-data-2
676 :param params:
677 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
678 DeviceID Interface groupID
679 tablegridviewtype Chart/Grid
680 Type volume
681 Data IN/OUT
682 GraphType server/client
683 TopNGraphData true
684 BussView true(Always true for Interface group)
685 Sample API
686 http://localhost:8080/api/json/v2/nfadevice/getARTReportData?apiKey=xxxx&DeviceID=5000004&Type=volume&TimeFrame=hourly&GraphData=true&tablegridviewtype=Chart&TopNGraphData=true&GraphType=server&Data=IN&BussView=true
687 :return:
688 """
689 relative_path = 'api/json/v2/nfadevice/getARTReportData'
690 return self._parent.get_result(relative_path=relative_path, params=params)
691
692 def get_ipgroup_list(self, **params):
693 """
694 http://netflowapi.helpdocsonline.com/get-ipgroup-list
695 Get IPgroup List with basic information
696 :param params:
697 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
698 Sample API
699 http://localhost:8080/api/json/v2/nfadevice/getIndexIPGroupData?apiKey=xxxx&TimeFrame=hourly
700 :return:
701 """
702 relative_path = 'api/json/v2/nfadevice/getIndexIPGroupData'
703 return self._parent.get_result(relative_path=relative_path, params=params)
704
705 def ipgroup_traffic(self, **params):
706 """
707 http://netflowapi.helpdocsonline.com/ipgroup-traffic
708 Get IP group Traffic with different options like speed/ volume.
709 :param params:
710 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
711 DeviceID IPGroup ID
712 tablegridviewtype Chart/Grid
713 Type speed/volume/packets/percentage
714 Granularity 1/5/15
715 IPGroup true(Always true for ipgroups)
716 Sample API
717 http://localhost:8080/api/json/v2/nfadevice/getTrafficData?apiKey=xxxx&DeviceID=2500001&TimeFrame=hourly&IPGroup=true&tablegridviewtype=Chart&granularity=1&Type=speed
718 :return:
719 """
720 relative_path = 'api/json/v2/nfadevice/getTrafficData'
721 return self._parent.get_result(relative_path=relative_path, params=params)
722
723 def ipgroup_application_data(self, **params):
724 """
725 http://netflowapi.helpdocsonline.com/ipgroup-application-data
726 Get application list for particular IPGroup traffic.
727 :param params:
728 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
729 DeviceID IPGroup ID
730 tablegridviewtype Chart/Grid
731 Type Application
732 Data IN/OUT
733 pageCount Number
734 rows number(Rows per page)
735 chartType line
736 IPGroup true (Always true for IPgroups)
737 Sample API
738 http://localhost:8080/api/json/v2/nfadevice/getAppData?apiKey=xxxx&DeviceID=2500001&Type=Application&chartType=line&TimeFrame=hourly&IPGroup=true&rows=10&pageCount=1&tablegridviewtype=Chart&Data=IN
739 :return:
740 """
741 relative_path = 'api/json/v2/nfadevice/getAppData'
742 return self._parent.get_result(relative_path=relative_path, params=params)
743
744 def ipgroup_source_data(self, **params):
745 """
746 http://netflowapi.helpdocsonline.com/ipgroup-source-data
747 Get Source list for particular IPGroup traffic
748 :param params:
749 DeviceID IPGroup ID
750 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
751 tablegridviewtype Chart/Grid
752 Type Application
753 Data IN/OUT
754 pageCount Number
755 rows number(Rows per page)
756 chartType line
757 isNetwork true/false
758 isLocation true/false
759 IPGroup true
760 Sample API
761 http://localhost:8080/api/json/nfadevice/getSourceData?apiKey=xxxx&DeviceID=2500001&pageCount=1&Data=IN&TimeFrame=hourly&Count=10&IPGroup=true&rows=10&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false
762 :return:
763 """
764 relative_path = 'api/json/nfadevice/getSourceData'
765 return self._parent.get_result(relative_path=relative_path, params=params)
766
767 def ipgroup_destination_data(self, **params):
768 """
769 http://netflowapi.helpdocsonline.com/ipgroup-destination-data
770 Get Destination IP list for particular IPGroup traffic
771 :param params:
772 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
773 DeviceID IPGroup ID
774 tablegridviewtype Chart/Grid
775 Type Application
776 Data IN/OUT
777 pageCount Number
778 rows number (Rows per page)
779 chartType line
780 isNetwork true/false
781 isLocation true/false
782 IPGroup true
783 Sample API
784 http://localhost:8080/api/json/nfadevice/getDstData?apiKey=xxxx&DeviceID=2500001&pageCount=1&rows=10&IPGroup=true&TimeFrame=hourly&Data=IN&tablegridviewtype=Chart&isNetwork=false&isLocation=false&ResolveDNS=false
785
786 :return:
787 """
788 relative_path = 'api/json/nfadevice/getSourceData'
789 return self._parent.get_result(relative_path=relative_path, params=params)
790
791 def ipgroup_qos_data(self, **params):
792 """
793 http://netflowapi.helpdocsonline.com/ipgroup-qos-data
794 Get Dscp/Tos list for particular IPGroup
795 :param params:
796 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
797 DeviceID IPGroup ID
798 tablegridviewtype Chart/Grid
799 Type DSCP/TOS/Grp
800 Data IN/OUT
801 pageCount Number
802 rows number(Rows per page)
803 IPGroup true
804 Sample API
805 http://localhost:8080/api/json/v2/nfadevice/getDSCPTosData?apiKey=xxxx&DeviceID=2500001&TimeFrame=hourly&IPGroup=true&rows=10&pageCount=1&tablegridviewtype=Chart&Type=DSCP&Data=IN
806 :return:
807 """
808 relative_path = 'api/json/v2/nfadevice/getDSCPTosData'
809 return self._parent.get_result(relative_path=relative_path, params=params)
810
811 def ipgroup_conversation_data(self, **params):
812 """
813 http://netflowapi.helpdocsonline.com/ipgroup-conversation-data
814 Get Conversation details for particular IPGroup
815 :param params:
816 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
817 DeviceID IPGroup ID
818 tablegridviewtype Chart/Grid
819 Data IN/OUT
820 pageCount Number
821 rows number(Rows per page)
822 isNetwork true/false
823 IPGroup true
824 Sample API
825 http://localhost:8080/api/json/nfadevice/getConvData?apiKey=xxxx&DeviceID=2500001&IPGroup=true&pageCount=1&rows=10&TimeFrame=hourly&GroupBy=&isNetwork=false&ResolveDNS=false&Data=IN
826 :return:
827 """
828 relative_path = 'api/json/nfadevice/getConvData'
829 return self._parent.get_result(relative_path=relative_path, params=params)
830
831 def add_an_ipgroup(self, **params):
832 """
833 http://netflowapi.helpdocsonline.com/add-an-ip-group
834 :param params:
835 speed 1000000
836 GroupName test1234
837 Desc aravind test
838 Sample API
839 http://localhost:8080/client/api/json/nfaipgroup/addIPGroup?apiKey=00512c6ff9201f26a1111cf56fa02668&GroupName=test1234&Desc=aravind%20test%20&speed=1000000&DevList=5000001,5000003,5000004&IPData=1.1.1.1,255.255.255.0&status=include&IPType=ipnetwork
840 :return:
841 """
842 relative_path = 'api/json/nfaipgroup/addIPGroup'
843 return self._parent.get_result(relative_path=relative_path, params=params)
844
845 class InventoryApplication(object):
846 def __init__(self, parent):
847 self._parent = parent
848
849 def list_apps(self, **params):
850 """
851 http://netflowapi.helpdocsonline.com/list-apps
852 Get List all the application with traffic details
853 :param params:
854 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
855 islayer7 true/false
856 Sample API
857 http://localhost:8080/api/json/v2/nfaapps/listApps?apiKey=xxxx&TimeFrame=hourly&islayer7=false
858 :return:
859 """
860 relative_path = 'api/json/v2/nfaapps/listApps'
861 return self._parent.get_result(relative_path=relative_path, params=params)
862
863 def application_traffic(self, **params):
864 """
865 http://netflowapi.helpdocsonline.com/application-traffic
866 Get Application Traffic for the application
867 :param params:
868 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
869 islayer7 true/false
870 appid appname (ftp,facebook)
871 Type speed/volume/percentage/packets
872 Data IN/OUT
873 Sample API
874 http://localhost:8080/api/json/v2/nfaapps/getAppDataSet?apiKey=xxxx&appid=ftp&islayer7=false&TimeFrame=hourly&Type=speed&chartType=line&Data=IN
875 :return:
876 """
877 relative_path = 'api/json/v2/nfaapps/getAppDataSet'
878 return self._parent.get_result(relative_path=relative_path, params=params)
879
880 def app_interface_list(self, **params):
881 """
882 http://netflowapi.helpdocsonline.com/app-interface-list
883 Get interface list for the application
884 :param params:
885 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
886 islayer7 true/false
887 appid appname (ftp,facebook)
888 Type speed/volume/percentage/packets
889 Data IN/OUT
890 tablegridviewtype Chart/Grid
891 Sample API
892 http://localhost:8080/api/json/v2/nfaapps/getAppTrafficForInterface?apiKey=xxxx&appid=ftp&islayer7=false&TimeFrame=hourly&Type=speed&chartType=line&tablegridviewtype=Chart&Data=IN
893 :return:
894 """
895 relative_path = 'api/json/v2/nfaapps/getAppTrafficForInterface'
896 return self._parent.get_result(relative_path=relative_path, params=params)
897
898 class InventoryQos(object):
899 def __init__(self, parent):
900 self._parent = parent
901
902 def list_qos(self, **params):
903 """
904 http://netflowapi.helpdocsonline.com/list-qos
905 Get List qos for the network
906 :param params:
907 TimeFrame hourly/6hour/Daily/today/yesterday/Weekly/Monthly
908 WidgetID Number
909 count 100
910 Category 0
911 DeviceID 1
912 reqTo true
913 Sample API
914 http://localhost:8080/api/json/nfadashBoard/getWidgetData?apiKey=xxxx&WidgetID=10097&TimeFrame=hourly&count=100&Category=0&DeviceID=1&reqTo=true
915 :return:
916 """
917 relative_path = 'api/json/nfadashBoard/getWidgetData'
918 return self._parent.get_result(relative_path=relative_path, params=params)
919
920 class InventoryWirelessController(object):
921 def __init__(self, parent):
922 self._parent = parent
923
924 def get_controller_list(self):
925 """
926 http://netflowapi.helpdocsonline.com/get-controller-list
927 Get List all controllers with basic information
928 Sample API
929 http://localhost:8080/api/json/nfadevice/getWlcRouterData?apiKey=xxxx
930 :return:
931 """
932 relative_path = 'api/json/nfadevice/getWlcRouterData'
933 return self._parent.get_result(relative_path=relative_path, params={})
934
935 def get_ssid_list(self, **params):
936 """
937 http://netflowapi.helpdocsonline.com/get-ssid-list
938 Get List all SSID with IN & OUT Traffic info
939 :param params:
940 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
941 Criteria WIRELESS_SSID
942 Sample API
943 http://localhost:8080/api/json/nfadevice/listWLCIcons?apiKey=xxxx&TimeFrame=today&Criteria=WIRELESS_SSID
944 :return:
945 """
946 relative_path = 'api/json/nfadevice/listWLCIcons'
947 return self._parent.get_result(relative_path=relative_path, params=params)
948
949 def get_clients_list(self, **params):
950 """
951 http://netflowapi.helpdocsonline.com/get-clients-list
952 Get List all Clients with IN & OUT Traffic info
953 :param params:
954 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
955 Criteria CLIENTIP
956 Sample API
957 http://localhost:8080/api/json/nfadevice/listWLCIcons?apiKey=xxxx&TimeFrame=today&Criteria=CLIENTIP
958 :return:
959 """
960 relative_path = 'api/json/nfadevice/listWLCIcons'
961 return self._parent.get_result(relative_path=relative_path, params=params)
962
963 def get_access_points_list(self, **params):
964 """
965 http://netflowapi.helpdocsonline.com/get-access-points-list
966 Get List all Access points with IN & OUT Traffic info
967 :param params:
968 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
969 Criteria APMAC
970 Sample API
971 http://localhost:8080/api/json/nfadevice/listApMacIcons?apiKey=xxxx&TimeFrame=today&Criteria=APMAC
972 :return:
973 """
974 relative_path = 'api/json/nfadevice/listApMacIcons'
975 return self._parent.get_result(relative_path=relative_path, params=params)
976
977 def get_controller_traffic(self, **params):
978 """
979 http://netflowapi.helpdocsonline.com/get-controller-traffic
980 Get Controller traffic data
981 :param params:
982 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
983 RouterID Controller ID
984 pageCount Number
985 rows Number
986 ReportType Graph/topIPHost/topSSID/topAP/topApp/topDSCP/topConv
987 Sample API
988 http://localhost:8080/api/json/v2/nfadevice/getWLCDeviceReport?apiKey=xxxx&RouterID=50004&type=OUT&TimeFrame=6Hour&pageCount=1&ReportType=graph&rows=11&expand=false&_=1482326391446
989 :return:
990 """
991 relative_path = 'api/json/v2/nfadevice/getWLCDeviceReport'
992 return self._parent.get_result(relative_path=relative_path, params=params)
993
994 def get_ssid_data(self, **params):
995 """
996 http://netflowapi.helpdocsonline.com/get-ssid-data
997 Get SSID based Applications, Access points, Qos
998 :param params:
999 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
1000 RouterID Controller ID
1001 pageCount Number
1002 rows Number
1003 ReportType topIPHost/topAP/topApp/topDSCP
1004 Tablegridviewtype Grid/Chart
1005 critival SSID Name
1006 critcol WIRELESS_SSID
1007 Sample API
1008 http://localhost:8080/api/json/v2/nfadevice/getWLCSnapData?apiKey=cab4e1fb930ceb5a7a89572099240de2&critval=NFA12&ReportType=topAP&TimeFrame=hourly&critcol=WIRELESS_SSID&pageCount=1&rows=10&tablegridviewtype=Chart&type=IN
1009 :return:
1010 """
1011 relative_path = 'api/json/v2/nfadevice/getWLCSnapData'
1012 return self._parent.get_result(relative_path=relative_path, params=params)
1013
1014 def get_clients_data(self, **params):
1015 """
1016 http://netflowapi.helpdocsonline.com/get-clients-data
1017 Getting Clients based Applications, Access points, Qos
1018 :param params:
1019 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
1020 RouterID Controller ID
1021 pageCount Number
1022 rows Number
1023 ReportType topSSID/topAP/topAP/topApp/topDSCP
1024 Tablegridviewtype Grid/Chart
1025 critival Clients IP
1026 critcol CLIENTIP
1027 Sample API
1028 http://localhost:8080/api/json/v2/nfadevice/getWLCSnapData?apiKey=cab4e1fb930ceb5a7a89572099240de2&critval=1.1.1.6&rows=10&ReportType=topApp&TimeFrame=hourly&critcol=CLIENTIP&pageCount=1&tablegridviewtype=Chart&type=IN
1029 :return:
1030 """
1031 relative_path = 'api/json/v2/nfadevice/getWLCSnapData'
1032 return self._parent.get_result(relative_path=relative_path, params=params)
1033
1034 def get_access_points_data(self, **params):
1035 """
1036 http://netflowapi.helpdocsonline.com/get-access-points-data
1037 Getting Clients based Applications, Access points, Qos
1038 :param params:
1039 TimeFrame hourly/6hour/today/daily/Weekly/Monthly
1040 apMacID Access point ID
1041 pageCount Number
1042 rows Number
1043 ReportType graph/topIPHost/topAP/topSSID/topConv/topApp/topDSCP
1044 Tablegridviewtype Grid/Chart
1045 type IN/OUT
1046 Sample API
1047 http://localhost:8080/api/json/v2/nfadevice/getWLCApmacReport?apiKey=cab4e1fb930ceb5a7a89572099240de2&apMacID=5000025&rows=11&type=IN&TimeFrame=hourly&ReportType=graph&pageCount=1&tablegridviewtype=Chart&granularity=1&graphoption=volume
1048 :return:
1049 """
1050 relative_path = 'api/json/v2/nfadevice/getWLCApmacReport'
1051 return self._parent.get_result(relative_path=relative_path, params=params)
1052
1053 class Reports(object):
1054 def __init__(self, parent):
1055 self._parent = parent
1056
1057 def consolidated_report(self, **params):
1058 """
1059 http://netflowapi.helpdocsonline.com/consolidated-report
1060 :param params:
1061 DeviceID InterfaceID/IPGroupID/Interface Group ID
1062 Type speed/volume/percentage
1063 reportType all
1064 count integer value
1065 TimeFrame hourly/today/yesterday/weekly/monthly/eight/custom
1066 ResolveDNS true/false
1067 IPGroup true/false
1068 BussView true if the source is interface group else false
1069 granularity 1/5
1070 Sample API
1071 http://localhost:8080/api/json/v2/nfareports/consReport?&ResolveDNS=false&apiKey=d34fdda92933bfe523a5f3947cb82116&BussView=false&IPGroup=false&filterStTime=00&filterEdTime=00&Device
1072 :return:
1073 """
1074 relative_path = 'api/json/v2/nfareports/consReport'
1075 return self._parent.get_result(relative_path=relative_path, params=params)
1076
1077 def conpasity_planning_report(self, **params):
1078 """
1079 http://netflowapi.helpdocsonline.com/capacity-planning-report
1080 Capacity Planning Report
1081 :param params:
1082 DeviceID Interfaceid/interface group id/ipgroup id
1083 idIPGroup true(when the resource type is IP group)
1084 Type speed/ volume / percentage/packets
1085 Data IN/OUT
1086 filterStTime Integer(0-24)
1087 filterEdTime Integer(0-24)
1088 exweekend true/false
1089 TimeFrame hourly/6Hour/Daily/today/yesterday/weekly/monthly/Quarterly/custom
1090 granularity 1/5
1091 Sample API
1092 http://testpc:8080/api/json/v2/nfadevice/getCapacityPlanData?apiKey=407ef7c282fa0ace024d34f6cc8e7ba1&DeviceID=5000019&TimeFrame=today&Type=speed&filterStTime=00&filterEdTime=00&exweekend
1093 :return:
1094 """
1095 relative_path = 'api/json/v2/nfadevice/getCapacityPlanData'
1096 return self._parent.get_result(relative_path=relative_path, params=params)
1097
1098 def ipgroup_consolidated_report(self, **params):
1099 """
1100 http://netflowapi.helpdocsonline.com/ipgroup-consolidated-report
1101 IP Group Consolidated Report
1102 :param params:
1103 Type speed/volume/percentage
1104 TimeFrame hourly/today/yesterday/weekly/monthly/eight/custom
1105 Sample API
1106 http://localhost:8080/api/json/nfareports/getIPGroupConsReport?&apiKey=407ef7c282fa0ace024d34f6cc8e7ba1&Typ=speed&TimeFrame=hourly
1107 :return:
1108 """
1109 relative_path = 'api/json/nfareports/getIPGroupConsReport'
1110 return self._parent.get_result(relative_path=relative_path, params=params)
1111
1112 def wcl(self, **params):
1113 """
1114 http://netflowapi.helpdocsonline.com/wlc-consolidated-report
1115 WLC Consolidated Report
1116 :param params:
1117 DeviceID Access point ID
1118 RouterID Controller ID
1119 Type speed/volume/percentage
1120 reportType all/Traffic/application/apmac/host/iphost
1121 count integer value
1122 TimeFrame hourly/today/yesterday/weekly/monthly/eight/custom
1123 granularity 1/5
1124 filterStTime 1 to 24
1125 filterEdTime 1 to 24
1126 Sample API
1127 http://localhost:8080/api/json/v2/nfareports/wlcconsReport?&ResolveDNS=false&apiKey=xxxxxx&RouterID=50001&filterStTime=00&filterEdTime=00&Device
1128 :return:
1129 """
1130 relative_path = 'api/json/v2/nfareports/wlcconsReport'
1131 return self._parent.get_result(relative_path=relative_path, params=params)
1132
1133 def protocol_(self, **params):
1134 """
1135 http://netflowapi.helpdocsonline.com/protocol-distribution-report-2
1136 Protocol Distribution
1137 :param params:
1138 DeviceID Interfaceid/interface group id/ipgroup id
1139 BussView true(when the resource type is interface group)
1140 IPGroup true(when the resource type is IP group)
1141 Type speed/ volume / percentage
1142 Data IN/OUT
1143 TimeFrame 15Minute/30Minute/hourly/6Hour/Daily/today/yesterday/weekly/monthly/Quarterly/custom
1144 Sample API
1145 http://testpc:8080/api/json/v2/nfadevice/getProtocolData?&apiKey=xxxxxxx&DeviceID=5000019&BussView=false&IPGroup=false&Type=speed&TimeFrame=6Hour&Data=IN
1146 :return:
1147 """
1148 relative_path = 'api/json/v2/nfadevice/getProtocolData'
1149 return self._parent.get_result(relative_path=relative_path, params=params)
1150
1151
1152 if __name__ == '__main__':
1153 nf = NetFlow(domain='https://example.com', api_key='key')
1154 result = nf.inventory_interface.list_all_interfaces()
1155 if not result.get('success'):
1156 print(result)
1157 exit()
1158 nf_data_list = result.get('data', [])
1159 for data in nf_data_list:
1160 print(data)