forked from meraki/dashboard-api-python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtraffic_analysis_settings.py
More file actions
50 lines (37 loc) · 1.95 KB
/
Copy pathtraffic_analysis_settings.py
File metadata and controls
50 lines (37 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class TrafficAnalysisSettings(object):
def __init__(self, session):
super(TrafficAnalysisSettings, self).__init__()
self._session = session
def getNetworkTrafficAnalysisSettings(self, networkId: str):
"""
**Return the traffic analysis settings for a network**
https://developer.cisco.com/meraki/api/#!get-network-traffic-analysis-settings
- networkId (string)
"""
metadata = {
'tags': ['Traffic analysis settings'],
'operation': 'getNetworkTrafficAnalysisSettings',
}
resource = f'/networks/{networkId}/trafficAnalysisSettings'
return self._session.get(metadata, resource)
def updateNetworkTrafficAnalysisSettings(self, networkId: str, **kwargs):
"""
**Update the traffic analysis settings for a network**
https://developer.cisco.com/meraki/api/#!update-network-traffic-analysis-settings
- networkId (string)
- mode (string): The traffic analysis mode for the network. Can be one of 'disabled' (do not collect traffic types),
'basic' (collect generic traffic categories), or 'detailed' (collect destination hostnames).
- customPieChartItems (array): The list of items that make up the custom pie chart for traffic reporting.
"""
kwargs.update(locals())
if 'mode' in kwargs:
options = ['disabled', 'basic', 'detailed']
assert kwargs['mode'] in options, f'''"mode" cannot be "{kwargs['mode']}", & must be set to one of: {options}'''
metadata = {
'tags': ['Traffic analysis settings'],
'operation': 'updateNetworkTrafficAnalysisSettings',
}
resource = f'/networks/{networkId}/trafficAnalysisSettings'
body_params = ['mode', 'customPieChartItems']
payload = {k: v for (k, v) in kwargs.items() if k in body_params}
return self._session.put(metadata, resource, payload)