scc-firewall-manager-sdk 1.15.162__py3-none-any.whl → 1.15.164__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.

Potentially problematic release.


This version of scc-firewall-manager-sdk might be problematic. Click here for more details.

@@ -15,7 +15,7 @@
15
15
  """ # noqa: E501
16
16
 
17
17
 
18
- __version__ = "1.15.162"
18
+ __version__ = "1.15.164"
19
19
 
20
20
  # import apis into sdk package
21
21
  from scc_firewall_manager_sdk.api.ai_assistant_api import AIAssistantApi
@@ -201,6 +201,8 @@ from scc_firewall_manager_sdk.models.meraki_deployment_mode import MerakiDeploym
201
201
  from scc_firewall_manager_sdk.models.meta import Meta
202
202
  from scc_firewall_manager_sdk.models.metric import Metric
203
203
  from scc_firewall_manager_sdk.models.metric_aggregation_item import MetricAggregationItem
204
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_item import MetricAggregationListItem
205
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_response import MetricAggregationListResponse
204
206
  from scc_firewall_manager_sdk.models.metric_aggregation_response import MetricAggregationResponse
205
207
  from scc_firewall_manager_sdk.models.metrics_item import MetricsItem
206
208
  from scc_firewall_manager_sdk.models.metrics_response import MetricsResponse
@@ -20,6 +20,7 @@ from typing_extensions import Annotated
20
20
  from pydantic import Field, StrictStr, field_validator
21
21
  from typing import Optional
22
22
  from typing_extensions import Annotated
23
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_response import MetricAggregationListResponse
23
24
  from scc_firewall_manager_sdk.models.metric_aggregation_response import MetricAggregationResponse
24
25
 
25
26
  from scc_firewall_manager_sdk.api_client import ApiClient, RequestSerialized
@@ -40,6 +41,349 @@ class DeviceHealthAggregationsApi:
40
41
  self.api_client = api_client
41
42
 
42
43
 
44
+ @validate_call
45
+ def get_device_health_metric_aggregation_list(
46
+ self,
47
+ metric: Annotated[StrictStr, Field(description="The metric for the device health aggregation list.")],
48
+ threshold: Annotated[StrictStr, Field(description="The metric threshold (e.g. CRITICAL).")],
49
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned.")] = None,
50
+ managed_tenant_uid: Annotated[Optional[StrictStr], Field(description="A managed tenant UUID to filter list, if applicable.")] = None,
51
+ q: Annotated[Optional[StrictStr], Field(description="Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.")] = None,
52
+ _request_timeout: Union[
53
+ None,
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Tuple[
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Annotated[StrictFloat, Field(gt=0)]
58
+ ]
59
+ ] = None,
60
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
61
+ _content_type: Optional[StrictStr] = None,
62
+ _headers: Optional[Dict[StrictStr, Any]] = None,
63
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
64
+ ) -> MetricAggregationListResponse:
65
+ """Get device list for aggregations
66
+
67
+ Retrieve filtered device list corresponding to aggregation metrics.
68
+
69
+ :param metric: The metric for the device health aggregation list. (required)
70
+ :type metric: str
71
+ :param threshold: The metric threshold (e.g. CRITICAL). (required)
72
+ :type threshold: str
73
+ :param aggregation_period: The aggregation period of the metrics returned.
74
+ :type aggregation_period: str
75
+ :param managed_tenant_uid: A managed tenant UUID to filter list, if applicable.
76
+ :type managed_tenant_uid: str
77
+ :param q: Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.
78
+ :type q: str
79
+ :param _request_timeout: timeout setting for this request. If one
80
+ number provided, it will be total request
81
+ timeout. It can also be a pair (tuple) of
82
+ (connection, read) timeouts.
83
+ :type _request_timeout: int, tuple(int, int), optional
84
+ :param _request_auth: set to override the auth_settings for an a single
85
+ request; this effectively ignores the
86
+ authentication in the spec for a single request.
87
+ :type _request_auth: dict, optional
88
+ :param _content_type: force content-type for the request.
89
+ :type _content_type: str, Optional
90
+ :param _headers: set to override the headers for a single
91
+ request; this effectively ignores the headers
92
+ in the spec for a single request.
93
+ :type _headers: dict, optional
94
+ :param _host_index: set to override the host_index for a single
95
+ request; this effectively ignores the host_index
96
+ in the spec for a single request.
97
+ :type _host_index: int, optional
98
+ :return: Returns the result object.
99
+ """ # noqa: E501
100
+
101
+ _param = self._get_device_health_metric_aggregation_list_serialize(
102
+ metric=metric,
103
+ threshold=threshold,
104
+ aggregation_period=aggregation_period,
105
+ managed_tenant_uid=managed_tenant_uid,
106
+ q=q,
107
+ _request_auth=_request_auth,
108
+ _content_type=_content_type,
109
+ _headers=_headers,
110
+ _host_index=_host_index
111
+ )
112
+
113
+ _response_types_map: Dict[str, Optional[str]] = {
114
+ '200': "MetricAggregationListResponse",
115
+ '400': "CommonApiError",
116
+ '401': "AuthenticationError",
117
+ '403': "CommonApiError",
118
+ '404': "CommonApiError",
119
+ '500': "CommonApiError",
120
+ }
121
+ response_data = self.api_client.call_api(
122
+ *_param,
123
+ _request_timeout=_request_timeout
124
+ )
125
+ response_data.read()
126
+ return self.api_client.response_deserialize(
127
+ response_data=response_data,
128
+ response_types_map=_response_types_map,
129
+ ).data
130
+
131
+
132
+ @validate_call
133
+ def get_device_health_metric_aggregation_list_with_http_info(
134
+ self,
135
+ metric: Annotated[StrictStr, Field(description="The metric for the device health aggregation list.")],
136
+ threshold: Annotated[StrictStr, Field(description="The metric threshold (e.g. CRITICAL).")],
137
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned.")] = None,
138
+ managed_tenant_uid: Annotated[Optional[StrictStr], Field(description="A managed tenant UUID to filter list, if applicable.")] = None,
139
+ q: Annotated[Optional[StrictStr], Field(description="Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.")] = None,
140
+ _request_timeout: Union[
141
+ None,
142
+ Annotated[StrictFloat, Field(gt=0)],
143
+ Tuple[
144
+ Annotated[StrictFloat, Field(gt=0)],
145
+ Annotated[StrictFloat, Field(gt=0)]
146
+ ]
147
+ ] = None,
148
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
149
+ _content_type: Optional[StrictStr] = None,
150
+ _headers: Optional[Dict[StrictStr, Any]] = None,
151
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
152
+ ) -> ApiResponse[MetricAggregationListResponse]:
153
+ """Get device list for aggregations
154
+
155
+ Retrieve filtered device list corresponding to aggregation metrics.
156
+
157
+ :param metric: The metric for the device health aggregation list. (required)
158
+ :type metric: str
159
+ :param threshold: The metric threshold (e.g. CRITICAL). (required)
160
+ :type threshold: str
161
+ :param aggregation_period: The aggregation period of the metrics returned.
162
+ :type aggregation_period: str
163
+ :param managed_tenant_uid: A managed tenant UUID to filter list, if applicable.
164
+ :type managed_tenant_uid: str
165
+ :param q: Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.
166
+ :type q: str
167
+ :param _request_timeout: timeout setting for this request. If one
168
+ number provided, it will be total request
169
+ timeout. It can also be a pair (tuple) of
170
+ (connection, read) timeouts.
171
+ :type _request_timeout: int, tuple(int, int), optional
172
+ :param _request_auth: set to override the auth_settings for an a single
173
+ request; this effectively ignores the
174
+ authentication in the spec for a single request.
175
+ :type _request_auth: dict, optional
176
+ :param _content_type: force content-type for the request.
177
+ :type _content_type: str, Optional
178
+ :param _headers: set to override the headers for a single
179
+ request; this effectively ignores the headers
180
+ in the spec for a single request.
181
+ :type _headers: dict, optional
182
+ :param _host_index: set to override the host_index for a single
183
+ request; this effectively ignores the host_index
184
+ in the spec for a single request.
185
+ :type _host_index: int, optional
186
+ :return: Returns the result object.
187
+ """ # noqa: E501
188
+
189
+ _param = self._get_device_health_metric_aggregation_list_serialize(
190
+ metric=metric,
191
+ threshold=threshold,
192
+ aggregation_period=aggregation_period,
193
+ managed_tenant_uid=managed_tenant_uid,
194
+ q=q,
195
+ _request_auth=_request_auth,
196
+ _content_type=_content_type,
197
+ _headers=_headers,
198
+ _host_index=_host_index
199
+ )
200
+
201
+ _response_types_map: Dict[str, Optional[str]] = {
202
+ '200': "MetricAggregationListResponse",
203
+ '400': "CommonApiError",
204
+ '401': "AuthenticationError",
205
+ '403': "CommonApiError",
206
+ '404': "CommonApiError",
207
+ '500': "CommonApiError",
208
+ }
209
+ response_data = self.api_client.call_api(
210
+ *_param,
211
+ _request_timeout=_request_timeout
212
+ )
213
+ response_data.read()
214
+ return self.api_client.response_deserialize(
215
+ response_data=response_data,
216
+ response_types_map=_response_types_map,
217
+ )
218
+
219
+
220
+ @validate_call
221
+ def get_device_health_metric_aggregation_list_without_preload_content(
222
+ self,
223
+ metric: Annotated[StrictStr, Field(description="The metric for the device health aggregation list.")],
224
+ threshold: Annotated[StrictStr, Field(description="The metric threshold (e.g. CRITICAL).")],
225
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned.")] = None,
226
+ managed_tenant_uid: Annotated[Optional[StrictStr], Field(description="A managed tenant UUID to filter list, if applicable.")] = None,
227
+ q: Annotated[Optional[StrictStr], Field(description="Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.")] = None,
228
+ _request_timeout: Union[
229
+ None,
230
+ Annotated[StrictFloat, Field(gt=0)],
231
+ Tuple[
232
+ Annotated[StrictFloat, Field(gt=0)],
233
+ Annotated[StrictFloat, Field(gt=0)]
234
+ ]
235
+ ] = None,
236
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
237
+ _content_type: Optional[StrictStr] = None,
238
+ _headers: Optional[Dict[StrictStr, Any]] = None,
239
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
240
+ ) -> RESTResponseType:
241
+ """Get device list for aggregations
242
+
243
+ Retrieve filtered device list corresponding to aggregation metrics.
244
+
245
+ :param metric: The metric for the device health aggregation list. (required)
246
+ :type metric: str
247
+ :param threshold: The metric threshold (e.g. CRITICAL). (required)
248
+ :type threshold: str
249
+ :param aggregation_period: The aggregation period of the metrics returned.
250
+ :type aggregation_period: str
251
+ :param managed_tenant_uid: A managed tenant UUID to filter list, if applicable.
252
+ :type managed_tenant_uid: str
253
+ :param q: Lucene-style query filter. Only prefix queries (e.g. field:value*) are supported for filtering.
254
+ :type q: str
255
+ :param _request_timeout: timeout setting for this request. If one
256
+ number provided, it will be total request
257
+ timeout. It can also be a pair (tuple) of
258
+ (connection, read) timeouts.
259
+ :type _request_timeout: int, tuple(int, int), optional
260
+ :param _request_auth: set to override the auth_settings for an a single
261
+ request; this effectively ignores the
262
+ authentication in the spec for a single request.
263
+ :type _request_auth: dict, optional
264
+ :param _content_type: force content-type for the request.
265
+ :type _content_type: str, Optional
266
+ :param _headers: set to override the headers for a single
267
+ request; this effectively ignores the headers
268
+ in the spec for a single request.
269
+ :type _headers: dict, optional
270
+ :param _host_index: set to override the host_index for a single
271
+ request; this effectively ignores the host_index
272
+ in the spec for a single request.
273
+ :type _host_index: int, optional
274
+ :return: Returns the result object.
275
+ """ # noqa: E501
276
+
277
+ _param = self._get_device_health_metric_aggregation_list_serialize(
278
+ metric=metric,
279
+ threshold=threshold,
280
+ aggregation_period=aggregation_period,
281
+ managed_tenant_uid=managed_tenant_uid,
282
+ q=q,
283
+ _request_auth=_request_auth,
284
+ _content_type=_content_type,
285
+ _headers=_headers,
286
+ _host_index=_host_index
287
+ )
288
+
289
+ _response_types_map: Dict[str, Optional[str]] = {
290
+ '200': "MetricAggregationListResponse",
291
+ '400': "CommonApiError",
292
+ '401': "AuthenticationError",
293
+ '403': "CommonApiError",
294
+ '404': "CommonApiError",
295
+ '500': "CommonApiError",
296
+ }
297
+ response_data = self.api_client.call_api(
298
+ *_param,
299
+ _request_timeout=_request_timeout
300
+ )
301
+ return response_data.response
302
+
303
+
304
+ def _get_device_health_metric_aggregation_list_serialize(
305
+ self,
306
+ metric,
307
+ threshold,
308
+ aggregation_period,
309
+ managed_tenant_uid,
310
+ q,
311
+ _request_auth,
312
+ _content_type,
313
+ _headers,
314
+ _host_index,
315
+ ) -> RequestSerialized:
316
+
317
+ _host = None
318
+
319
+ _collection_formats: Dict[str, str] = {
320
+ }
321
+
322
+ _path_params: Dict[str, str] = {}
323
+ _query_params: List[Tuple[str, str]] = []
324
+ _header_params: Dict[str, Optional[str]] = _headers or {}
325
+ _form_params: List[Tuple[str, str]] = []
326
+ _files: Dict[str, str] = {}
327
+ _body_params: Optional[bytes] = None
328
+
329
+ # process the path parameters
330
+ # process the query parameters
331
+ if metric is not None:
332
+
333
+ _query_params.append(('metric', metric))
334
+
335
+ if threshold is not None:
336
+
337
+ _query_params.append(('threshold', threshold))
338
+
339
+ if aggregation_period is not None:
340
+
341
+ _query_params.append(('aggregationPeriod', aggregation_period))
342
+
343
+ if managed_tenant_uid is not None:
344
+
345
+ _query_params.append(('managedTenantUid', managed_tenant_uid))
346
+
347
+ if q is not None:
348
+
349
+ _query_params.append(('q', q))
350
+
351
+ # process the header parameters
352
+ # process the form parameters
353
+ # process the body parameter
354
+
355
+
356
+ # set the HTTP header `Accept`
357
+ _header_params['Accept'] = self.api_client.select_header_accept(
358
+ [
359
+ 'application/json'
360
+ ]
361
+ )
362
+
363
+
364
+ # authentication setting
365
+ _auth_settings: List[str] = [
366
+ 'bearerAuth'
367
+ ]
368
+
369
+ return self.api_client.param_serialize(
370
+ method='GET',
371
+ resource_path='/v1/inventory/devices/health/metrics/aggregations/list',
372
+ path_params=_path_params,
373
+ query_params=_query_params,
374
+ header_params=_header_params,
375
+ body=_body_params,
376
+ post_params=_form_params,
377
+ files=_files,
378
+ auth_settings=_auth_settings,
379
+ collection_formats=_collection_formats,
380
+ _host=_host,
381
+ _request_auth=_request_auth
382
+ )
383
+
384
+
385
+
386
+
43
387
  @validate_call
44
388
  def get_device_health_metric_aggregations(
45
389
  self,
@@ -88,7 +88,7 @@ class ApiClient:
88
88
  self.default_headers[header_name] = header_value
89
89
  self.cookie = cookie
90
90
  # Set default User-Agent.
91
- self.user_agent = 'OpenAPI-Generator/1.15.162/python'
91
+ self.user_agent = 'OpenAPI-Generator/1.15.164/python'
92
92
  self.client_side_validation = configuration.client_side_validation
93
93
 
94
94
  def __enter__(self):
@@ -380,7 +380,7 @@ class Configuration:
380
380
  "OS: {env}\n"\
381
381
  "Python Version: {pyversion}\n"\
382
382
  "Version of the API: 1.15.0\n"\
383
- "SDK Package Version: 1.15.162".\
383
+ "SDK Package Version: 1.15.164".\
384
384
  format(env=sys.platform, pyversion=sys.version)
385
385
 
386
386
  def get_host_settings(self):
@@ -159,6 +159,8 @@ from scc_firewall_manager_sdk.models.meraki_deployment_mode import MerakiDeploym
159
159
  from scc_firewall_manager_sdk.models.meta import Meta
160
160
  from scc_firewall_manager_sdk.models.metric import Metric
161
161
  from scc_firewall_manager_sdk.models.metric_aggregation_item import MetricAggregationItem
162
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_item import MetricAggregationListItem
163
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_response import MetricAggregationListResponse
162
164
  from scc_firewall_manager_sdk.models.metric_aggregation_response import MetricAggregationResponse
163
165
  from scc_firewall_manager_sdk.models.metrics_item import MetricsItem
164
166
  from scc_firewall_manager_sdk.models.metrics_response import MetricsResponse
@@ -0,0 +1,98 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Cisco Security Cloud Control Firewall Manager API
5
+
6
+ Use the documentation to explore the endpoints Security Cloud Control Firewall Manager has to offer
7
+
8
+ The version of the OpenAPI document: 1.15.0
9
+ Contact: cdo.tac@cisco.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class MetricAggregationListItem(BaseModel):
27
+ """
28
+ MetricAggregationListItem
29
+ """ # noqa: E501
30
+ device_name: Optional[StrictStr] = Field(default=None, alias="deviceName")
31
+ device_uid: Optional[StrictStr] = Field(default=None, alias="deviceUid")
32
+ managed_tenant_name: Optional[StrictStr] = Field(default=None, alias="managedTenantName")
33
+ managed_tenant_uid: Optional[StrictStr] = Field(default=None, alias="managedTenantUid")
34
+ metric: Optional[StrictStr] = None
35
+ value: Optional[Union[StrictFloat, StrictInt]] = None
36
+ __properties: ClassVar[List[str]] = ["deviceName", "deviceUid", "managedTenantName", "managedTenantUid", "metric", "value"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
52
+ return json.dumps(self.to_dict())
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of MetricAggregationListItem from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of MetricAggregationListItem from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "deviceName": obj.get("deviceName"),
90
+ "deviceUid": obj.get("deviceUid"),
91
+ "managedTenantName": obj.get("managedTenantName"),
92
+ "managedTenantUid": obj.get("managedTenantUid"),
93
+ "metric": obj.get("metric"),
94
+ "value": obj.get("value")
95
+ })
96
+ return _obj
97
+
98
+
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Cisco Security Cloud Control Firewall Manager API
5
+
6
+ Use the documentation to explore the endpoints Security Cloud Control Firewall Manager has to offer
7
+
8
+ The version of the OpenAPI document: 1.15.0
9
+ Contact: cdo.tac@cisco.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.metric_aggregation_list_item import MetricAggregationListItem
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class MetricAggregationListResponse(BaseModel):
28
+ """
29
+ MetricAggregationListResponse
30
+ """ # noqa: E501
31
+ items: Optional[List[MetricAggregationListItem]] = None
32
+ __properties: ClassVar[List[str]] = ["items"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of MetricAggregationListResponse from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ # override the default output from pydantic by calling `to_dict()` of each item in items (list)
74
+ _items = []
75
+ if self.items:
76
+ for _item in self.items:
77
+ if _item:
78
+ _items.append(_item.to_dict())
79
+ _dict['items'] = _items
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of MetricAggregationListResponse from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "items": [MetricAggregationListItem.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
93
+ })
94
+ return _obj
95
+
96
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scc-firewall-manager-sdk
3
- Version: 1.15.162
3
+ Version: 1.15.164
4
4
  Summary: Cisco Security Cloud Control Firewall Manager API
5
5
  Home-page:
6
6
  Author: Cisco Security Cloud Control TAC
@@ -1,7 +1,7 @@
1
- scc_firewall_manager_sdk/__init__.py,sha256=wGzBF8KIQl4lek0Y0n86U14XWWCzn1XHIzFu2yCAt7U,22492
2
- scc_firewall_manager_sdk/api_client.py,sha256=1XNrRtdspDa0tg4zF64KZU1SWlhj2tzMz3LIGEhTS-k,25921
1
+ scc_firewall_manager_sdk/__init__.py,sha256=17TDCcO3F0l1BsMhivQcdTWx-Nm25OmcTb3sP4TuR0A,22698
2
+ scc_firewall_manager_sdk/api_client.py,sha256=2wxHZGOMJp0fMLOgyQu_Ks1Tyi3f9kx0qjQeK9_8zww,25921
3
3
  scc_firewall_manager_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- scc_firewall_manager_sdk/configuration.py,sha256=UHsD17uDphNeaMsmawC9L2YujxZ1PRjNWav_wZ695EE,15993
4
+ scc_firewall_manager_sdk/configuration.py,sha256=KZLlrqmjR9w-yuFTgHucWOL5nhvcJ77ius7gmw4jsuw,15993
5
5
  scc_firewall_manager_sdk/exceptions.py,sha256=u5-7l5MRjP-aS2pNudBzqSw9OI4xVsIvUjw4WCA8LEk,6039
6
6
  scc_firewall_manager_sdk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  scc_firewall_manager_sdk/rest.py,sha256=cSeilvAB5y-V_10IdXcZ0kOyv5dYW8jeWVhrD6kUDa0,9309
@@ -16,7 +16,7 @@ scc_firewall_manager_sdk/api/changelogs_api.py,sha256=6C4ugk1SwLgJfCM-q-_H2gnNoW
16
16
  scc_firewall_manager_sdk/api/command_line_interface_api.py,sha256=_sUPKdTkBkXNbk5m9iGH1t-eYJbFdzDLjLAuNMWJqYc,110872
17
17
  scc_firewall_manager_sdk/api/commands_api.py,sha256=U1cDPCmUAgOPnCOC8KcbcQpLGSwgOBBgHUcKH6JmWK4,33891
18
18
  scc_firewall_manager_sdk/api/connectors_api.py,sha256=lw4asxJMtyHTm3sxM6Z7S1O2tbr4ZtbjVrZIalmYagI,59889
19
- scc_firewall_manager_sdk/api/device_health_aggregations_api.py,sha256=h6wyzUSbI7IMXjsFnBhuufUcDYhQ7n1dJkVp-wt8XPE,13644
19
+ scc_firewall_manager_sdk/api/device_health_aggregations_api.py,sha256=bD9hjivqaMe9EP5QJbAV5kqfWauc7gsqctZgzNAdjho,28914
20
20
  scc_firewall_manager_sdk/api/device_health_api.py,sha256=UoxgUo10Am1kga8U0Kxhb6DDw6d7wpXxzGopsvUJ1JI,62283
21
21
  scc_firewall_manager_sdk/api/device_upgrades_api.py,sha256=iWb4v4tteX7uoEOncmF34V0n1So7oTPa_tV9AscL9Ck,138718
22
22
  scc_firewall_manager_sdk/api/interface_health_aggregations_api.py,sha256=Oi_onJo1uRI6NBm-ay7HtjKgxdqF22iSRlfws0LBhjo,25297
@@ -32,7 +32,7 @@ scc_firewall_manager_sdk/api/search_api.py,sha256=PonVl7RieSVsbCCVQOdqIA7vx2NCH5
32
32
  scc_firewall_manager_sdk/api/tenant_management_api.py,sha256=3PWPuirkaUck1VZex3w4Cg3qO05GF0f7xeiptaAc5zE,55069
33
33
  scc_firewall_manager_sdk/api/transactions_api.py,sha256=fz0Ko2bAXFpz0SM8psceOlcxq0gXnrnuTEhaX1E0QzA,23402
34
34
  scc_firewall_manager_sdk/api/users_api.py,sha256=MKuyXmxWLSqPBkfA7rUGZ1EO1Ox-Oge7QhhgzSFAVu8,191609
35
- scc_firewall_manager_sdk/models/__init__.py,sha256=eQv_YR9skYDM63M6Qdv3OTdEAHzTmsPLD3QqfUnB4Ug,19816
35
+ scc_firewall_manager_sdk/models/__init__.py,sha256=BnCYMdeADQD9mUnzYthkvNcvbBURYA6PNgxc_yKb4Xk,20022
36
36
  scc_firewall_manager_sdk/models/access_group.py,sha256=9FlXrDT5xhtk-uWuwgMmM-qAGiKZrpfnkphZuogGsHo,4583
37
37
  scc_firewall_manager_sdk/models/access_group_create_input.py,sha256=7tgCifqvqbwS2bZvS_PQdIV_ra_jiEbupJhyaHcG8ys,3930
38
38
  scc_firewall_manager_sdk/models/access_group_page.py,sha256=imWa0te5qmTpXfuE8W8YM3SG01MIn4ewbA-_N8kPKHk,3725
@@ -177,6 +177,8 @@ scc_firewall_manager_sdk/models/meraki_deployment_mode.py,sha256=_bTJMhPEJKTUxLO
177
177
  scc_firewall_manager_sdk/models/meta.py,sha256=qosi0QYsSVWIBzvb4T0CCStW7-uqSLbA9BWNAv7bE9w,2807
178
178
  scc_firewall_manager_sdk/models/metric.py,sha256=4Uneqr033GF08yl-Mr5VOWAigGpfK9gEiysga2SAHoU,3347
179
179
  scc_firewall_manager_sdk/models/metric_aggregation_item.py,sha256=TH6tfqIrXL9sYw-uzTw5Fh5Yp0VT42hEgL9SsTnzlZo,3260
180
+ scc_firewall_manager_sdk/models/metric_aggregation_list_item.py,sha256=ksF15iiW53yXIc-zeXEjlcHr1_wnAfEwJ8z4WyHH7to,3392
181
+ scc_firewall_manager_sdk/models/metric_aggregation_list_response.py,sha256=JRmwUtozQTq6MIq3S51nhqRUaxpFTmJCXibfnTkssN8,3133
180
182
  scc_firewall_manager_sdk/models/metric_aggregation_response.py,sha256=Lie3Jj3HbGmr_dBEVwo-EDxuZeswm6BSwp0yczlEWnU,3271
181
183
  scc_firewall_manager_sdk/models/metrics_item.py,sha256=3GPAqUlfMRNbfaHzgh0ul3cCzfpwz0rHKPYLMjcw2R8,3413
182
184
  scc_firewall_manager_sdk/models/metrics_response.py,sha256=JHzWBpkDk-tV8oFww6bQRwBjWgm65WTMeCWveoEKPlE,3292
@@ -271,7 +273,7 @@ scc_firewall_manager_sdk/models/vlan_interface_create_input.py,sha256=AKUqPJw5ku
271
273
  scc_firewall_manager_sdk/models/vlan_interface_patch_input.py,sha256=srEFTyQykscNrWsbp8KGEzbmHC07_AU3DXjJ-7Be4zc,6054
272
274
  scc_firewall_manager_sdk/models/ztp_onboarding_input.py,sha256=HAgBTdocZeHGDZP_-9NyRtzP9E7BReGtiOmn4S3J-_g,5326
273
275
  scc_firewall_manager_sdk/models/ztp_onboarding_template_configuration.py,sha256=f9Z62yGFvz4QAQ07Z4bjfHLw2bRg46ccwoLuQ8q30TE,4808
274
- scc_firewall_manager_sdk-1.15.162.dist-info/METADATA,sha256=6d0Z8hXsaDcC3aKrmV1mImSuCyQfTRX0bgc0dSWRBJM,596
275
- scc_firewall_manager_sdk-1.15.162.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
276
- scc_firewall_manager_sdk-1.15.162.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
277
- scc_firewall_manager_sdk-1.15.162.dist-info/RECORD,,
276
+ scc_firewall_manager_sdk-1.15.164.dist-info/METADATA,sha256=yASj4YTel3xEkUtKxc17iS6eP-HEYL4bPOPy0uAKetM,596
277
+ scc_firewall_manager_sdk-1.15.164.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
278
+ scc_firewall_manager_sdk-1.15.164.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
279
+ scc_firewall_manager_sdk-1.15.164.dist-info/RECORD,,