-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathtickets.py
More file actions
101 lines (83 loc) · 2.91 KB
/
Copy pathtickets.py
File metadata and controls
101 lines (83 loc) · 2.91 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
"""
--------------------------------------------------------------------------------
------------------------- 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 listMspTickets(
mist_session: _APISession,
msp_id: str,
start: str | None = None,
end: str | None = None,
duration: str | None = None,
) -> _APIResponse:
"""
API doc: https://www.juniper.net/documentation/us/en/software/mist/api/http/api/msps/tickets/list-msp-tickets
PARAMS
-----------
mistapi.APISession : mist_session
mistapi session including authentication and Mist host information
PATH PARAMS
-----------
msp_id : str
QUERY PARAMS
------------
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`
duration : str, default: 1d
Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
RETURN
-----------
mistapi.APIResponse
response from the API call
"""
uri = f"/api/v1/msps/{msp_id}/tickets"
query_params: dict[str, str] = {}
if start:
query_params["start"] = str(start)
if end:
query_params["end"] = str(end)
if duration:
query_params["duration"] = str(duration)
resp = mist_session.mist_get(uri=uri, query=query_params)
return resp
def countMspTickets(
mist_session: _APISession,
msp_id: str,
distinct: str | None = None,
limit: int | None = None,
) -> _APIResponse:
"""
API doc: https://www.juniper.net/documentation/us/en/software/mist/api/http/api/msps/tickets/count-msp-tickets
PARAMS
-----------
mistapi.APISession : mist_session
mistapi session including authentication and Mist host information
PATH PARAMS
-----------
msp_id : str
QUERY PARAMS
------------
distinct : str{'org_id', 'status', 'type'}, default: status
Field used to group this count response. enum: `org_id`, `status`, `type`
limit : int, default: 100
Maximum number of results to return per page
RETURN
-----------
mistapi.APIResponse
response from the API call
"""
uri = f"/api/v1/msps/{msp_id}/tickets/count"
query_params: dict[str, str] = {}
if distinct:
query_params["distinct"] = str(distinct)
if limit:
query_params["limit"] = str(limit)
resp = mist_session.mist_get(uri=uri, query=query_params)
return resp