-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathlogs.py
More file actions
131 lines (113 loc) · 4.03 KB
/
Copy pathlogs.py
File metadata and controls
131 lines (113 loc) · 4.03 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
"""
--------------------------------------------------------------------------------
------------------------- 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 listMspAuditLogs(
mist_session: _APISession,
msp_id: str,
site_id: str | None = None,
admin_name: str | None = None,
message: str | None = None,
sort: str | None = None,
start: str | None = None,
end: str | None = None,
duration: str | None = None,
limit: int | None = None,
page: int | None = None,
) -> _APIResponse:
"""
API doc: https://www.juniper.net/documentation/us/en/software/mist/api/http/api/msps/logs/list-msp-audit-logs
PARAMS
-----------
mistapi.APISession : mist_session
mistapi session including authentication and Mist host information
PATH PARAMS
-----------
msp_id : str
QUERY PARAMS
------------
site_id : str
Filter results by site identifier
admin_name : str
Admin name or email
message : str
Filter results by message text
sort : str{'-timestamp', 'admin_id', 'site_id', 'timestamp'}
Field used to sort results; a leading `-` indicates descending order. enum: `-timestamp`, `admin_id`, `site_id`, `timestamp`
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`
limit : int, default: 100
Maximum number of results to return per page
page : int, default: 1
Select the page number to return when using page-based pagination; starts at `1`
RETURN
-----------
mistapi.APIResponse
response from the API call
"""
uri = f"/api/v1/msps/{msp_id}/logs"
query_params: dict[str, str] = {}
if site_id:
query_params["site_id"] = str(site_id)
if admin_name:
query_params["admin_name"] = str(admin_name)
if message:
query_params["message"] = str(message)
if sort:
query_params["sort"] = str(sort)
if start:
query_params["start"] = str(start)
if end:
query_params["end"] = str(end)
if duration:
query_params["duration"] = str(duration)
if limit:
query_params["limit"] = str(limit)
if page:
query_params["page"] = str(page)
resp = mist_session.mist_get(uri=uri, query=query_params)
return resp
def countMspAuditLogs(
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/logs/count-msp-audit-logs
PARAMS
-----------
mistapi.APISession : mist_session
mistapi session including authentication and Mist host information
PATH PARAMS
-----------
msp_id : str
QUERY PARAMS
------------
distinct : str{'admin_id', 'admin_name', 'message', 'org_id'}, default: admin_name
Field used to group this count response. enum: `admin_id`, `admin_name`, `message`, `org_id`
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}/logs/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