-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathinsights.py
More file actions
73 lines (62 loc) · 2.35 KB
/
Copy pathinsights.py
File metadata and controls
73 lines (62 loc) · 2.35 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
"""
--------------------------------------------------------------------------------
------------------------- Mist API Python CLI Session --------------------------
Written by: Thomas Munzer (tmunzer@juniper.net)
Github : https://github.com/tmunzer/mistapi_python
This package is licensed under the MIT License.
--------------------------------------------------------------------------------
"""
from mistapi import APISession as _APISession
from mistapi.__api_response import APIResponse as _APIResponse
def getMspSle(
mist_session: _APISession,
msp_id: str,
metric: str,
sle: str | None = None,
duration: str | None = None,
interval: str | None = None,
start: str | None = None,
end: str | None = None,
) -> _APIResponse:
"""
API doc: https://www.juniper.net/documentation/us/en/software/mist/api/http/api/msps/sles/get-msp-sle
PARAMS
-----------
mistapi.APISession : mist_session
mistapi session including authentication and Mist host information
PATH PARAMS
-----------
msp_id : str
metric : str
See [List Insight Metrics](/#operations/listInsightMetrics) for available metrics
QUERY PARAMS
------------
sle : str
See [List Insight Metrics](/#operations/listInsightMetrics) for more details
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
interval : str
Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to.
start : str
Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
end : str
Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
RETURN
-----------
mistapi.APIResponse
response from the API call
"""
uri = f"/api/v1/msps/{msp_id}/insights/{metric}"
query_params: dict[str, str] = {}
if sle:
query_params["sle"] = str(sle)
if duration:
query_params["duration"] = str(duration)
if interval:
query_params["interval"] = str(interval)
if start:
query_params["start"] = str(start)
if end:
query_params["end"] = str(end)
resp = mist_session.mist_get(uri=uri, query=query_params)
return resp