xautomata-hive 3.15.5__py3-none-any.whl → 3.16.0__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
@@ -474,6 +474,8 @@ from hive.cookbook.calendars import Calendars
474
474
  from hive.cookbook.cost_tagging import CostTagging
475
475
  from hive.cookbook.cost_tags import CostTags
476
476
  from hive.cookbook.cost_views import CostViews
477
+ from hive.cookbook.cost_tree_nodes import CostTreeNodes
478
+ from hive.cookbook.cost_tree_resources import CostTreeResources
477
479
  from hive.cookbook.contacts import Contacts
478
480
  from hive.cookbook.customers import Customers
479
481
  from hive.cookbook.dashboards import Dashboards
@@ -523,7 +525,7 @@ from hive.cookbook.widget_groups import WidgetGroups
523
525
  # hive imports stop
524
526
 
525
527
 
526
- class XautomataApi(AclDocs, AclOverrides, Analytics, Anomalies, Calendars, CostTagging, CostTags, CostViews, Contacts, Customers, Dashboards, Dispatchers, Downtimes, ExternalTickets, Features, FirmwareUpdates, Groups, MetricIngest, Microsoft, Google, Login, Jobs, Messages, Metrics, ProbesLogIngest, MetricTypes, NotificationProviders, NotificationProviderTypes, Objects, OpeningReasons, Probes, ProbeTypes, ProfileTopics, ReasonForClosure, RetentionRules, Schedules, Services, Sites, LastStatus, TermsAndConditions, TreeHierarchy, TsCostAzureRaw, TsCostManagement, TsMetricStatus, TsMetricValue, TsNtopFlows, TsServiceStatus, TsServiceValue, Users, UsersNotifications, VirtualDomains, Widgets, Webhooks, WidgetGroups):
528
+ class XautomataApi(AclDocs, AclOverrides, Analytics, Anomalies, Calendars, CostTagging, CostTags, CostViews, CostTreeNodes, CostTreeResources, Contacts, Customers, Dashboards, Dispatchers, Downtimes, ExternalTickets, Features, FirmwareUpdates, Groups, MetricIngest, Microsoft, Google, Login, Jobs, Messages, Metrics, ProbesLogIngest, MetricTypes, NotificationProviders, NotificationProviderTypes, Objects, OpeningReasons, Probes, ProbeTypes, ProfileTopics, ReasonForClosure, RetentionRules, Schedules, Services, Sites, LastStatus, TermsAndConditions, TreeHierarchy, TsCostAzureRaw, TsCostManagement, TsMetricStatus, TsMetricValue, TsNtopFlows, TsServiceStatus, TsServiceValue, Users, UsersNotifications, VirtualDomains, Widgets, Webhooks, WidgetGroups):
527
529
  """
528
530
  Class with each specific API, based on the ApiManager Class created for a more general interaction with Xautomata API
529
531
  """
@@ -19,6 +19,7 @@ class CostTagging(ApiManager):
19
19
  Keyword Args:
20
20
  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
21
21
  uuid_view (string optional): additional filter - parameter
22
+ uuid_tag (string optional): additional filter - parameter
22
23
  tag_code (string optional): additional filter - parameter
23
24
  cost_category (string optional): additional filter - parameter
24
25
  cost_category_value (string optional): additional filter - parameter
@@ -32,14 +33,14 @@ class CostTagging(ApiManager):
32
33
  Returns: list"""
33
34
  if kwargs is None:
34
35
  kwargs = dict()
35
- official_params_list = ['sort_by', 'uuid_view', 'tag_code',
36
- 'cost_category', 'cost_category_value', 'null_fields', 'skip',
37
- 'limit', 'like', 'join', 'count']
38
- params.get('sort_by'), params.get('uuid_view'), params.get('tag_code'
39
- ), params.get('cost_category'), params.get('cost_category_value'
40
- ), params.get('null_fields'), params.get('skip'), params.get(
41
- 'limit'), params.get('like'), params.get('join'), params.get(
42
- 'count')
36
+ official_params_list = ['sort_by', 'uuid_view', 'uuid_tag',
37
+ 'tag_code', 'cost_category', 'cost_category_value',
38
+ 'null_fields', 'skip', 'limit', 'like', 'join', 'count']
39
+ params.get('sort_by'), params.get('uuid_view'), params.get('uuid_tag'
40
+ ), params.get('tag_code'), params.get('cost_category'), params.get(
41
+ 'cost_category_value'), params.get('null_fields'), params.get(
42
+ 'skip'), params.get('limit'), params.get('like'), params.get('join'
43
+ ), params.get('count')
43
44
  if not self._silence_warning:
44
45
  warning_wrong_parameters(self.cost_tagging.__name__, params,
45
46
  official_params_list)
@@ -56,18 +57,18 @@ class CostTagging(ApiManager):
56
57
  **payload: additional parameters for the API.
57
58
 
58
59
  Keyword Args:
59
- tag_code (string required): additional filter - payload
60
60
  cost_category_value (string required): additional filter - payload
61
61
  cost_category (string required): additional filter - payload
62
62
  uuid_view (string required): additional filter - payload
63
+ uuid_tag (string required): additional filter - payload
63
64
 
64
65
  Returns: list"""
65
66
  if kwargs is None:
66
67
  kwargs = dict()
67
- official_payload_list = ['tag_code', 'cost_category_value',
68
- 'cost_category', 'uuid_view']
69
- payload.get('tag_code'), payload.get('cost_category_value'
70
- ), payload.get('cost_category'), payload.get('uuid_view')
68
+ official_payload_list = ['cost_category_value', 'cost_category',
69
+ 'uuid_view', 'uuid_tag']
70
+ payload.get('cost_category_value'), payload.get('cost_category'
71
+ ), payload.get('uuid_view'), payload.get('uuid_tag')
71
72
  if not self._silence_warning:
72
73
  warning_wrong_parameters(self.cost_tagging_create.__name__,
73
74
  payload, official_payload_list)
@@ -112,18 +113,18 @@ class CostTagging(ApiManager):
112
113
  **payload: additional parameters for the API.
113
114
 
114
115
  Keyword Args:
115
- tag_code (string optional): additional filter - payload
116
116
  cost_category_value (string optional): additional filter - payload
117
117
  cost_category (string optional): additional filter - payload
118
118
  uuid_view (string optional): additional filter - payload
119
+ uuid_tag (string optional): additional filter - payload
119
120
 
120
121
  Returns: list"""
121
122
  if kwargs is None:
122
123
  kwargs = dict()
123
- official_payload_list = ['tag_code', 'cost_category_value',
124
- 'cost_category', 'uuid_view']
125
- payload.get('tag_code'), payload.get('cost_category_value'
126
- ), payload.get('cost_category'), payload.get('uuid_view')
124
+ official_payload_list = ['cost_category_value', 'cost_category',
125
+ 'uuid_view', 'uuid_tag']
126
+ payload.get('cost_category_value'), payload.get('cost_category'
127
+ ), payload.get('uuid_view'), payload.get('uuid_tag')
127
128
  if not self._silence_warning:
128
129
  warning_wrong_parameters(self.cost_tagging_put.__name__,
129
130
  payload, official_payload_list)
@@ -0,0 +1,213 @@
1
+ from hive.api import ApiManager, handling_single_page_methods, warning_wrong_parameters
2
+
3
+
4
+ class CostTreeNodes(ApiManager):
5
+ """Class that handles all the XAutomata cost_tree_nodes APIs"""
6
+
7
+ def cost_tree_nodes(self, warm_start: bool = False,
8
+ single_page: bool = False, page_size: int = 5000,
9
+ kwargs: dict = None, **params) -> list:
10
+ """Read Cost Tree Nodes
11
+
12
+ Args:
13
+ 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.
14
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
15
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
16
+ kwargs (dict, optional): additional parameters for execute. Default to None.
17
+ **params: additional parameters for the API.
18
+
19
+ Keyword Args:
20
+ 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
21
+ uuid_parent (string optional): additional filter - parameter
22
+ code (string optional): additional filter - parameter
23
+ description (string optional): additional filter - parameter
24
+ uuid_view (string optional): additional filter - parameter
25
+ budget (integer optional): additional filter - parameter
26
+ null_fields (string optional): additional filter - parameter
27
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
28
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
29
+ 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
30
+ 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
31
+ 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
32
+
33
+ Returns: list"""
34
+ if kwargs is None:
35
+ kwargs = dict()
36
+ official_params_list = ['sort_by', 'uuid_parent', 'code',
37
+ 'description', 'uuid_view', 'budget', 'null_fields', 'skip',
38
+ 'limit', 'like', 'join', 'count']
39
+ params.get('sort_by'), params.get('uuid_parent'), params.get('code'
40
+ ), params.get('description'), params.get('uuid_view'), params.get(
41
+ 'budget'), params.get('null_fields'), params.get('skip'
42
+ ), params.get('limit'), params.get('like'), params.get('join'
43
+ ), params.get('count')
44
+ if not self._silence_warning:
45
+ warning_wrong_parameters(self.cost_tree_nodes.__name__, params,
46
+ official_params_list)
47
+ response = self.execute('GET', path=f'/cost_tree_nodes/',
48
+ single_page=single_page, page_size=page_size, warm_start=
49
+ warm_start, params=params, **kwargs)
50
+ return response
51
+
52
+ def cost_tree_nodes_create(self, kwargs: dict = None, **payload) -> list:
53
+ """Create Cost Tree Node
54
+
55
+ Args:
56
+ kwargs (dict, optional): additional parameters for execute. Default to None.
57
+ **payload: additional parameters for the API.
58
+
59
+ Keyword Args:
60
+ uuid_parent (string optional): additional filter - payload
61
+ code (string required): additional filter - payload
62
+ description (string optional): additional filter - payload
63
+ uuid_view (string required): additional filter - payload
64
+ budget (integer optional): additional filter - payload
65
+
66
+ Returns: list"""
67
+ if kwargs is None:
68
+ kwargs = dict()
69
+ official_payload_list = ['uuid_parent', 'code', 'description',
70
+ 'uuid_view', 'budget']
71
+ payload.get('uuid_parent'), payload.get('code'), payload.get(
72
+ 'description'), payload.get('uuid_view'), payload.get('budget')
73
+ if not self._silence_warning:
74
+ warning_wrong_parameters(self.cost_tree_nodes_create.__name__,
75
+ payload, official_payload_list)
76
+ response = self.execute('POST', path=f'/cost_tree_nodes/', payload=
77
+ payload, **kwargs)
78
+ return response
79
+
80
+ def cost_tree_node(self, uuid: str, warm_start: bool = False,
81
+ kwargs: dict = None, **params) -> list:
82
+ """Read Cost Tree Node
83
+
84
+ Args:
85
+ uuid (str, required): uuid
86
+ 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.
87
+ kwargs (dict, optional): additional parameters for execute. Default to None.
88
+ **params: additional parameters for the API.
89
+
90
+ Keyword Args:
91
+ 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
92
+
93
+ Returns: list"""
94
+ if kwargs is None:
95
+ kwargs = dict()
96
+ kwargs, params = handling_single_page_methods(kwargs=kwargs, params
97
+ =params)
98
+ official_params_list = ['join']
99
+ params.get('join')
100
+ if not self._silence_warning:
101
+ warning_wrong_parameters(self.cost_tree_node.__name__, params,
102
+ official_params_list)
103
+ response = self.execute('GET', path=f'/cost_tree_nodes/{uuid}',
104
+ warm_start=warm_start, params=params, **kwargs)
105
+ return response
106
+
107
+ def cost_tree_nodes_put(self, uuid: str, kwargs: dict = None, **payload
108
+ ) -> list:
109
+ """Update Cost Tree Node
110
+
111
+ Args:
112
+ uuid (str, required): uuid
113
+ kwargs (dict, optional): additional parameters for execute. Default to None.
114
+ **payload: additional parameters for the API.
115
+
116
+ Keyword Args:
117
+ uuid_parent (string optional): additional filter - payload
118
+ code (string optional): additional filter - payload
119
+ description (string optional): additional filter - payload
120
+ uuid_view (string optional): additional filter - payload
121
+ budget (integer optional): additional filter - payload
122
+
123
+ Returns: list"""
124
+ if kwargs is None:
125
+ kwargs = dict()
126
+ official_payload_list = ['uuid_parent', 'code', 'description',
127
+ 'uuid_view', 'budget']
128
+ payload.get('uuid_parent'), payload.get('code'), payload.get(
129
+ 'description'), payload.get('uuid_view'), payload.get('budget')
130
+ if not self._silence_warning:
131
+ warning_wrong_parameters(self.cost_tree_nodes_put.__name__,
132
+ payload, official_payload_list)
133
+ response = self.execute('PUT', path=f'/cost_tree_nodes/{uuid}',
134
+ payload=payload, **kwargs)
135
+ return response
136
+
137
+ def cost_tree_nodes_delete(self, uuid: str, kwargs: dict = None) -> list:
138
+ """Delete Cost Tree Node
139
+
140
+ Args:
141
+ uuid (str, required): uuid
142
+ kwargs (dict, optional): additional parameters for execute. Default to None.
143
+
144
+ Returns: list"""
145
+ if kwargs is None:
146
+ kwargs = dict()
147
+ response = self.execute('DELETE', path=f'/cost_tree_nodes/{uuid}',
148
+ **kwargs)
149
+ return response
150
+
151
+ def cost_tree_nodes_navigate_tree(self, uuid: str,
152
+ warm_start: bool = False, kwargs: dict = None, **params) -> list:
153
+ """Get Tree From Node
154
+
155
+ Args:
156
+ uuid (str, required): uuid
157
+ 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.
158
+ kwargs (dict, optional): additional parameters for execute. Default to None.
159
+ **params: additional parameters for the API.
160
+
161
+ Keyword Args:
162
+ ts_start (string required): additional filter - parameter
163
+ ts_end (string required): additional filter - parameter
164
+
165
+ Returns: list"""
166
+ if kwargs is None:
167
+ kwargs = dict()
168
+ kwargs, params = handling_single_page_methods(kwargs=kwargs, params
169
+ =params)
170
+ official_params_list = ['ts_start', 'ts_end']
171
+ params.get('ts_start'), params.get('ts_end')
172
+ if not self._silence_warning:
173
+ warning_wrong_parameters(self.cost_tree_nodes_navigate_tree.
174
+ __name__, params, official_params_list)
175
+ response = self.execute('GET', path=
176
+ f'/cost_tree_nodes/navigate_tree/{uuid}', warm_start=warm_start,
177
+ params=params, **kwargs)
178
+ return response
179
+
180
+ def cost_tree_nodes_get_node_resources(self, uuid: str,
181
+ warm_start: bool = False, single_page: bool = False,
182
+ page_size: int = 5000, kwargs: dict = None, **params) -> list:
183
+ """Get Resources From Node
184
+
185
+ Args:
186
+ uuid (str, required): uuid
187
+ 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.
188
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
189
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
190
+ kwargs (dict, optional): additional parameters for execute. Default to None.
191
+ **params: additional parameters for the API.
192
+
193
+ Keyword Args:
194
+ ts_start (string required): additional filter - parameter
195
+ ts_end (string required): additional filter - parameter
196
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
197
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
198
+
199
+ Returns: list"""
200
+ if kwargs is None:
201
+ kwargs = dict()
202
+ official_params_list = ['ts_start', 'ts_end', 'skip', 'limit']
203
+ params.get('ts_start'), params.get('ts_end'), params.get('skip'
204
+ ), params.get('limit')
205
+ if not self._silence_warning:
206
+ warning_wrong_parameters(self.
207
+ cost_tree_nodes_get_node_resources.__name__, params,
208
+ official_params_list)
209
+ response = self.execute('GET', path=
210
+ f'/cost_tree_nodes/get_node_resources/{uuid}', single_page=
211
+ single_page, page_size=page_size, warm_start=warm_start, params
212
+ =params, **kwargs)
213
+ return response
@@ -0,0 +1,155 @@
1
+ from hive.api import ApiManager, handling_single_page_methods, warning_wrong_parameters
2
+
3
+
4
+ class CostTreeResources(ApiManager):
5
+ """Class that handles all the XAutomata cost_tree_resources APIs"""
6
+
7
+ def cost_tree_resources(self, warm_start: bool = False,
8
+ single_page: bool = False, page_size: int = 5000,
9
+ kwargs: dict = None, **params) -> list:
10
+ """Read Cost Tree Resources
11
+
12
+ Args:
13
+ 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.
14
+ single_page (bool, optional): se False la risposta viene ottenuta a step per non appesantire le API. Default to False.
15
+ page_size (int, optional): Numero di oggetti per pagina se single_page == False. Default to 5000.
16
+ kwargs (dict, optional): additional parameters for execute. Default to None.
17
+ **params: additional parameters for the API.
18
+
19
+ Keyword Args:
20
+ 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
21
+ uuid_tree_node (string optional): additional filter - parameter
22
+ uuid_tag (string optional): additional filter - parameter
23
+ cost_category (string optional): additional filter - parameter
24
+ cost_category_value (string optional): additional filter - parameter
25
+ percentage (integer optional): additional filter - parameter
26
+ null_fields (string optional): additional filter - parameter
27
+ skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
28
+ limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
29
+ 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
30
+ 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
31
+ 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
32
+
33
+ Returns: list"""
34
+ if kwargs is None:
35
+ kwargs = dict()
36
+ official_params_list = ['sort_by', 'uuid_tree_node', 'uuid_tag',
37
+ 'cost_category', 'cost_category_value', 'percentage',
38
+ 'null_fields', 'skip', 'limit', 'like', 'join', 'count']
39
+ params.get('sort_by'), params.get('uuid_tree_node'), params.get(
40
+ 'uuid_tag'), params.get('cost_category'), params.get(
41
+ 'cost_category_value'), params.get('percentage'), params.get(
42
+ 'null_fields'), params.get('skip'), params.get('limit'
43
+ ), params.get('like'), params.get('join'), params.get('count')
44
+ if not self._silence_warning:
45
+ warning_wrong_parameters(self.cost_tree_resources.__name__,
46
+ params, official_params_list)
47
+ response = self.execute('GET', path=f'/cost_tree_resources/',
48
+ single_page=single_page, page_size=page_size, warm_start=
49
+ warm_start, params=params, **kwargs)
50
+ return response
51
+
52
+ def cost_tree_resources_create(self, kwargs: dict = None, **payload
53
+ ) -> list:
54
+ """Create Cost Tree Resource
55
+
56
+ Args:
57
+ kwargs (dict, optional): additional parameters for execute. Default to None.
58
+ **payload: additional parameters for the API.
59
+
60
+ Keyword Args:
61
+ uuid_tree_node (string required): additional filter - payload
62
+ cost_category (string required): additional filter - payload
63
+ cost_category_value (string required): additional filter - payload
64
+ percentage (integer optional): additional filter - payload
65
+
66
+ Returns: list"""
67
+ if kwargs is None:
68
+ kwargs = dict()
69
+ official_payload_list = ['uuid_tree_node', 'cost_category',
70
+ 'cost_category_value', 'percentage']
71
+ payload.get('uuid_tree_node'), payload.get('cost_category'
72
+ ), payload.get('cost_category_value'), payload.get('percentage')
73
+ if not self._silence_warning:
74
+ warning_wrong_parameters(self.cost_tree_resources_create.
75
+ __name__, payload, official_payload_list)
76
+ response = self.execute('POST', path=f'/cost_tree_resources/',
77
+ payload=payload, **kwargs)
78
+ return response
79
+
80
+ def cost_tree_resources_uuid_tree_node(self, uuid_tree_node: str,
81
+ uuid_tag: str, warm_start: bool = False, kwargs: dict = None, **params
82
+ ) -> list:
83
+ """Read Cost Tree Resources
84
+
85
+ Args:
86
+ uuid_tree_node (str, required): uuid_tree_node
87
+ uuid_tag (str, required): uuid_tag
88
+ 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.
89
+ kwargs (dict, optional): additional parameters for execute. Default to None.
90
+ **params: additional parameters for the API.
91
+
92
+ Keyword Args:
93
+ 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
94
+
95
+ Returns: list"""
96
+ if kwargs is None:
97
+ kwargs = dict()
98
+ kwargs, params = handling_single_page_methods(kwargs=kwargs, params
99
+ =params)
100
+ official_params_list = ['join']
101
+ params.get('join')
102
+ if not self._silence_warning:
103
+ warning_wrong_parameters(self.cost_tree_resources.__name__,
104
+ params, official_params_list)
105
+ response = self.execute('GET', path=
106
+ f'/cost_tree_resources/{uuid_tree_node}/{uuid_tag}', warm_start
107
+ =warm_start, params=params, **kwargs)
108
+ return response
109
+
110
+ def cost_tree_resources_put(self, uuid_tree_node: str, uuid_tag: str,
111
+ kwargs: dict = None, **payload) -> list:
112
+ """Update Cost Tree Resources
113
+
114
+ Args:
115
+ uuid_tree_node (str, required): uuid_tree_node
116
+ uuid_tag (str, required): uuid_tag
117
+ kwargs (dict, optional): additional parameters for execute. Default to None.
118
+ **payload: additional parameters for the API.
119
+
120
+ Keyword Args:
121
+ uuid_tree_node (string optional): additional filter - payload
122
+ cost_category (string optional): additional filter - payload
123
+ cost_category_value (string optional): additional filter - payload
124
+ percentage (integer optional): additional filter - payload
125
+
126
+ Returns: list"""
127
+ if kwargs is None:
128
+ kwargs = dict()
129
+ official_payload_list = ['uuid_tree_node', 'cost_category',
130
+ 'cost_category_value', 'percentage']
131
+ payload.get('uuid_tree_node'), payload.get('cost_category'
132
+ ), payload.get('cost_category_value'), payload.get('percentage')
133
+ if not self._silence_warning:
134
+ warning_wrong_parameters(self.cost_tree_resources_put.__name__,
135
+ payload, official_payload_list)
136
+ response = self.execute('PUT', path=
137
+ f'/cost_tree_resources/{uuid_tree_node}/{uuid_tag}', payload=
138
+ payload, **kwargs)
139
+ return response
140
+
141
+ def cost_tree_resources_delete(self, uuid_tree_node: str, uuid_tag: str,
142
+ kwargs: dict = None) -> list:
143
+ """Delete Cost Tree Resources
144
+
145
+ Args:
146
+ uuid_tree_node (str, required): uuid_tree_node
147
+ uuid_tag (str, required): uuid_tag
148
+ kwargs (dict, optional): additional parameters for execute. Default to None.
149
+
150
+ Returns: list"""
151
+ if kwargs is None:
152
+ kwargs = dict()
153
+ response = self.execute('DELETE', path=
154
+ f'/cost_tree_resources/{uuid_tree_node}/{uuid_tag}', **kwargs)
155
+ return response
@@ -20,6 +20,7 @@ class CostViews(ApiManager):
20
20
  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
21
21
  name (string optional): additional filter - parameter
22
22
  description (string optional): additional filter - parameter
23
+ type (string optional): additional filter - parameter
23
24
  null_fields (string optional): additional filter - parameter
24
25
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
25
26
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
@@ -30,12 +31,12 @@ class CostViews(ApiManager):
30
31
  Returns: list"""
31
32
  if kwargs is None:
32
33
  kwargs = dict()
33
- official_params_list = ['sort_by', 'name', 'description',
34
+ official_params_list = ['sort_by', 'name', 'description', 'type',
34
35
  'null_fields', 'skip', 'limit', 'like', 'join', 'count']
35
36
  params.get('sort_by'), params.get('name'), params.get('description'
36
- ), params.get('null_fields'), params.get('skip'), params.get(
37
- 'limit'), params.get('like'), params.get('join'), params.get(
38
- 'count')
37
+ ), params.get('type'), params.get('null_fields'), params.get('skip'
38
+ ), params.get('limit'), params.get('like'), params.get('join'
39
+ ), params.get('count')
39
40
  if not self._silence_warning:
40
41
  warning_wrong_parameters(self.cost_views.__name__, params,
41
42
  official_params_list)
@@ -53,13 +54,14 @@ class CostViews(ApiManager):
53
54
 
54
55
  Keyword Args:
55
56
  name (string required): additional filter - payload
56
- description (string required): additional filter - payload
57
+ description (string optional): additional filter - payload
58
+ type (string optional): additional filter - payload
57
59
 
58
60
  Returns: list"""
59
61
  if kwargs is None:
60
62
  kwargs = dict()
61
- official_payload_list = ['name', 'description']
62
- payload.get('name'), payload.get('description')
63
+ official_payload_list = ['name', 'description', 'type']
64
+ payload.get('name'), payload.get('description'), payload.get('type')
63
65
  if not self._silence_warning:
64
66
  warning_wrong_parameters(self.cost_views_create.__name__,
65
67
  payload, official_payload_list)
@@ -106,12 +108,13 @@ class CostViews(ApiManager):
106
108
  Keyword Args:
107
109
  name (string optional): additional filter - payload
108
110
  description (string optional): additional filter - payload
111
+ type (string optional): additional filter - payload
109
112
 
110
113
  Returns: list"""
111
114
  if kwargs is None:
112
115
  kwargs = dict()
113
- official_payload_list = ['name', 'description']
114
- payload.get('name'), payload.get('description')
116
+ official_payload_list = ['name', 'description', 'type']
117
+ payload.get('name'), payload.get('description'), payload.get('type')
115
118
  if not self._silence_warning:
116
119
  warning_wrong_parameters(self.cost_views_put.__name__, payload,
117
120
  official_payload_list)
@@ -717,6 +717,22 @@ class Customers(ApiManager):
717
717
  warm_start, params=params, **kwargs)
718
718
  return response
719
719
 
720
+ def customers_by_vat(self, vat_id: str, warm_start: bool = False,
721
+ kwargs: dict = None) -> list:
722
+ """Get Customer By Vat Id
723
+
724
+ Args:
725
+ vat_id (str, required): vat_id
726
+ 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.
727
+ kwargs (dict, optional): additional parameters for execute. Default to None.
728
+
729
+ Returns: list"""
730
+ if kwargs is None:
731
+ kwargs = dict()
732
+ response = self.execute('GET', path=f'/customers/by_vat/{vat_id}',
733
+ warm_start=warm_start, **kwargs)
734
+ return response
735
+
720
736
  def customers_bulk(self, payload: list, warm_start: bool = False,
721
737
  single_page: bool = False, page_size: int = 50, kwargs: dict = None,
722
738
  **params) -> list:
@@ -1053,20 +1069,20 @@ class Customers(ApiManager):
1053
1069
  base_margin (number required): additional filter - payload
1054
1070
  reserved_margin (number required): additional filter - payload
1055
1071
  azure_customer_id (string required): additional filter - payload
1056
- virtual_domain_code (string required): additional filter - payload
1072
+ uuid_virtual_domain (string required): additional filter - payload
1057
1073
 
1058
1074
  Returns: list"""
1059
1075
  if kwargs is None:
1060
1076
  kwargs = dict()
1061
1077
  official_payload_list = ['target_company', 'target_code', 'address',
1062
1078
  'zip_code', 'city', 'country', 'state_province', 'base_margin',
1063
- 'reserved_margin', 'azure_customer_id', 'virtual_domain_code']
1079
+ 'reserved_margin', 'azure_customer_id', 'uuid_virtual_domain']
1064
1080
  payload.get('target_company'), payload.get('target_code'), payload.get(
1065
1081
  'address'), payload.get('zip_code'), payload.get('city'
1066
1082
  ), payload.get('country'), payload.get('state_province'
1067
1083
  ), payload.get('base_margin'), payload.get('reserved_margin'
1068
1084
  ), payload.get('azure_customer_id'), payload.get(
1069
- 'virtual_domain_code')
1085
+ 'uuid_virtual_domain')
1070
1086
  if not self._silence_warning:
1071
1087
  warning_wrong_parameters(self.customers_azure_v2_create.
1072
1088
  __name__, payload, official_payload_list)
@@ -1091,7 +1107,7 @@ class Customers(ApiManager):
1091
1107
  city (string optional): additional filter - payload
1092
1108
  country (string optional): additional filter - payload
1093
1109
  state_province (string optional): additional filter - payload
1094
- virtual_domain_code (string required): additional filter - payload
1110
+ uuid_virtual_domain (string optional): additional filter - payload
1095
1111
  uuid_probe_type (string optional): additional filter - payload
1096
1112
  uuid_object (string optional): additional filter - payload
1097
1113
  subscriptions (array required): additional filter - payload
@@ -1101,12 +1117,12 @@ class Customers(ApiManager):
1101
1117
  kwargs = dict()
1102
1118
  official_payload_list = ['target_company', 'target_code', 'address',
1103
1119
  'zip_code', 'city', 'country', 'state_province',
1104
- 'virtual_domain_code', 'uuid_probe_type', 'uuid_object',
1120
+ 'uuid_virtual_domain', 'uuid_probe_type', 'uuid_object',
1105
1121
  'subscriptions']
1106
1122
  payload.get('target_company'), payload.get('target_code'), payload.get(
1107
1123
  'address'), payload.get('zip_code'), payload.get('city'
1108
1124
  ), payload.get('country'), payload.get('state_province'
1109
- ), payload.get('virtual_domain_code'), payload.get(
1125
+ ), payload.get('uuid_virtual_domain'), payload.get(
1110
1126
  'uuid_probe_type'), payload.get('uuid_object'), payload.get(
1111
1127
  'subscriptions')
1112
1128
  if not self._silence_warning:
@@ -1160,7 +1176,7 @@ class Customers(ApiManager):
1160
1176
  city (string optional): additional filter - payload
1161
1177
  country (string optional): additional filter - payload
1162
1178
  state_province (string optional): additional filter - payload
1163
- virtual_domain_code (string required): additional filter - payload
1179
+ uuid_virtual_domain (string optional): additional filter - payload
1164
1180
  uuid_probe_type (string optional): additional filter - payload
1165
1181
  uuid_object (string optional): additional filter - payload
1166
1182
  subscriptions (array required): additional filter - payload
@@ -1170,12 +1186,12 @@ class Customers(ApiManager):
1170
1186
  kwargs = dict()
1171
1187
  official_payload_list = ['target_company', 'target_code', 'address',
1172
1188
  'zip_code', 'city', 'country', 'state_province',
1173
- 'virtual_domain_code', 'uuid_probe_type', 'uuid_object',
1189
+ 'uuid_virtual_domain', 'uuid_probe_type', 'uuid_object',
1174
1190
  'subscriptions']
1175
1191
  payload.get('target_company'), payload.get('target_code'), payload.get(
1176
1192
  'address'), payload.get('zip_code'), payload.get('city'
1177
1193
  ), payload.get('country'), payload.get('state_province'
1178
- ), payload.get('virtual_domain_code'), payload.get(
1194
+ ), payload.get('uuid_virtual_domain'), payload.get(
1179
1195
  'uuid_probe_type'), payload.get('uuid_object'), payload.get(
1180
1196
  'subscriptions')
1181
1197
  if not self._silence_warning:
@@ -432,7 +432,7 @@ class Dispatchers(ApiManager):
432
432
 
433
433
  def dispatchers_objects_delete(self, uuid: str, uuid_object: str,
434
434
  kwargs: dict = None) -> list:
435
- """Removeect
435
+ """Remove Object
436
436
 
437
437
  Args:
438
438
  uuid (str, required): uuid
@@ -287,7 +287,7 @@ class Downtimes(ApiManager):
287
287
 
288
288
  def downtimes_objects_delete(self, uuid: str, uuid_object: str,
289
289
  kwargs: dict = None) -> list:
290
- """Removeect
290
+ """Remove Object
291
291
 
292
292
  Args:
293
293
  uuid (str, required): uuid
@@ -92,6 +92,7 @@ class TreeHierarchy(ApiManager):
92
92
  null_fields (string optional): additional filter - parameter
93
93
  extract_data_profile (boolean optional): additional filter - parameter
94
94
  extract_severity (boolean optional): Se True nella risposta e' anche presente la severita, Default to False. - parameter
95
+ extract_ip_cidr (boolean optional): additional filter - parameter
95
96
  uuid_customer (string optional): additional filter - parameter
96
97
  customer_code (string optional): additional filter - parameter
97
98
  customer_status (string optional): additional filter - parameter
@@ -124,26 +125,28 @@ class TreeHierarchy(ApiManager):
124
125
  if kwargs is None:
125
126
  kwargs = dict()
126
127
  official_params_list = ['sort_by', 'null_fields',
127
- 'extract_data_profile', 'extract_severity', 'uuid_customer',
128
- 'customer_code', 'customer_status', 'uuid_site', 'site_code',
129
- 'site_description', 'site_address', 'site_zip_code',
130
- 'site_city', 'site_country', 'site_state_province',
131
- 'site_status', 'uuid_group', 'group_name', 'group_status',
132
- 'group_type', 'uuid_object', 'object_name', 'object_status',
133
- 'object_profile', 'uuid_virtual_domain', 'virtual_domain_name',
134
- 'skip', 'limit', 'like', 'join', 'count']
128
+ 'extract_data_profile', 'extract_severity', 'extract_ip_cidr',
129
+ 'uuid_customer', 'customer_code', 'customer_status',
130
+ 'uuid_site', 'site_code', 'site_description', 'site_address',
131
+ 'site_zip_code', 'site_city', 'site_country',
132
+ 'site_state_province', 'site_status', 'uuid_group',
133
+ 'group_name', 'group_status', 'group_type', 'uuid_object',
134
+ 'object_name', 'object_status', 'object_profile',
135
+ 'uuid_virtual_domain', 'virtual_domain_name', 'skip', 'limit',
136
+ 'like', 'join', 'count']
135
137
  params.get('sort_by'), params.get('null_fields'), params.get(
136
138
  'extract_data_profile'), params.get('extract_severity'
137
- ), params.get('uuid_customer'), params.get('customer_code'
138
- ), params.get('customer_status'), params.get('uuid_site'
139
- ), params.get('site_code'), params.get('site_description'
140
- ), params.get('site_address'), params.get('site_zip_code'
141
- ), params.get('site_city'), params.get('site_country'), params.get(
142
- 'site_state_province'), params.get('site_status'), params.get(
143
- 'uuid_group'), params.get('group_name'), params.get('group_status'
144
- ), params.get('group_type'), params.get('uuid_object'), params.get(
145
- 'object_name'), params.get('object_status'), params.get(
146
- 'object_profile'), params.get('uuid_virtual_domain'), params.get(
139
+ ), params.get('extract_ip_cidr'), params.get('uuid_customer'
140
+ ), params.get('customer_code'), params.get('customer_status'
141
+ ), params.get('uuid_site'), params.get('site_code'), params.get(
142
+ 'site_description'), params.get('site_address'), params.get(
143
+ 'site_zip_code'), params.get('site_city'), params.get(
144
+ 'site_country'), params.get('site_state_province'), params.get(
145
+ 'site_status'), params.get('uuid_group'), params.get('group_name'
146
+ ), params.get('group_status'), params.get('group_type'
147
+ ), params.get('uuid_object'), params.get('object_name'
148
+ ), params.get('object_status'), params.get('object_profile'
149
+ ), params.get('uuid_virtual_domain'), params.get(
147
150
  'virtual_domain_name'), params.get('skip'), params.get('limit'
148
151
  ), params.get('like'), params.get('join'), params.get('count')
149
152
  if not self._silence_warning:
@@ -39,6 +39,7 @@ class TsCostManagement(ApiManager):
39
39
  local_currency (string optional): additional filter - parameter
40
40
  provider_currency (string optional): additional filter - parameter
41
41
  uuid_customer (string optional): additional filter - parameter
42
+ resource_id (string optional): additional filter - parameter
42
43
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
43
44
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
44
45
  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
@@ -53,8 +54,8 @@ class TsCostManagement(ApiManager):
53
54
  'subscription_type', 'subscription_id', 'subscription_name',
54
55
  'family', 'category', 'subcategory', 'object', 'metric', 'unit',
55
56
  'resource_group', 'reservation_name', 'publisher_name',
56
- 'local_currency', 'provider_currency', 'uuid_customer', 'skip',
57
- 'limit', 'like', 'join', 'count']
57
+ 'local_currency', 'provider_currency', 'uuid_customer',
58
+ 'resource_id', 'skip', 'limit', 'like', 'join', 'count']
58
59
  params.get('sort_by'), params.get('null_fields'), params.get(
59
60
  'uuid_metric'), params.get('date_start'), params.get('date_end'
60
61
  ), params.get('cloud_provider'), params.get('resource_location'
@@ -65,8 +66,8 @@ class TsCostManagement(ApiManager):
65
66
  'resource_group'), params.get('reservation_name'), params.get(
66
67
  'publisher_name'), params.get('local_currency'), params.get(
67
68
  'provider_currency'), params.get('uuid_customer'), params.get(
68
- 'skip'), params.get('limit'), params.get('like'), params.get('join'
69
- ), params.get('count')
69
+ 'resource_id'), params.get('skip'), params.get('limit'
70
+ ), params.get('like'), params.get('join'), params.get('count')
70
71
  if not self._silence_warning:
71
72
  warning_wrong_parameters(self.ts_cost_management.__name__,
72
73
  params, official_params_list)
@@ -116,6 +117,7 @@ class TsCostManagement(ApiManager):
116
117
  resource_group (string required): additional filter - payload
117
118
  reservation_name (string required): additional filter - payload
118
119
  publisher_name (string required): additional filter - payload
120
+ resource_id (string required): additional filter - payload
119
121
  tenant_id (string optional): additional filter - payload
120
122
 
121
123
  Returns: list"""
@@ -130,8 +132,8 @@ class TsCostManagement(ApiManager):
130
132
  'unit_revenue_pc', 'total_revenue_pc', 'cumulative_qnt',
131
133
  'cumulative_unit_cost', 'cumulative_total_cost',
132
134
  'cumulative_unit_revenue', 'cumulative_total_revenue',
133
- 'resource_group', 'reservation_name', 'publisher_name', 'tenant_id'
134
- ]
135
+ 'resource_group', 'reservation_name', 'publisher_name',
136
+ 'resource_id', 'tenant_id']
135
137
  payload.get('uuid_metric'), payload.get('date'), payload.get(
136
138
  'cloud_provider'), payload.get('resource_location'), payload.get(
137
139
  'subscription_type'), payload.get('subscription_id'), payload.get(
@@ -147,7 +149,8 @@ class TsCostManagement(ApiManager):
147
149
  ), payload.get('cumulative_total_cost'), payload.get(
148
150
  'cumulative_unit_revenue'), payload.get('cumulative_total_revenue'
149
151
  ), payload.get('resource_group'), payload.get('reservation_name'
150
- ), payload.get('publisher_name'), payload.get('tenant_id')
152
+ ), payload.get('publisher_name'), payload.get('resource_id'
153
+ ), payload.get('tenant_id')
151
154
  if not self._silence_warning:
152
155
  warning_wrong_parameters(self.ts_cost_management_create.
153
156
  __name__, payload, official_payload_list)
@@ -29,6 +29,7 @@ class TsMetricStatus(ApiManager):
29
29
  ranking (integer optional): additional filter - parameter
30
30
  description (string optional): additional filter - parameter
31
31
  null_fields (string optional): additional filter - parameter
32
+ merge_last_value (boolean optional): additional filter - parameter
32
33
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
33
34
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
34
35
  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
@@ -42,15 +43,17 @@ class TsMetricStatus(ApiManager):
42
43
  'timestamp_end', 'ingest_timestamp_start',
43
44
  'ingest_timestamp_end', 'database_timestamp_start',
44
45
  'database_timestamp_end', 'status', 'ranking', 'description',
45
- 'null_fields', 'skip', 'limit', 'like', 'join', 'count']
46
+ 'null_fields', 'merge_last_value', 'skip', 'limit', 'like',
47
+ 'join', 'count']
46
48
  params.get('sort_by'), params.get('uuid_metric'), params.get(
47
49
  'timestamp_start'), params.get('timestamp_end'), params.get(
48
50
  'ingest_timestamp_start'), params.get('ingest_timestamp_end'
49
51
  ), params.get('database_timestamp_start'), params.get(
50
52
  'database_timestamp_end'), params.get('status'), params.get(
51
53
  'ranking'), params.get('description'), params.get('null_fields'
52
- ), params.get('skip'), params.get('limit'), params.get('like'
53
- ), params.get('join'), params.get('count')
54
+ ), params.get('merge_last_value'), params.get('skip'), params.get(
55
+ 'limit'), params.get('like'), params.get('join'), params.get(
56
+ 'count')
54
57
  if not self._silence_warning:
55
58
  warning_wrong_parameters(self.ts_metric_status.__name__, params,
56
59
  official_params_list)
@@ -75,6 +78,7 @@ class TsMetricStatus(ApiManager):
75
78
  Keyword Args:
76
79
  ts_start (string required): additional filter - parameter
77
80
  ts_end (string required): additional filter - parameter
81
+ merge_last_value (boolean optional): additional filter - parameter
78
82
 
79
83
  Examples:
80
84
  payload =
@@ -85,8 +89,9 @@ class TsMetricStatus(ApiManager):
85
89
  Returns: list"""
86
90
  if kwargs is None:
87
91
  kwargs = dict()
88
- official_params_list = ['ts_start', 'ts_end']
89
- params.get('ts_start'), params.get('ts_end')
92
+ official_params_list = ['ts_start', 'ts_end', 'merge_last_value']
93
+ params.get('ts_start'), params.get('ts_end'), params.get(
94
+ 'merge_last_value')
90
95
  if not self._silence_warning:
91
96
  warning_wrong_parameters(self.ts_metric_status_bulk.__name__,
92
97
  params, official_params_list)
@@ -27,6 +27,7 @@ class TsMetricValue(ApiManager):
27
27
  database_timestamp_start (string optional): additional filter - parameter
28
28
  database_timestamp_end (string optional): additional filter - parameter
29
29
  value (number optional): additional filter - parameter
30
+ merge_last_value (boolean optional): additional filter - parameter
30
31
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
31
32
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
32
33
  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
@@ -39,15 +40,16 @@ class TsMetricValue(ApiManager):
39
40
  official_params_list = ['sort_by', 'null_fields', 'uuid_metric',
40
41
  'timestamp_start', 'timestamp_end', 'ingest_timestamp_start',
41
42
  'ingest_timestamp_end', 'database_timestamp_start',
42
- 'database_timestamp_end', 'value', 'skip', 'limit', 'like',
43
- 'join', 'count']
43
+ 'database_timestamp_end', 'value', 'merge_last_value', 'skip',
44
+ 'limit', 'like', 'join', 'count']
44
45
  params.get('sort_by'), params.get('null_fields'), params.get(
45
46
  'uuid_metric'), params.get('timestamp_start'), params.get(
46
47
  'timestamp_end'), params.get('ingest_timestamp_start'), params.get(
47
48
  'ingest_timestamp_end'), params.get('database_timestamp_start'
48
49
  ), params.get('database_timestamp_end'), params.get('value'
49
- ), params.get('skip'), params.get('limit'), params.get('like'
50
- ), params.get('join'), params.get('count')
50
+ ), params.get('merge_last_value'), params.get('skip'), params.get(
51
+ 'limit'), params.get('like'), params.get('join'), params.get(
52
+ 'count')
51
53
  if not self._silence_warning:
52
54
  warning_wrong_parameters(self.ts_metric_value.__name__, params,
53
55
  official_params_list)
@@ -72,6 +74,7 @@ class TsMetricValue(ApiManager):
72
74
  Keyword Args:
73
75
  ts_start (string required): additional filter - parameter
74
76
  ts_end (string required): additional filter - parameter
77
+ merge_last_value (boolean optional): additional filter - parameter
75
78
 
76
79
  Examples:
77
80
  payload =
@@ -82,8 +85,9 @@ class TsMetricValue(ApiManager):
82
85
  Returns: list"""
83
86
  if kwargs is None:
84
87
  kwargs = dict()
85
- official_params_list = ['ts_start', 'ts_end']
86
- params.get('ts_start'), params.get('ts_end')
88
+ official_params_list = ['ts_start', 'ts_end', 'merge_last_value']
89
+ params.get('ts_start'), params.get('ts_end'), params.get(
90
+ 'merge_last_value')
87
91
  if not self._silence_warning:
88
92
  warning_wrong_parameters(self.ts_metric_value_bulk.__name__,
89
93
  params, official_params_list)
@@ -20,6 +20,8 @@ class TsNtopFlows(ApiManager):
20
20
  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
21
21
  null_fields (string optional): additional filter - parameter
22
22
  uuid_service (string optional): additional filter - parameter
23
+ uuid_site_src (string optional): additional filter - parameter
24
+ uuid_site_dst (string optional): additional filter - parameter
23
25
  l7_proto (string optional): additional filter - parameter
24
26
  ip_src_addr (None optional): additional filter - parameter
25
27
  ip_dst_addr (None optional): additional filter - parameter
@@ -41,12 +43,14 @@ class TsNtopFlows(ApiManager):
41
43
  if kwargs is None:
42
44
  kwargs = dict()
43
45
  official_params_list = ['sort_by', 'null_fields', 'uuid_service',
44
- 'l7_proto', 'ip_src_addr', 'ip_dst_addr', 'l4_dst_port',
45
- 'fqdn_src_addr', 'fqdn_dst_addr', 'in_bytes', 'out_bytes',
46
- 'last_switched_start', 'last_switched_end', 'interface_id',
47
- 'skip', 'limit', 'like', 'join', 'count']
46
+ 'uuid_site_src', 'uuid_site_dst', 'l7_proto', 'ip_src_addr',
47
+ 'ip_dst_addr', 'l4_dst_port', 'fqdn_src_addr', 'fqdn_dst_addr',
48
+ 'in_bytes', 'out_bytes', 'last_switched_start',
49
+ 'last_switched_end', 'interface_id', 'skip', 'limit', 'like',
50
+ 'join', 'count']
48
51
  params.get('sort_by'), params.get('null_fields'), params.get(
49
- 'uuid_service'), params.get('l7_proto'), params.get('ip_src_addr'
52
+ 'uuid_service'), params.get('uuid_site_src'), params.get(
53
+ 'uuid_site_dst'), params.get('l7_proto'), params.get('ip_src_addr'
50
54
  ), params.get('ip_dst_addr'), params.get('l4_dst_port'
51
55
  ), params.get('fqdn_src_addr'), params.get('fqdn_dst_addr'
52
56
  ), params.get('in_bytes'), params.get('out_bytes'), params.get(
@@ -78,6 +82,8 @@ class TsNtopFlows(ApiManager):
78
82
  [
79
83
  {
80
84
  "uuid_service": "string", optional
85
+ "uuid_site_src": "string", optional
86
+ "uuid_site_dst": "string", optional
81
87
  "l7_proto": "string", optional
82
88
  "ip_src_addr": "integer string string", optional
83
89
  "ip_dst_addr": "integer string string", optional
@@ -113,6 +119,7 @@ class TsNtopFlows(ApiManager):
113
119
  **params: additional parameters for the API.
114
120
 
115
121
  Keyword Args:
122
+ uuid_site (string optional): additional filter - parameter
116
123
  profile (string optional): additional filter - parameter
117
124
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
118
125
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
@@ -123,10 +130,11 @@ class TsNtopFlows(ApiManager):
123
130
  Returns: list"""
124
131
  if kwargs is None:
125
132
  kwargs = dict()
126
- official_params_list = ['profile', 'skip', 'limit', 'like', 'join',
127
- 'count']
128
- params.get('profile'), params.get('skip'), params.get('limit'
129
- ), params.get('like'), params.get('join'), params.get('count')
133
+ official_params_list = ['uuid_site', 'profile', 'skip', 'limit',
134
+ 'like', 'join', 'count']
135
+ params.get('uuid_site'), params.get('profile'), params.get('skip'
136
+ ), params.get('limit'), params.get('like'), params.get('join'
137
+ ), params.get('count')
130
138
  if not self._silence_warning:
131
139
  warning_wrong_parameters(self.ts_ntop_flows_top_protocols.
132
140
  __name__, params, official_params_list)
@@ -150,6 +158,7 @@ class TsNtopFlows(ApiManager):
150
158
  **params: additional parameters for the API.
151
159
 
152
160
  Keyword Args:
161
+ uuid_site (string optional): additional filter - parameter
153
162
  profile (string optional): additional filter - parameter
154
163
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
155
164
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
@@ -160,10 +169,11 @@ class TsNtopFlows(ApiManager):
160
169
  Returns: list"""
161
170
  if kwargs is None:
162
171
  kwargs = dict()
163
- official_params_list = ['profile', 'skip', 'limit', 'like', 'join',
164
- 'count']
165
- params.get('profile'), params.get('skip'), params.get('limit'
166
- ), params.get('like'), params.get('join'), params.get('count')
172
+ official_params_list = ['uuid_site', 'profile', 'skip', 'limit',
173
+ 'like', 'join', 'count']
174
+ params.get('uuid_site'), params.get('profile'), params.get('skip'
175
+ ), params.get('limit'), params.get('like'), params.get('join'
176
+ ), params.get('count')
167
177
  if not self._silence_warning:
168
178
  warning_wrong_parameters(self.ts_ntop_flows_top_talkers.
169
179
  __name__, params, official_params_list)
@@ -187,6 +197,7 @@ class TsNtopFlows(ApiManager):
187
197
  **params: additional parameters for the API.
188
198
 
189
199
  Keyword Args:
200
+ uuid_site (string optional): additional filter - parameter
190
201
  profile (string optional): additional filter - parameter
191
202
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
192
203
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
@@ -197,10 +208,11 @@ class TsNtopFlows(ApiManager):
197
208
  Returns: list"""
198
209
  if kwargs is None:
199
210
  kwargs = dict()
200
- official_params_list = ['profile', 'skip', 'limit', 'like', 'join',
201
- 'count']
202
- params.get('profile'), params.get('skip'), params.get('limit'
203
- ), params.get('like'), params.get('join'), params.get('count')
211
+ official_params_list = ['uuid_site', 'profile', 'skip', 'limit',
212
+ 'like', 'join', 'count']
213
+ params.get('uuid_site'), params.get('profile'), params.get('skip'
214
+ ), params.get('limit'), params.get('like'), params.get('join'
215
+ ), params.get('count')
204
216
  if not self._silence_warning:
205
217
  warning_wrong_parameters(self.ts_ntop_flows_top_receivers.
206
218
  __name__, params, official_params_list)
@@ -224,6 +236,7 @@ class TsNtopFlows(ApiManager):
224
236
  **params: additional parameters for the API.
225
237
 
226
238
  Keyword Args:
239
+ uuid_site (string optional): additional filter - parameter
227
240
  profile (string optional): additional filter - parameter
228
241
  skip (integer optional): numero di oggetti che si vogliono saltare nella risposta. Default to 0. - parameter
229
242
  limit (integer optional): numero di oggetti massimi che si vogliono ottenere. Default to 1_000_000. - parameter
@@ -234,10 +247,11 @@ class TsNtopFlows(ApiManager):
234
247
  Returns: list"""
235
248
  if kwargs is None:
236
249
  kwargs = dict()
237
- official_params_list = ['profile', 'skip', 'limit', 'like', 'join',
238
- 'count']
239
- params.get('profile'), params.get('skip'), params.get('limit'
240
- ), params.get('like'), params.get('join'), params.get('count')
250
+ official_params_list = ['uuid_site', 'profile', 'skip', 'limit',
251
+ 'like', 'join', 'count']
252
+ params.get('uuid_site'), params.get('profile'), params.get('skip'
253
+ ), params.get('limit'), params.get('like'), params.get('join'
254
+ ), params.get('count')
241
255
  if not self._silence_warning:
242
256
  warning_wrong_parameters(self.
243
257
  ts_ntop_flows_top_protocols_history.__name__, params,
hive/tools.py CHANGED
@@ -1,4 +1,13 @@
1
- def dict_by_request(responce_list, univocal_keys):
1
+ def dict_by_request(responce_list: list, univocal_keys: list):
2
+ """
3
+ Given a responce list it turn the List[Dict] into a Dict[Dict] where the keys are the univocal_keys given in the arguments.
4
+
5
+ Args:
6
+ responce_list (list[dict]): API responce
7
+ univocal_keys (list[str]): list of keys to use to identify the univocal arguments to be turned into the new dict keys
8
+
9
+ Returns: dict
10
+ """
2
11
  responce_dict = dict()
3
12
  for cont in responce_list:
4
13
  chiave = tuple(cont[k] for k in univocal_keys)
@@ -7,6 +16,16 @@ def dict_by_request(responce_list, univocal_keys):
7
16
 
8
17
 
9
18
  def order_by_request(params_list, responce_list, univocal_keys):
19
+ """
20
+ Given a API responce, its univocal keys and the params list used to get that responce, a new
21
+ Args:
22
+ params_list: params given to the API
23
+ responce_list: API responce
24
+ univocal_keys: keys that represents the univocal field of the responce
25
+
26
+ Returns: Dict
27
+
28
+ """
10
29
  responce_dict = dict_by_request(responce_list, univocal_keys)
11
30
  response_content = [None for _ in range(len(params_list))]
12
31
  for i, ele in enumerate(params_list):
hive/version.py CHANGED
@@ -1 +1 @@
1
- version = '3.15.5'
1
+ version = '3.16.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xautomata-hive
3
- Version: 3.15.5
3
+ Version: 3.16.0
4
4
  Home-page: https://github.com/sherlogic/xautomata-hive.git
5
5
  Author: Enrico Ferro - Andrea Jacassi
6
6
  Author-email:
@@ -9,7 +9,7 @@ Requires-Python: >=3.8.0
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Requires-Dist: tqdm ==4.64.1
12
- Requires-Dist: urllib3 ==1.26.17
12
+ Requires-Dist: urllib3 ==2.0.4
13
13
  Requires-Dist: requests ==2.31.0
14
14
 
15
15
  # Xautomata API
@@ -1,10 +1,10 @@
1
1
  hive/__init__.py,sha256=UjH5QfSfRGu2FR5_StfVbEtL_fuGS2Z_iZXmf1nx4AE,68
2
- hive/api.py,sha256=del4ohPFdJMq4iAO1jyFtN9ZLD6l2o1Xa_XZS5nlh0o,40465
2
+ hive/api.py,sha256=azqajJbLzoek_eMGi-6ETKF_C9pfgGsLvKn9L8-wD5g,40619
3
3
  hive/decorators.py,sha256=tId1zEXXKgegU_F9g2nbjFosB-9NNWQWueMu60w60Cc,9947
4
4
  hive/exceptions.py,sha256=kTJSPMViU2ZhF_ENbL_i-skU3YEv_ViJH2PpUQ6ums8,136
5
5
  hive/infrastrucure_keys.py,sha256=wFUWGY3Ct9OdiQMRtF7ZlzwtctNwq2eEGt-o0Lqmn10,3688
6
- hive/tools.py,sha256=_UgByWr7GHTzibXehVJYqT9S7to_ufvjEEd6Qf73fbc,691
7
- hive/version.py,sha256=r3zhontKkFR6OI_LV1zperuyko9P0bibA1unTdqJJtM,18
6
+ hive/tools.py,sha256=7hfHFLyflcZrwW3s1yswFwHU87I3u26WE2CnAj5WCqI,1355
7
+ hive/version.py,sha256=WoTmk-37b708GnkAO87gS-p1lBcikyP1L0Mm67hr3xY,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
@@ -12,13 +12,15 @@ hive/cookbook/analytics.py,sha256=1OMwo0vUuOAtT8WNz6HY6NJ-JTLpru4vTlYtdiczDrg,35
12
12
  hive/cookbook/anomalies.py,sha256=VnuIWGH0om2XuFiz9jlFjQWWWcIdbr3fmUECfiqvM0A,11208
13
13
  hive/cookbook/calendars.py,sha256=hLjerNUJETT6xOa6-zhRFR2GTzUxruQCABcM-mJKACs,22663
14
14
  hive/cookbook/contacts.py,sha256=vhkBjaxFoQA5P-GSGLsgtcvo3rbAPfHOCiB87tXtQsM,39183
15
- hive/cookbook/cost_tagging.py,sha256=N7WNIwVAyJBfoMdfJdewNHO3o-CBh_lg49grlOe5ld0,7673
15
+ hive/cookbook/cost_tagging.py,sha256=wwLgo3YaDI4Xm7QcQVlf4kXxz8kPP7J7Qh4ddzuaDro,7779
16
16
  hive/cookbook/cost_tags.py,sha256=G4iI97oasXQnke9R4_chNmWFr1yxpysTKFp-CnnE6aI,7464
17
- hive/cookbook/cost_views.py,sha256=u6hxCnTeaPURUGm5M9_hoxF2x9bo-OKpw8a7WEivnME,10188
18
- hive/cookbook/customers.py,sha256=v7eEkUfwu9Tnf1z24aTEfzOitf52_KA26kFrwbt7RxM,70778
17
+ hive/cookbook/cost_tree_nodes.py,sha256=ws4e5y23xkz-NMtjBeRbGS7AxAr-KNHEj4vHcdpM1J0,11200
18
+ hive/cookbook/cost_tree_resources.py,sha256=oivSKm_m-57dQAgUdQiUxSc1_vSVWmEVhlT47zbMVBc,8390
19
+ hive/cookbook/cost_views.py,sha256=wZt_UBLBudS4d85bxtteXlWUV0NmaQTO9RCVPltoHkw,10468
20
+ hive/cookbook/customers.py,sha256=LPz4wm5m1G6QyWFHETuJA_g2Kqusr9HBO7GrmWxLboY,71482
19
21
  hive/cookbook/dashboards.py,sha256=oAgx4XbIu26hLoXjS8sEhI-gg9lIpeGRoG1MT5UKxJM,27647
20
- hive/cookbook/dispatchers.py,sha256=-rdXBSuKN6OFkzg-kdbAFHFsnzU_X8zTLI1X7WgqFyo,43297
21
- hive/cookbook/downtimes.py,sha256=0f06TAQ2C1a9dpW5RgzrWqxrdiSBrgMjkbSBOB4LtkI,44997
22
+ hive/cookbook/dispatchers.py,sha256=Mk-u6xhBYdvU_av9ac9a1yejLiukUB30Ey9mIme-V5w,43301
23
+ hive/cookbook/downtimes.py,sha256=ylhT8TPm87LRjSVwoZgeKwUqnJ2IPva0jqcudbhS0cI,45001
22
24
  hive/cookbook/external_tickets.py,sha256=Lv30Mu6Hu4L8zWdduR_2OUCC_QTy8rvdWv-9gmWCljo,29510
23
25
  hive/cookbook/features.py,sha256=D_N27mifwGbmR9I7-4aHQKmBLyn4LENDqq9Yd9yp6Po,799
24
26
  hive/cookbook/firmware_updates.py,sha256=2N4dwLWWOq6it0f3SbLYixzAkATZ0O9v5lX-6gQwMZE,5996
@@ -46,12 +48,12 @@ hive/cookbook/schedules.py,sha256=ldI-hpOx-EpCy3oSOVczk8114QL2bS_2rsjNI6TEMjc,69
46
48
  hive/cookbook/services.py,sha256=hnuMse9Epcq4j2mT7vFHbugld0bMEPP8Ef1pojCs2Xc,44843
47
49
  hive/cookbook/sites.py,sha256=1mMfi1vsF0zAfcrCQy8G-joF3JmbJfKvhZExI48Avsg,33138
48
50
  hive/cookbook/terms_and_conditions.py,sha256=cc01N2N41yAbFa5HCvY2Ur4nujSQb1VnEbsrWVq1znY,4669
49
- hive/cookbook/tree_hierarchy.py,sha256=TcV3u0YXJEv6bqIZcRuDVS07DB3jCOURJUa0uAQFRZI,23474
51
+ hive/cookbook/tree_hierarchy.py,sha256=v_i2vyWQYo79oLZdBQkwQ20v437GnYANCG65OaEgE5Q,23627
50
52
  hive/cookbook/ts_cost_azure_raw.py,sha256=e4-bsmjOEu14dQljyNzZpEkG7-iSu1LaP9w3zbB1FHE,34075
51
- hive/cookbook/ts_cost_management.py,sha256=M1SmFWGgA5hh72Xi9m0-Ta_bs3-NReas1xjVao4W8_Y,37365
52
- hive/cookbook/ts_metric_status.py,sha256=E_1Blm8jQ9098zzlgj5BClQZZSa8R7hbrKBkt3TwK3k,6070
53
- hive/cookbook/ts_metric_value.py,sha256=Tw6egZfOIol7xHLQ8xXsdRxtP9OME2qnUOfQsX_Hk8M,5815
54
- hive/cookbook/ts_ntop_flows.py,sha256=jSamoKHI_1HLfYcTRr4wvdLjInV9uur77l5OwUSK3nA,16346
53
+ hive/cookbook/ts_cost_management.py,sha256=B3cl3Un7PMc5wIuJIUoBvxuKZ1NyKmCkaHNK9cq9uG8,37606
54
+ hive/cookbook/ts_metric_status.py,sha256=hnWhpqBNYawEsMwOd1G5Vgg6JUPk7lT1NBfnxg9TbCw,6370
55
+ hive/cookbook/ts_metric_value.py,sha256=ehkjUMsAcZaA9HC0sN39gYKtXEG2xArdPsmhXWKSBIA,6103
56
+ hive/cookbook/ts_ntop_flows.py,sha256=B8lbGAOKrx2Cjf1X0Gk1PZ0yhqgxbKQg7wQkWM-WobI,17197
55
57
  hive/cookbook/ts_service_status.py,sha256=hr0heuEkEWmjvVsYVMQJpcve0hrQiY3a8w-OdfBchT8,15143
56
58
  hive/cookbook/ts_service_value.py,sha256=oJ0fOAyAr2OuBerwDZRHeFtATkkdED4e_X6mmv7WTzo,14430
57
59
  hive/cookbook/users.py,sha256=XRTFgZEvHqYUr2ieRkI_RXF3VIg4WEOgzxlskj-8-_s,49356
@@ -60,8 +62,8 @@ hive/cookbook/virtual_domains.py,sha256=-i666Jyi3j_EwRUzlymh2-q3bCxAz6TA3Q_lPVDC
60
62
  hive/cookbook/webhooks.py,sha256=xQp7gW4FQP6717d4MCOuQN2Py7nw7TFy4pl9RmkqMKs,6705
61
63
  hive/cookbook/widget_groups.py,sha256=Sd8u_eNr7GYLyN0-wC-k9lsHfNOEmU3HkAvWrwWoZtE,15917
62
64
  hive/cookbook/widgets.py,sha256=d7-DXC-ODNpdt4KjCAzFW0T3HWf0ThOO9yL17jJigdc,23396
63
- xautomata_hive-3.15.5.dist-info/LICENSE,sha256=CFT1oIPm4kciOjwep2r1LQnpATugddSy3D839fsmgFs,1065
64
- xautomata_hive-3.15.5.dist-info/METADATA,sha256=XumZbWq1bhOvwyvIATyahgix6Ck42QVJud6KjQjZmdE,10752
65
- xautomata_hive-3.15.5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
66
- xautomata_hive-3.15.5.dist-info/top_level.txt,sha256=pLpVAuviHGk3pzaFXU-4GKttxGTGAbFoWK8JvUl1jHQ,5
67
- xautomata_hive-3.15.5.dist-info/RECORD,,
65
+ xautomata_hive-3.16.0.dist-info/LICENSE,sha256=CFT1oIPm4kciOjwep2r1LQnpATugddSy3D839fsmgFs,1065
66
+ xautomata_hive-3.16.0.dist-info/METADATA,sha256=tVa3VmOLbUq-p8cBhhiJ7kP9icURPjkg2i8pAWVMjuY,10750
67
+ xautomata_hive-3.16.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
68
+ xautomata_hive-3.16.0.dist-info/top_level.txt,sha256=pLpVAuviHGk3pzaFXU-4GKttxGTGAbFoWK8JvUl1jHQ,5
69
+ xautomata_hive-3.16.0.dist-info/RECORD,,