xautomata-hive 3.20.0__py3-none-any.whl → 3.20.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
hive/api.py CHANGED
@@ -489,6 +489,7 @@ from hive.cookbook.dispatchers import Dispatchers
489
489
  from hive.cookbook.downtimes import Downtimes
490
490
  from hive.cookbook.external_tickets import ExternalTickets
491
491
  from hive.cookbook.features import Features
492
+ from hive.cookbook.files import Files
492
493
  from hive.cookbook.firmware_updates import FirmwareUpdates
493
494
  from hive.cookbook.groups import Groups
494
495
  from hive.cookbook.automata_ingest import AutomataIngest
@@ -537,7 +538,7 @@ from hive.cookbook.widget_groups import WidgetGroups
537
538
  # hive imports stop
538
539
 
539
540
 
540
- class XautomataApi(AclDocs, AclOverrides, Analytics, Anomalies, Calendars, CostTagging, CostTags, CostViews, CostTreeNodes, CostTreeResources, Contacts, Customers, Dashboards, Dispatchers, Downtimes, ExternalTickets, Features, FirmwareUpdates, Groups, AutomataIngest, MetricIngest, Microsoft, Google, Login, Jobs, Messages, Metrics, ProbesLogIngest, MetricTypes, NotificationProviders, NotificationProviderTypes, Objects, OpeningReasons, Probes, ProbeTypes, ProfileTopics, Questions, ReasonForClosure, RetentionRules, Schedules, Services, Sites, LastStatus, LastStatusV2, TermsAndConditions, TreeHierarchy, TreeHierarchyV2, TsAutomataState, TsCostAzureRaw, TsCostManagement, TsCostManagementV2, TsMetricStatus, TsMetricValue, TsNtopFlows, TsServiceStatus, TsServiceValue, Users, UsersNotifications, VirtualDomains, Widgets, Webhooks, WidgetGroups):
541
+ class XautomataApi(AclDocs, AclOverrides, Analytics, Anomalies, Calendars, CostTagging, CostTags, CostViews, CostTreeNodes, CostTreeResources, Contacts, Customers, Dashboards, Dispatchers, Downtimes, ExternalTickets, Features, Files, FirmwareUpdates, Groups, AutomataIngest, MetricIngest, Microsoft, Google, Login, Jobs, Messages, Metrics, ProbesLogIngest, MetricTypes, NotificationProviders, NotificationProviderTypes, Objects, OpeningReasons, Probes, ProbeTypes, ProfileTopics, Questions, ReasonForClosure, RetentionRules, Schedules, Services, Sites, LastStatus, LastStatusV2, TermsAndConditions, TreeHierarchy, TreeHierarchyV2, TsAutomataState, TsCostAzureRaw, TsCostManagement, TsCostManagementV2, TsMetricStatus, TsMetricValue, TsNtopFlows, TsServiceStatus, TsServiceValue, Users, UsersNotifications, VirtualDomains, Widgets, Webhooks, WidgetGroups):
541
542
  """
542
543
  Class with each specific API, based on the ApiManager Class created for a more general interaction with Xautomata API
543
544
  """
@@ -20,6 +20,7 @@ class Calendars(ApiManager):
20
20
  null_fields (string optional): additional filter - parameter
21
21
  name (string optional): additional filter - parameter
22
22
  local_public_holidays (boolean optional): additional filter - parameter
23
+ timezone (string optional): additional filter - parameter
23
24
  mon_int1_start (string optional): additional filter - parameter
24
25
  mon_int1_end (string optional): additional filter - parameter
25
26
  mon_int2_start (string optional): additional filter - parameter
@@ -58,35 +59,35 @@ class Calendars(ApiManager):
58
59
  if kwargs is None:
59
60
  kwargs = dict()
60
61
  official_params_list = ['sort_by', 'null_fields', 'name',
61
- 'local_public_holidays', 'mon_int1_start', 'mon_int1_end',
62
- 'mon_int2_start', 'mon_int2_end', 'tue_int1_start',
63
- 'tue_int1_end', 'tue_int2_start', 'tue_int2_end',
64
- 'wed_int1_start', 'wed_int1_end', 'wed_int2_start',
65
- 'wed_int2_end', 'thu_int1_start', 'thu_int1_end',
66
- 'thu_int2_start', 'thu_int2_end', 'fri_int1_start',
67
- 'fri_int1_end', 'fri_int2_start', 'fri_int2_end',
68
- 'sat_int1_start', 'sat_int1_end', 'sat_int2_start',
69
- 'sat_int2_end', 'sun_int1_start', 'sun_int1_end',
70
- 'sun_int2_start', 'sun_int2_end', 'skip', 'limit', 'like',
71
- 'join', 'count']
62
+ 'local_public_holidays', 'timezone', 'mon_int1_start',
63
+ 'mon_int1_end', 'mon_int2_start', 'mon_int2_end',
64
+ 'tue_int1_start', 'tue_int1_end', 'tue_int2_start',
65
+ 'tue_int2_end', 'wed_int1_start', 'wed_int1_end',
66
+ 'wed_int2_start', 'wed_int2_end', 'thu_int1_start',
67
+ 'thu_int1_end', 'thu_int2_start', 'thu_int2_end',
68
+ 'fri_int1_start', 'fri_int1_end', 'fri_int2_start',
69
+ 'fri_int2_end', 'sat_int1_start', 'sat_int1_end',
70
+ 'sat_int2_start', 'sat_int2_end', 'sun_int1_start',
71
+ 'sun_int1_end', 'sun_int2_start', 'sun_int2_end', 'skip',
72
+ 'limit', 'like', 'join', 'count']
72
73
  params.get('sort_by'), params.get('null_fields'), params.get('name'
73
- ), params.get('local_public_holidays'), params.get('mon_int1_start'
74
- ), params.get('mon_int1_end'), params.get('mon_int2_start'
75
- ), params.get('mon_int2_end'), params.get('tue_int1_start'
76
- ), params.get('tue_int1_end'), params.get('tue_int2_start'
77
- ), params.get('tue_int2_end'), params.get('wed_int1_start'
78
- ), params.get('wed_int1_end'), params.get('wed_int2_start'
79
- ), params.get('wed_int2_end'), params.get('thu_int1_start'
80
- ), params.get('thu_int1_end'), params.get('thu_int2_start'
81
- ), params.get('thu_int2_end'), params.get('fri_int1_start'
82
- ), params.get('fri_int1_end'), params.get('fri_int2_start'
83
- ), params.get('fri_int2_end'), params.get('sat_int1_start'
84
- ), params.get('sat_int1_end'), params.get('sat_int2_start'
85
- ), params.get('sat_int2_end'), params.get('sun_int1_start'
86
- ), params.get('sun_int1_end'), params.get('sun_int2_start'
87
- ), params.get('sun_int2_end'), params.get('skip'), params.get(
88
- 'limit'), params.get('like'), params.get('join'), params.get(
89
- 'count')
74
+ ), params.get('local_public_holidays'), params.get('timezone'
75
+ ), params.get('mon_int1_start'), params.get('mon_int1_end'
76
+ ), params.get('mon_int2_start'), params.get('mon_int2_end'
77
+ ), params.get('tue_int1_start'), params.get('tue_int1_end'
78
+ ), params.get('tue_int2_start'), params.get('tue_int2_end'
79
+ ), params.get('wed_int1_start'), params.get('wed_int1_end'
80
+ ), params.get('wed_int2_start'), params.get('wed_int2_end'
81
+ ), params.get('thu_int1_start'), params.get('thu_int1_end'
82
+ ), params.get('thu_int2_start'), params.get('thu_int2_end'
83
+ ), params.get('fri_int1_start'), params.get('fri_int1_end'
84
+ ), params.get('fri_int2_start'), params.get('fri_int2_end'
85
+ ), params.get('sat_int1_start'), params.get('sat_int1_end'
86
+ ), params.get('sat_int2_start'), params.get('sat_int2_end'
87
+ ), params.get('sun_int1_start'), params.get('sun_int1_end'
88
+ ), params.get('sun_int2_start'), params.get('sun_int2_end'
89
+ ), params.get('skip'), params.get('limit'), params.get('like'
90
+ ), params.get('join'), params.get('count')
90
91
  if not self._silence_warning:
91
92
  warning_wrong_parameters(self.calendars.__name__, params,
92
93
  official_params_list)
@@ -104,6 +105,7 @@ class Calendars(ApiManager):
104
105
 
105
106
  Keyword Args:
106
107
  name (string required): additional filter - payload
108
+ timezone (string required): additional filter - payload
107
109
  local_public_holidays (boolean required): additional filter - payload
108
110
  mon_int1_start (string optional): additional filter - payload
109
111
  mon_int1_end (string optional): additional filter - payload
@@ -137,31 +139,33 @@ class Calendars(ApiManager):
137
139
  Returns: list"""
138
140
  if kwargs is None:
139
141
  kwargs = dict()
140
- official_payload_list = ['name', 'local_public_holidays',
141
- 'mon_int1_start', 'mon_int1_end', 'mon_int2_start',
142
- 'mon_int2_end', 'tue_int1_start', 'tue_int1_end',
143
- 'tue_int2_start', 'tue_int2_end', 'wed_int1_start',
144
- 'wed_int1_end', 'wed_int2_start', 'wed_int2_end',
145
- 'thu_int1_start', 'thu_int1_end', 'thu_int2_start',
146
- 'thu_int2_end', 'fri_int1_start', 'fri_int1_end',
147
- 'fri_int2_start', 'fri_int2_end', 'sat_int1_start',
148
- 'sat_int1_end', 'sat_int2_start', 'sat_int2_end',
149
- 'sun_int1_start', 'sun_int1_end', 'sun_int2_start', 'sun_int2_end']
150
- payload.get('name'), payload.get('local_public_holidays'), payload.get(
151
- 'mon_int1_start'), payload.get('mon_int1_end'), payload.get(
152
- 'mon_int2_start'), payload.get('mon_int2_end'), payload.get(
153
- 'tue_int1_start'), payload.get('tue_int1_end'), payload.get(
154
- 'tue_int2_start'), payload.get('tue_int2_end'), payload.get(
155
- 'wed_int1_start'), payload.get('wed_int1_end'), payload.get(
156
- 'wed_int2_start'), payload.get('wed_int2_end'), payload.get(
157
- 'thu_int1_start'), payload.get('thu_int1_end'), payload.get(
158
- 'thu_int2_start'), payload.get('thu_int2_end'), payload.get(
159
- 'fri_int1_start'), payload.get('fri_int1_end'), payload.get(
160
- 'fri_int2_start'), payload.get('fri_int2_end'), payload.get(
161
- 'sat_int1_start'), payload.get('sat_int1_end'), payload.get(
162
- 'sat_int2_start'), payload.get('sat_int2_end'), payload.get(
163
- 'sun_int1_start'), payload.get('sun_int1_end'), payload.get(
164
- 'sun_int2_start'), payload.get('sun_int2_end')
142
+ official_payload_list = ['name', 'timezone',
143
+ 'local_public_holidays', 'mon_int1_start', 'mon_int1_end',
144
+ 'mon_int2_start', 'mon_int2_end', 'tue_int1_start',
145
+ 'tue_int1_end', 'tue_int2_start', 'tue_int2_end',
146
+ 'wed_int1_start', 'wed_int1_end', 'wed_int2_start',
147
+ 'wed_int2_end', 'thu_int1_start', 'thu_int1_end',
148
+ 'thu_int2_start', 'thu_int2_end', 'fri_int1_start',
149
+ 'fri_int1_end', 'fri_int2_start', 'fri_int2_end',
150
+ 'sat_int1_start', 'sat_int1_end', 'sat_int2_start',
151
+ 'sat_int2_end', 'sun_int1_start', 'sun_int1_end',
152
+ 'sun_int2_start', 'sun_int2_end']
153
+ payload.get('name'), payload.get('timezone'), payload.get(
154
+ 'local_public_holidays'), payload.get('mon_int1_start'
155
+ ), payload.get('mon_int1_end'), payload.get('mon_int2_start'
156
+ ), payload.get('mon_int2_end'), payload.get('tue_int1_start'
157
+ ), payload.get('tue_int1_end'), payload.get('tue_int2_start'
158
+ ), payload.get('tue_int2_end'), payload.get('wed_int1_start'
159
+ ), payload.get('wed_int1_end'), payload.get('wed_int2_start'
160
+ ), payload.get('wed_int2_end'), payload.get('thu_int1_start'
161
+ ), payload.get('thu_int1_end'), payload.get('thu_int2_start'
162
+ ), payload.get('thu_int2_end'), payload.get('fri_int1_start'
163
+ ), payload.get('fri_int1_end'), payload.get('fri_int2_start'
164
+ ), payload.get('fri_int2_end'), payload.get('sat_int1_start'
165
+ ), payload.get('sat_int1_end'), payload.get('sat_int2_start'
166
+ ), payload.get('sat_int2_end'), payload.get('sun_int1_start'
167
+ ), payload.get('sun_int1_end'), payload.get('sun_int2_start'
168
+ ), payload.get('sun_int2_end')
165
169
  if not self._silence_warning:
166
170
  warning_wrong_parameters(self.calendars_create.__name__,
167
171
  payload, official_payload_list)
@@ -195,6 +199,7 @@ class Calendars(ApiManager):
195
199
 
196
200
  Keyword Args:
197
201
  name (string optional): additional filter - payload
202
+ timezone (string optional): additional filter - payload
198
203
  local_public_holidays (boolean optional): additional filter - payload
199
204
  mon_int1_start (string optional): additional filter - payload
200
205
  mon_int1_end (string optional): additional filter - payload
@@ -228,31 +233,33 @@ class Calendars(ApiManager):
228
233
  Returns: list"""
229
234
  if kwargs is None:
230
235
  kwargs = dict()
231
- official_payload_list = ['name', 'local_public_holidays',
232
- 'mon_int1_start', 'mon_int1_end', 'mon_int2_start',
233
- 'mon_int2_end', 'tue_int1_start', 'tue_int1_end',
234
- 'tue_int2_start', 'tue_int2_end', 'wed_int1_start',
235
- 'wed_int1_end', 'wed_int2_start', 'wed_int2_end',
236
- 'thu_int1_start', 'thu_int1_end', 'thu_int2_start',
237
- 'thu_int2_end', 'fri_int1_start', 'fri_int1_end',
238
- 'fri_int2_start', 'fri_int2_end', 'sat_int1_start',
239
- 'sat_int1_end', 'sat_int2_start', 'sat_int2_end',
240
- 'sun_int1_start', 'sun_int1_end', 'sun_int2_start', 'sun_int2_end']
241
- payload.get('name'), payload.get('local_public_holidays'), payload.get(
242
- 'mon_int1_start'), payload.get('mon_int1_end'), payload.get(
243
- 'mon_int2_start'), payload.get('mon_int2_end'), payload.get(
244
- 'tue_int1_start'), payload.get('tue_int1_end'), payload.get(
245
- 'tue_int2_start'), payload.get('tue_int2_end'), payload.get(
246
- 'wed_int1_start'), payload.get('wed_int1_end'), payload.get(
247
- 'wed_int2_start'), payload.get('wed_int2_end'), payload.get(
248
- 'thu_int1_start'), payload.get('thu_int1_end'), payload.get(
249
- 'thu_int2_start'), payload.get('thu_int2_end'), payload.get(
250
- 'fri_int1_start'), payload.get('fri_int1_end'), payload.get(
251
- 'fri_int2_start'), payload.get('fri_int2_end'), payload.get(
252
- 'sat_int1_start'), payload.get('sat_int1_end'), payload.get(
253
- 'sat_int2_start'), payload.get('sat_int2_end'), payload.get(
254
- 'sun_int1_start'), payload.get('sun_int1_end'), payload.get(
255
- 'sun_int2_start'), payload.get('sun_int2_end')
236
+ official_payload_list = ['name', 'timezone',
237
+ 'local_public_holidays', 'mon_int1_start', 'mon_int1_end',
238
+ 'mon_int2_start', 'mon_int2_end', 'tue_int1_start',
239
+ 'tue_int1_end', 'tue_int2_start', 'tue_int2_end',
240
+ 'wed_int1_start', 'wed_int1_end', 'wed_int2_start',
241
+ 'wed_int2_end', 'thu_int1_start', 'thu_int1_end',
242
+ 'thu_int2_start', 'thu_int2_end', 'fri_int1_start',
243
+ 'fri_int1_end', 'fri_int2_start', 'fri_int2_end',
244
+ 'sat_int1_start', 'sat_int1_end', 'sat_int2_start',
245
+ 'sat_int2_end', 'sun_int1_start', 'sun_int1_end',
246
+ 'sun_int2_start', 'sun_int2_end']
247
+ payload.get('name'), payload.get('timezone'), payload.get(
248
+ 'local_public_holidays'), payload.get('mon_int1_start'
249
+ ), payload.get('mon_int1_end'), payload.get('mon_int2_start'
250
+ ), payload.get('mon_int2_end'), payload.get('tue_int1_start'
251
+ ), payload.get('tue_int1_end'), payload.get('tue_int2_start'
252
+ ), payload.get('tue_int2_end'), payload.get('wed_int1_start'
253
+ ), payload.get('wed_int1_end'), payload.get('wed_int2_start'
254
+ ), payload.get('wed_int2_end'), payload.get('thu_int1_start'
255
+ ), payload.get('thu_int1_end'), payload.get('thu_int2_start'
256
+ ), payload.get('thu_int2_end'), payload.get('fri_int1_start'
257
+ ), payload.get('fri_int1_end'), payload.get('fri_int2_start'
258
+ ), payload.get('fri_int2_end'), payload.get('sat_int1_start'
259
+ ), payload.get('sat_int1_end'), payload.get('sat_int2_start'
260
+ ), payload.get('sat_int2_end'), payload.get('sun_int1_start'
261
+ ), payload.get('sun_int1_end'), payload.get('sun_int2_start'
262
+ ), payload.get('sun_int2_end')
256
263
  if not self._silence_warning:
257
264
  warning_wrong_parameters(self.calendars_put.__name__, payload,
258
265
  official_payload_list)
@@ -328,6 +335,7 @@ class Calendars(ApiManager):
328
335
  [
329
336
  {
330
337
  "name": "string", required
338
+ "timezone": "string", required
331
339
  "local_public_holidays": "boolean", required
332
340
  "mon_int1_start": "string", optional
333
341
  "mon_int1_end": "string", optional
hive/cookbook/files.py ADDED
@@ -0,0 +1,87 @@
1
+ from hive.api import ApiManager, handling_single_page_methods, warning_wrong_parameters
2
+
3
+
4
+ class Files(ApiManager):
5
+ """Class that handles all the XAutomata files APIs"""
6
+
7
+ def files(self, warm_start: bool = False, single_page: bool = False,
8
+ page_size: int = 5000, kwargs: dict = None, **params) -> list:
9
+ """List User Files
10
+
11
+ Args:
12
+ warm_start (bool, optional): salva la risposta in un file e se viene richiamata la stessa funzione con gli stessi argomenti restituisce il contenuto del file. Default to False.
13
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
14
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
15
+ kwargs (dict, optional): additional parameters for execute. Default to None.
16
+ **params: additional parameters for the API.
17
+
18
+ Keyword Args:
19
+ name (string optional): additional filter - parameter
20
+ username (string optional): additional filter - parameter
21
+ uuid_service (string optional): additional filter - parameter
22
+ type (string optional): additional filter - parameter
23
+ start_ts (string optional): additional filter - parameter
24
+ end_ts (string optional): additional filter - parameter
25
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
26
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
27
+ like (boolean optional): Se True, eventuali filtri richiesti dalla API vengono presi come porzioni di testo, se False il matching sul campo dei filtri deve essere esatto. Default to True. - parameter
28
+ join (boolean optional): Se join = true, ogni riga restituita conterra' chiavi aggiuntive che fanno riferimento ad altre entita', con cui la riga ha relazioni 1:1. Default to False - parameter
29
+ count (boolean optional): Se True nel header della risposta e' presente la dimensione massima a db della chiamata fatta, sconsigliabile perche raddoppia il tempo per chiamata. Default to False. - parameter
30
+
31
+ Returns: list"""
32
+ if kwargs is None:
33
+ kwargs = dict()
34
+ official_params_list = ['name', 'username', 'uuid_service', 'type',
35
+ 'start_ts', 'end_ts', 'skip', 'limit', 'like', 'join', 'count']
36
+ params.get('name'), params.get('username'), params.get('uuid_service'
37
+ ), params.get('type'), params.get('start_ts'), params.get('end_ts'
38
+ ), params.get('skip'), params.get('limit'), params.get('like'
39
+ ), params.get('join'), params.get('count')
40
+ if not self._silence_warning:
41
+ warning_wrong_parameters(self.files.__name__, params,
42
+ official_params_list)
43
+ response = self.execute('GET', path=f'/files/', single_page=
44
+ single_page, page_size=page_size, warm_start=warm_start, params
45
+ =params, **kwargs)
46
+ return response
47
+
48
+ def files_create(self, params: dict = False, kwargs: dict = None, **payload
49
+ ) -> list:
50
+ """Post User File
51
+
52
+ Args:
53
+ params (dict, optional): additional parameters for the API.
54
+ kwargs (dict, optional): additional parameters for execute. Default to None.
55
+ **payload: additional parameters for the API.
56
+
57
+ Keyword Args:
58
+ uuid_service (string optional): additional filter - parameter
59
+ file (string required): additional filter - payload
60
+
61
+ Returns: list"""
62
+ if kwargs is None:
63
+ kwargs = dict()
64
+ official_payload_list = ['file']
65
+ payload.get('file')
66
+ if not self._silence_warning:
67
+ warning_wrong_parameters(self.files_create.__name__, payload,
68
+ official_payload_list)
69
+ response = self.execute('POST', path=f'/files/', params=params,
70
+ payload=payload, **kwargs)
71
+ return response
72
+
73
+ def files_download(self, uuid: str, warm_start: bool = False,
74
+ kwargs: dict = None) -> list:
75
+ """Download User File
76
+
77
+ Args:
78
+ uuid (str, required): uuid
79
+ warm_start (bool, optional): salva la risposta in un file e se viene richiamata la stessa funzione con gli stessi argomenti restituisce il contenuto del file. Default to False.
80
+ kwargs (dict, optional): additional parameters for execute. Default to None.
81
+
82
+ Returns: list"""
83
+ if kwargs is None:
84
+ kwargs = dict()
85
+ response = self.execute('GET', path=f'/files/{uuid}/download',
86
+ warm_start=warm_start, **kwargs)
87
+ return response
hive/cookbook/objects.py CHANGED
@@ -83,6 +83,52 @@ class Objects(ApiManager):
83
83
  **kwargs)
84
84
  return response
85
85
 
86
+ def objects_v2(self, warm_start: bool = False,
87
+ single_page: bool = False, page_size: int = 5000,
88
+ kwargs: dict = None, **params) -> list:
89
+ """Read Objects V2
90
+
91
+ Args:
92
+ warm_start (bool, optional): salva la risposta in un file e se viene richiamata la stessa funzione con gli stessi argomenti restituisce il contenuto del file. Default to False.
93
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
94
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
95
+ kwargs (dict, optional): additional parameters for execute. Default to None.
96
+ **params: additional parameters for the API.
97
+
98
+ Keyword Args:
99
+ sort_by (string optional): Stringa separata da virgole di campi su cui ordinare. Si indica uno o piu campi della risposta e si puo chiedere di ottenere i valori di quei campi in ordine ascendente o discendente. Esempio "Customer:Desc". Default to "". - parameter
100
+ null_fields (string optional): additional filter - parameter
101
+ name (string optional): additional filter - parameter
102
+ description (string optional): additional filter - parameter
103
+ feedback_for_operator (string optional): additional filter - parameter
104
+ profile (string optional): additional filter - parameter
105
+ status (string optional): additional filter - parameter
106
+ extract_severity (boolean optional): Se True nella risposta e' anche presente la severita, Default to False. - parameter
107
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
108
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
109
+ like (boolean optional): Se True, eventuali filtri richiesti dalla API vengono presi come porzioni di testo, se False il matching sul campo dei filtri deve essere esatto. Default to True. - parameter
110
+ join (boolean optional): Se join = true, ogni riga restituita conterra' chiavi aggiuntive che fanno riferimento ad altre entita', con cui la riga ha relazioni 1:1. Default to False - parameter
111
+ count (boolean optional): Se True nel header della risposta e' presente la dimensione massima a db della chiamata fatta, sconsigliabile perche raddoppia il tempo per chiamata. Default to False. - parameter
112
+
113
+ Returns: list"""
114
+ if kwargs is None:
115
+ kwargs = dict()
116
+ official_params_list = ['sort_by', 'null_fields', 'name',
117
+ 'description', 'feedback_for_operator', 'profile', 'status',
118
+ 'extract_severity', 'skip', 'limit', 'like', 'join', 'count']
119
+ params.get('sort_by'), params.get('null_fields'), params.get('name'
120
+ ), params.get('description'), params.get('feedback_for_operator'
121
+ ), params.get('profile'), params.get('status'), params.get(
122
+ 'extract_severity'), params.get('skip'), params.get('limit'
123
+ ), params.get('like'), params.get('join'), params.get('count')
124
+ if not self._silence_warning:
125
+ warning_wrong_parameters(self.objects_v2.__name__, params,
126
+ official_params_list)
127
+ response = self.execute('GET', path=f'/objects/v2/', single_page=
128
+ single_page, page_size=page_size, warm_start=warm_start, params
129
+ =params, **kwargs)
130
+ return response
131
+
86
132
  def object(self, uuid: str, warm_start: bool = False, kwargs: dict = None
87
133
  ) -> list:
88
134
  """Read Object
@@ -582,7 +628,7 @@ class Objects(ApiManager):
582
628
 
583
629
  def objects_create_bulk(self, payload: list, single_page: bool = False,
584
630
  page_size: int = 50, kwargs: dict = None, **params) -> list:
585
- """Bulk Create Objects
631
+ """Bulk Create Objects With Relationship
586
632
 
587
633
  Args:
588
634
  payload (list[dict], optional): List dict to create.
@@ -606,6 +652,7 @@ class Objects(ApiManager):
606
652
  "data_profile": "array object", optional
607
653
  "automata_domain": "array object", optional
608
654
  "status": "string", required
655
+ "uuid_groups": "array", optional
609
656
  }
610
657
  ]
611
658
 
@@ -714,7 +761,7 @@ class Objects(ApiManager):
714
761
  def objects_downtimes_bulk(self, payload: list,
715
762
  warm_start: bool = False, single_page: bool = False,
716
763
  page_size: int = 50, kwargs: dict = None, **params) -> list:
717
- """Bulk Read Objects Downtimes
764
+ """Bulk Read Downtimes
718
765
 
719
766
  Args:
720
767
  payload (list[dict], optional): List dict to create.
@@ -725,10 +772,16 @@ class Objects(ApiManager):
725
772
  **params: additional parameters for the API.
726
773
 
727
774
  Keyword Args:
775
+ code (string optional): additional filter - parameter
776
+ status (string optional): additional filter - parameter
728
777
  active_at_timestamp (string optional): additional filter - parameter
729
778
  active_after_timestamp (string optional): additional filter - parameter
730
779
  active_at_or_after_timestamp (string optional): additional filter - parameter
780
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
781
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
782
+ like (boolean optional): Se True, eventuali filtri richiesti dalla API vengono presi come porzioni di testo, se False il matching sul campo dei filtri deve essere esatto. Default to True. - parameter
731
783
  join (boolean optional): Se join = true, ogni riga restituita conterra' chiavi aggiuntive che fanno riferimento ad altre entita', con cui la riga ha relazioni 1:1. Default to False - parameter
784
+ count (boolean optional): Se True nel header della risposta e' presente la dimensione massima a db della chiamata fatta, sconsigliabile perche raddoppia il tempo per chiamata. Default to False. - parameter
732
785
 
733
786
  Examples:
734
787
  payload =
@@ -739,10 +792,14 @@ class Objects(ApiManager):
739
792
  Returns: list"""
740
793
  if kwargs is None:
741
794
  kwargs = dict()
742
- official_params_list = ['active_at_timestamp',
743
- 'active_after_timestamp', 'active_at_or_after_timestamp', 'join']
744
- params.get('active_at_timestamp'), params.get('active_after_timestamp'
745
- ), params.get('active_at_or_after_timestamp'), params.get('join')
795
+ official_params_list = ['code', 'status', 'active_at_timestamp',
796
+ 'active_after_timestamp', 'active_at_or_after_timestamp',
797
+ 'skip', 'limit', 'like', 'join', 'count']
798
+ params.get('code'), params.get('status'), params.get(
799
+ 'active_at_timestamp'), params.get('active_after_timestamp'
800
+ ), params.get('active_at_or_after_timestamp'), params.get('skip'
801
+ ), params.get('limit'), params.get('like'), params.get('join'
802
+ ), params.get('count')
746
803
  if not self._silence_warning:
747
804
  warning_wrong_parameters(self.objects_downtimes_bulk.__name__,
748
805
  params, official_params_list)
hive/cookbook/probes.py CHANGED
@@ -168,6 +168,34 @@ class Probes(ApiManager):
168
168
  response = self.execute('DELETE', path=f'/probes/{uuid}', **kwargs)
169
169
  return response
170
170
 
171
+ def probes_v2(self, uuid: str, warm_start: bool = False,
172
+ kwargs: dict = None, **params) -> list:
173
+ """Read Probe V2
174
+
175
+ Args:
176
+ uuid (str, required): uuid
177
+ warm_start (bool, optional): salva la risposta in un file e se viene richiamata la stessa funzione con gli stessi argomenti restituisce il contenuto del file. Default to False.
178
+ kwargs (dict, optional): additional parameters for execute. Default to None.
179
+ **params: additional parameters for the API.
180
+
181
+ Keyword Args:
182
+ join (boolean optional): Se join = true, ogni riga restituita conterra' chiavi aggiuntive che fanno riferimento ad altre entita', con cui la riga ha relazioni 1:1. Default to False - parameter
183
+ extract_severity (boolean optional): Se True nella risposta e' anche presente la severita, Default to False. - parameter
184
+
185
+ Returns: list"""
186
+ if kwargs is None:
187
+ kwargs = dict()
188
+ kwargs, params = handling_single_page_methods(kwargs=kwargs, params
189
+ =params)
190
+ official_params_list = ['join', 'extract_severity']
191
+ params.get('join'), params.get('extract_severity')
192
+ if not self._silence_warning:
193
+ warning_wrong_parameters(self.probes_v2.__name__, params,
194
+ official_params_list)
195
+ response = self.execute('GET', path=f'/probes/{uuid}/v2/',
196
+ warm_start=warm_start, params=params, **kwargs)
197
+ return response
198
+
171
199
  def probes_agent_put(self, uuid: str, kwargs: dict = None, **payload
172
200
  ) -> list:
173
201
  """Agent Update Probe
hive/cookbook/sites.py CHANGED
@@ -102,6 +102,63 @@ class Sites(ApiManager):
102
102
  payload=payload, **kwargs)
103
103
  return response
104
104
 
105
+ def sites_v2(self, warm_start: bool = False, single_page: bool = False,
106
+ page_size: int = 5000, kwargs: dict = None, **params) -> list:
107
+ """Read Sites V2
108
+
109
+ Args:
110
+ warm_start (bool, optional): salva la risposta in un file e se viene richiamata la stessa funzione con gli stessi argomenti restituisce il contenuto del file. Default to False.
111
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
112
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
113
+ kwargs (dict, optional): additional parameters for execute. Default to None.
114
+ **params: additional parameters for the API.
115
+
116
+ Keyword Args:
117
+ sort_by (string optional): Stringa separata da virgole di campi su cui ordinare. Si indica uno o piu campi della risposta e si puo chiedere di ottenere i valori di quei campi in ordine ascendente o discendente. Esempio "Customer:Desc". Default to "". - parameter
118
+ null_fields (string optional): additional filter - parameter
119
+ uuid_customer (string optional): additional filter - parameter
120
+ type (string optional): additional filter - parameter
121
+ code (string optional): additional filter - parameter
122
+ description (string optional): additional filter - parameter
123
+ address (string optional): additional filter - parameter
124
+ zip_code (string optional): additional filter - parameter
125
+ city (string optional): additional filter - parameter
126
+ country (string optional): additional filter - parameter
127
+ notes (string optional): additional filter - parameter
128
+ state_province (string optional): additional filter - parameter
129
+ status (string optional): additional filter - parameter
130
+ filter_group_types (string optional): additional filter - parameter
131
+ extract_severity (boolean optional): Se True nella risposta e' anche presente la severita, Default to False. - parameter
132
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
133
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
134
+ like (boolean optional): Se True, eventuali filtri richiesti dalla API vengono presi come porzioni di testo, se False il matching sul campo dei filtri deve essere esatto. Default to True. - parameter
135
+ join (boolean optional): Se join = true, ogni riga restituita conterra' chiavi aggiuntive che fanno riferimento ad altre entita', con cui la riga ha relazioni 1:1. Default to False - parameter
136
+ count (boolean optional): Se True nel header della risposta e' presente la dimensione massima a db della chiamata fatta, sconsigliabile perche raddoppia il tempo per chiamata. Default to False. - parameter
137
+
138
+ Returns: list"""
139
+ if kwargs is None:
140
+ kwargs = dict()
141
+ official_params_list = ['sort_by', 'null_fields', 'uuid_customer',
142
+ 'type', 'code', 'description', 'address', 'zip_code', 'city',
143
+ 'country', 'notes', 'state_province', 'status',
144
+ 'filter_group_types', 'extract_severity', 'skip', 'limit',
145
+ 'like', 'join', 'count']
146
+ params.get('sort_by'), params.get('null_fields'), params.get(
147
+ 'uuid_customer'), params.get('type'), params.get('code'
148
+ ), params.get('description'), params.get('address'), params.get(
149
+ 'zip_code'), params.get('city'), params.get('country'), params.get(
150
+ 'notes'), params.get('state_province'), params.get('status'
151
+ ), params.get('filter_group_types'), params.get('extract_severity'
152
+ ), params.get('skip'), params.get('limit'), params.get('like'
153
+ ), params.get('join'), params.get('count')
154
+ if not self._silence_warning:
155
+ warning_wrong_parameters(self.sites_v2.__name__, params,
156
+ official_params_list)
157
+ response = self.execute('GET', path=f'/sites/v2/', single_page=
158
+ single_page, page_size=page_size, warm_start=warm_start, params
159
+ =params, **kwargs)
160
+ return response
161
+
105
162
  def site(self, uuid: str, warm_start: bool = False, kwargs: dict = None,
106
163
  **params) -> list:
107
164
  """Read Site
hive/version.py CHANGED
@@ -1 +1 @@
1
- version = '3.20.0'
1
+ version = '3.20.1'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xautomata-hive
3
- Version: 3.20.0
3
+ Version: 3.20.1
4
4
  Home-page: https://github.com/sherlogic/xautomata-hive.git
5
5
  Author: Enrico Ferro - Andrea Jacassi
6
6
  Author-email:
@@ -8,9 +8,9 @@ License: MIT
8
8
  Requires-Python: >=3.8.0
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
+ Requires-Dist: requests==2.31.0
11
12
  Requires-Dist: tqdm==4.64.1
12
13
  Requires-Dist: urllib3==2.0.4
13
- Requires-Dist: requests==2.31.0
14
14
 
15
15
  # Xautomata API
16
16
  Pacchetto che fornisca una interfaccia semplice per usare le API di Xautomata in python
@@ -1,17 +1,17 @@
1
1
  hive/__init__.py,sha256=UjH5QfSfRGu2FR5_StfVbEtL_fuGS2Z_iZXmf1nx4AE,68
2
- hive/api.py,sha256=qaNeppcFfoeGw84EaZ_mHorotCr_N24lNBK9b_b5itg,41508
2
+ hive/api.py,sha256=ioduCBzWxsoX5GWksArlPy5Ex5mg0_pJ5TY9JVa-n-I,41553
3
3
  hive/decorators.py,sha256=Lb2mYj7UpFaCzJXGKyLj3SmTK74zKMZgnC7Ys2j1D7g,9975
4
4
  hive/exceptions.py,sha256=kTJSPMViU2ZhF_ENbL_i-skU3YEv_ViJH2PpUQ6ums8,136
5
5
  hive/infrastrucure_keys.py,sha256=UzgXex6tQsglowhKeb45e7vw4u7kh2wM0YscQPorodU,4095
6
6
  hive/tools.py,sha256=Oi_d6wphtAS4f1wOhFzdXZj8Au1nwZ-UrRvIJDBQLMo,1371
7
- hive/version.py,sha256=c4SnJAZAThLp38gO2Id393cDF-PA7wgOd4dDdv7EDds,18
7
+ hive/version.py,sha256=XDQ-i6B48lB46NAx0EwQJ9cXIsrcU4NzOxRdRB3ftMs,18
8
8
  hive/cookbook/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  hive/cookbook/acl_docs.py,sha256=0xr7Vb9121vhsiZjQaKvuAt4gKlXOO4aUJM472HeARw,786
10
10
  hive/cookbook/acl_overrides.py,sha256=l3xyJmGeQysP1M2Sa6kVhDn8n6ttCKUzJ0jTcPjyo78,9690
11
11
  hive/cookbook/analytics.py,sha256=1OMwo0vUuOAtT8WNz6HY6NJ-JTLpru4vTlYtdiczDrg,3531
12
12
  hive/cookbook/anomalies.py,sha256=VnuIWGH0om2XuFiz9jlFjQWWWcIdbr3fmUECfiqvM0A,11208
13
13
  hive/cookbook/automata_ingest.py,sha256=LFwpT8NXJActB2iDShm2G8iwim72MEZBs2GA1OlvOzg,1954
14
- hive/cookbook/calendars.py,sha256=hLjerNUJETT6xOa6-zhRFR2GTzUxruQCABcM-mJKACs,22663
14
+ hive/cookbook/calendars.py,sha256=1D1KpAACZbb96vaGqmC5MvvB7Juh908DI-_7BKE7Gkk,23072
15
15
  hive/cookbook/contacts.py,sha256=vhkBjaxFoQA5P-GSGLsgtcvo3rbAPfHOCiB87tXtQsM,39183
16
16
  hive/cookbook/cost_tagging.py,sha256=wwLgo3YaDI4Xm7QcQVlf4kXxz8kPP7J7Qh4ddzuaDro,7779
17
17
  hive/cookbook/cost_tags.py,sha256=Dyf9HNXQstzSGbb7AWC1_D5i4hmFhM7jGQvrYSHZkVo,10038
@@ -24,6 +24,7 @@ hive/cookbook/dispatchers.py,sha256=Mk-u6xhBYdvU_av9ac9a1yejLiukUB30Ey9mIme-V5w,
24
24
  hive/cookbook/downtimes.py,sha256=NHA_W64tJk1YO9GmshyNstROzPHYJHAAwZnIFfjZh_I,48511
25
25
  hive/cookbook/external_tickets.py,sha256=Lv30Mu6Hu4L8zWdduR_2OUCC_QTy8rvdWv-9gmWCljo,29510
26
26
  hive/cookbook/features.py,sha256=XkIkZb1_-ybEnJ6Dx9WdVkvtLt8Ys8AitL9aNNy7o_s,1306
27
+ hive/cookbook/files.py,sha256=xPQcEsThYGVu2CSEm_GK0yjbzOeJSyV2fNFOh9-xKoo,4759
27
28
  hive/cookbook/firmware_updates.py,sha256=2N4dwLWWOq6it0f3SbLYixzAkATZ0O9v5lX-6gQwMZE,5996
28
29
  hive/cookbook/google.py,sha256=fxequ6Vsd7kzWyP2VV2xs8JmLUJCiw_8P7gsuYZDoM0,1430
29
30
  hive/cookbook/groups.py,sha256=VEN3qd7sEaHo8eSjRLcDlUGhlFe0T7okltNPKHsDD3U,47920
@@ -38,10 +39,10 @@ hive/cookbook/metrics.py,sha256=udwEawb0sxJij_tOtXd-h_y_DFzBz7ncNj5YVLxmv2Y,4199
38
39
  hive/cookbook/microsoft.py,sha256=X8Q9FGw7WbnsMyTdWUuB8R5cAk-AJ8AZVLDpC0vGrt4,1453
39
40
  hive/cookbook/notification_provider_types.py,sha256=tpSeAoluy6QQSnR4JtJQfH3O_qwcSE-lF04dWFle9yo,13463
40
41
  hive/cookbook/notification_providers.py,sha256=6dKi_wDv99HzIybTi6isLjnNNKGNpb4rnhiJzhRRYH8,11095
41
- hive/cookbook/objects.py,sha256=2ttQOQ4kbva_rCBSKjS7VPLWax7e2KlG6Cc3Bc-mhXw,44817
42
+ hive/cookbook/objects.py,sha256=mOB5Z_xle7psFlySuw2HfjJNTkRDFIUs7ARbYHOPR4s,49445
42
43
  hive/cookbook/opening_reasons.py,sha256=fwq0E51Qs-hnyUMY242GYf8Vr5YtcJZy2SZtjZVXTE8,11928
43
44
  hive/cookbook/probe_types.py,sha256=isKPKbMr19_DVtI_0Erk4i3g6Hh_yWxOo6RbTCOkCxw,12992
44
- hive/cookbook/probes.py,sha256=aN-3iinyo0fNYnk13GN2P9ShyW-YQUgjjJTygvZaKZ4,23645
45
+ hive/cookbook/probes.py,sha256=PuiD6ZGMHHYBzbDQNo9J48NENQo4PLFE7PgEA4Iy7U0,25124
45
46
  hive/cookbook/probes_log_ingest.py,sha256=0D5szbqHOujPbGQ_nyZZZpob4damvWjo1FSw9iDf0fM,1661
46
47
  hive/cookbook/profile_topics.py,sha256=Wp209fmSsrEZ3jnn6AYHjX7jJ12zfFDV-T9liGUHuXI,10253
47
48
  hive/cookbook/questions.py,sha256=1qDMeAMsowO1izD1PZJXZWU4gBOofnj8xUm9nP24SL0,6862
@@ -49,7 +50,7 @@ hive/cookbook/reason_for_closure.py,sha256=PqDleTYc6RJmhPrJ7q-A9RgCc6GEC05x_hU9R
49
50
  hive/cookbook/retention_rules.py,sha256=brW64MqYrl4XNYN7ZxojVDWXpdBV4fRpR7a2A1ya2zM,7958
50
51
  hive/cookbook/schedules.py,sha256=ldI-hpOx-EpCy3oSOVczk8114QL2bS_2rsjNI6TEMjc,6916
51
52
  hive/cookbook/services.py,sha256=tdMTGIL8XNwcyfAIaGln63rniGiy1WTbAyZROVYpwA4,45459
52
- hive/cookbook/sites.py,sha256=1mMfi1vsF0zAfcrCQy8G-joF3JmbJfKvhZExI48Avsg,33138
53
+ hive/cookbook/sites.py,sha256=BniA1kgMwvIHzLCD8r0C6i4zoyN26Ab-QGXcKFXOD8Q,37452
53
54
  hive/cookbook/terms_and_conditions.py,sha256=cc01N2N41yAbFa5HCvY2Ur4nujSQb1VnEbsrWVq1znY,4669
54
55
  hive/cookbook/tree_hierarchy.py,sha256=ldJ1hMFQcghA6P2gRHheLjG74X8B6Z1JaupeAW9vg9s,23749
55
56
  hive/cookbook/tree_hierarchy_v2.py,sha256=r2aYianO9sUQa2-cec9wA3j7iWLGSLHBVSM1n3Vh8sA,23805
@@ -68,8 +69,8 @@ hive/cookbook/virtual_domains.py,sha256=N3dp3pjkO-5jni3KBcCukRqcmVqAFYCDV6dgVXrH
68
69
  hive/cookbook/webhooks.py,sha256=xQp7gW4FQP6717d4MCOuQN2Py7nw7TFy4pl9RmkqMKs,6705
69
70
  hive/cookbook/widget_groups.py,sha256=GY7mBh72HzI9RRMCwnmJ-fildtZ3w4BrPDUdNfNoVyk,16018
70
71
  hive/cookbook/widgets.py,sha256=nYAEwh17aMGam8EC13jUwSR_i9KuP4yYRt25F0J6Z4g,23497
71
- xautomata_hive-3.20.0.dist-info/LICENSE,sha256=CFT1oIPm4kciOjwep2r1LQnpATugddSy3D839fsmgFs,1065
72
- xautomata_hive-3.20.0.dist-info/METADATA,sha256=a9_6ALPx2L_IBoklZvFExe7sN4n96K2DkT6CeLCQnKs,10747
73
- xautomata_hive-3.20.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
74
- xautomata_hive-3.20.0.dist-info/top_level.txt,sha256=pLpVAuviHGk3pzaFXU-4GKttxGTGAbFoWK8JvUl1jHQ,5
75
- xautomata_hive-3.20.0.dist-info/RECORD,,
72
+ xautomata_hive-3.20.1.dist-info/LICENSE,sha256=CFT1oIPm4kciOjwep2r1LQnpATugddSy3D839fsmgFs,1065
73
+ xautomata_hive-3.20.1.dist-info/METADATA,sha256=T8lkRiuwSP-gMGpwDTBOaFRh_MrVJ3_WfaLttuSMVxI,10747
74
+ xautomata_hive-3.20.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
75
+ xautomata_hive-3.20.1.dist-info/top_level.txt,sha256=pLpVAuviHGk3pzaFXU-4GKttxGTGAbFoWK8JvUl1jHQ,5
76
+ xautomata_hive-3.20.1.dist-info/RECORD,,