scc-firewall-manager-sdk 1.15.16__py3-none-any.whl → 1.15.17__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.16"
18
+ __version__ = "1.15.17"
19
19
 
20
20
  # import apis into sdk package
21
21
  from scc_firewall_manager_sdk.api.ai_assistant_api import AIAssistantApi
@@ -31,6 +31,7 @@ from scc_firewall_manager_sdk.api.connectors_api import ConnectorsApi
31
31
  from scc_firewall_manager_sdk.api.device_health_api import DeviceHealthApi
32
32
  from scc_firewall_manager_sdk.api.device_upgrades_api import DeviceUpgradesApi
33
33
  from scc_firewall_manager_sdk.api.inventory_api import InventoryApi
34
+ from scc_firewall_manager_sdk.api.msp_device_health_aggregations_api import MSPDeviceHealthAggregationsApi
34
35
  from scc_firewall_manager_sdk.api.msp_inventory_api import MSPInventoryApi
35
36
  from scc_firewall_manager_sdk.api.msp_tenant_management_api import MSPTenantManagementApi
36
37
  from scc_firewall_manager_sdk.api.msp_user_management_api import MSPUserManagementApi
@@ -67,6 +68,7 @@ from scc_firewall_manager_sdk.models.access_rule_update_input import AccessRuleU
67
68
  from scc_firewall_manager_sdk.models.active_directory_group import ActiveDirectoryGroup
68
69
  from scc_firewall_manager_sdk.models.active_directory_group_create_or_update_input import ActiveDirectoryGroupCreateOrUpdateInput
69
70
  from scc_firewall_manager_sdk.models.active_directory_group_page import ActiveDirectoryGroupPage
71
+ from scc_firewall_manager_sdk.models.aggregation_threshold_item import AggregationThresholdItem
70
72
  from scc_firewall_manager_sdk.models.ai_assistant_conversation_page import AiAssistantConversationPage
71
73
  from scc_firewall_manager_sdk.models.ai_conversation import AiConversation
72
74
  from scc_firewall_manager_sdk.models.ai_message import AiMessage
@@ -191,6 +193,7 @@ from scc_firewall_manager_sdk.models.memory_health_metrics import MemoryHealthMe
191
193
  from scc_firewall_manager_sdk.models.meraki_deployment_mode import MerakiDeploymentMode
192
194
  from scc_firewall_manager_sdk.models.meta import Meta
193
195
  from scc_firewall_manager_sdk.models.metric import Metric
196
+ from scc_firewall_manager_sdk.models.metric_aggregation_item import MetricAggregationItem
194
197
  from scc_firewall_manager_sdk.models.metrics_item import MetricsItem
195
198
  from scc_firewall_manager_sdk.models.metrics_response import MetricsResponse
196
199
  from scc_firewall_manager_sdk.models.mfa_event import MfaEvent
@@ -199,6 +202,7 @@ from scc_firewall_manager_sdk.models.msp_add_tenant_input import MspAddTenantInp
199
202
  from scc_firewall_manager_sdk.models.msp_add_users_to_tenant_input import MspAddUsersToTenantInput
200
203
  from scc_firewall_manager_sdk.models.msp_create_tenant_input import MspCreateTenantInput
201
204
  from scc_firewall_manager_sdk.models.msp_delete_users_from_tenant_input import MspDeleteUsersFromTenantInput
205
+ from scc_firewall_manager_sdk.models.msp_device_metric_aggregation_response import MspDeviceMetricAggregationResponse
202
206
  from scc_firewall_manager_sdk.models.msp_export_input import MspExportInput
203
207
  from scc_firewall_manager_sdk.models.msp_managed_cloud_service import MspManagedCloudService
204
208
  from scc_firewall_manager_sdk.models.msp_managed_cloud_service_distinct_attribute_values import MspManagedCloudServiceDistinctAttributeValues
@@ -14,6 +14,7 @@ from scc_firewall_manager_sdk.api.connectors_api import ConnectorsApi
14
14
  from scc_firewall_manager_sdk.api.device_health_api import DeviceHealthApi
15
15
  from scc_firewall_manager_sdk.api.device_upgrades_api import DeviceUpgradesApi
16
16
  from scc_firewall_manager_sdk.api.inventory_api import InventoryApi
17
+ from scc_firewall_manager_sdk.api.msp_device_health_aggregations_api import MSPDeviceHealthAggregationsApi
17
18
  from scc_firewall_manager_sdk.api.msp_inventory_api import MSPInventoryApi
18
19
  from scc_firewall_manager_sdk.api.msp_tenant_management_api import MSPTenantManagementApi
19
20
  from scc_firewall_manager_sdk.api.msp_user_management_api import MSPUserManagementApi
@@ -0,0 +1,332 @@
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
+ import warnings
16
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
17
+ from typing import Any, Dict, List, Optional, Tuple, Union
18
+ from typing_extensions import Annotated
19
+
20
+ from pydantic import Field, StrictStr, field_validator
21
+ from typing import Optional
22
+ from typing_extensions import Annotated
23
+ from scc_firewall_manager_sdk.models.msp_device_metric_aggregation_response import MspDeviceMetricAggregationResponse
24
+
25
+ from scc_firewall_manager_sdk.api_client import ApiClient, RequestSerialized
26
+ from scc_firewall_manager_sdk.api_response import ApiResponse
27
+ from scc_firewall_manager_sdk.rest import RESTResponseType
28
+
29
+
30
+ class MSPDeviceHealthAggregationsApi:
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None) -> None:
38
+ if api_client is None:
39
+ api_client = ApiClient.get_default()
40
+ self.api_client = api_client
41
+
42
+
43
+ @validate_call
44
+ def get_msp_asa_device_health_metric_aggregations(
45
+ self,
46
+ metrics: Annotated[Optional[StrictStr], Field(description="Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.")] = None,
47
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned")] = None,
48
+ _request_timeout: Union[
49
+ None,
50
+ Annotated[StrictFloat, Field(gt=0)],
51
+ Tuple[
52
+ Annotated[StrictFloat, Field(gt=0)],
53
+ Annotated[StrictFloat, Field(gt=0)]
54
+ ]
55
+ ] = None,
56
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
57
+ _content_type: Optional[StrictStr] = None,
58
+ _headers: Optional[Dict[StrictStr, Any]] = None,
59
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
60
+ ) -> MspDeviceMetricAggregationResponse:
61
+ """Get MSP device health metric aggregations
62
+
63
+ Retrieve aggregation device health metrics for all the MSP managed devices.
64
+
65
+ :param metrics: Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.
66
+ :type metrics: str
67
+ :param aggregation_period: The aggregation period of the metrics returned
68
+ :type aggregation_period: str
69
+ :param _request_timeout: timeout setting for this request. If one
70
+ number provided, it will be total request
71
+ timeout. It can also be a pair (tuple) of
72
+ (connection, read) timeouts.
73
+ :type _request_timeout: int, tuple(int, int), optional
74
+ :param _request_auth: set to override the auth_settings for an a single
75
+ request; this effectively ignores the
76
+ authentication in the spec for a single request.
77
+ :type _request_auth: dict, optional
78
+ :param _content_type: force content-type for the request.
79
+ :type _content_type: str, Optional
80
+ :param _headers: set to override the headers for a single
81
+ request; this effectively ignores the headers
82
+ in the spec for a single request.
83
+ :type _headers: dict, optional
84
+ :param _host_index: set to override the host_index for a single
85
+ request; this effectively ignores the host_index
86
+ in the spec for a single request.
87
+ :type _host_index: int, optional
88
+ :return: Returns the result object.
89
+ """ # noqa: E501
90
+
91
+ _param = self._get_msp_asa_device_health_metric_aggregations_serialize(
92
+ metrics=metrics,
93
+ aggregation_period=aggregation_period,
94
+ _request_auth=_request_auth,
95
+ _content_type=_content_type,
96
+ _headers=_headers,
97
+ _host_index=_host_index
98
+ )
99
+
100
+ _response_types_map: Dict[str, Optional[str]] = {
101
+ '200': "MspDeviceMetricAggregationResponse",
102
+ '400': "CommonApiError",
103
+ '401': "AuthenticationError",
104
+ '403': "CommonApiError",
105
+ '404': "CommonApiError",
106
+ '500': "CommonApiError",
107
+ }
108
+ response_data = self.api_client.call_api(
109
+ *_param,
110
+ _request_timeout=_request_timeout
111
+ )
112
+ response_data.read()
113
+ return self.api_client.response_deserialize(
114
+ response_data=response_data,
115
+ response_types_map=_response_types_map,
116
+ ).data
117
+
118
+
119
+ @validate_call
120
+ def get_msp_asa_device_health_metric_aggregations_with_http_info(
121
+ self,
122
+ metrics: Annotated[Optional[StrictStr], Field(description="Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.")] = None,
123
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned")] = None,
124
+ _request_timeout: Union[
125
+ None,
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Tuple[
128
+ Annotated[StrictFloat, Field(gt=0)],
129
+ Annotated[StrictFloat, Field(gt=0)]
130
+ ]
131
+ ] = None,
132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
133
+ _content_type: Optional[StrictStr] = None,
134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
136
+ ) -> ApiResponse[MspDeviceMetricAggregationResponse]:
137
+ """Get MSP device health metric aggregations
138
+
139
+ Retrieve aggregation device health metrics for all the MSP managed devices.
140
+
141
+ :param metrics: Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.
142
+ :type metrics: str
143
+ :param aggregation_period: The aggregation period of the metrics returned
144
+ :type aggregation_period: str
145
+ :param _request_timeout: timeout setting for this request. If one
146
+ number provided, it will be total request
147
+ timeout. It can also be a pair (tuple) of
148
+ (connection, read) timeouts.
149
+ :type _request_timeout: int, tuple(int, int), optional
150
+ :param _request_auth: set to override the auth_settings for an a single
151
+ request; this effectively ignores the
152
+ authentication in the spec for a single request.
153
+ :type _request_auth: dict, optional
154
+ :param _content_type: force content-type for the request.
155
+ :type _content_type: str, Optional
156
+ :param _headers: set to override the headers for a single
157
+ request; this effectively ignores the headers
158
+ in the spec for a single request.
159
+ :type _headers: dict, optional
160
+ :param _host_index: set to override the host_index for a single
161
+ request; this effectively ignores the host_index
162
+ in the spec for a single request.
163
+ :type _host_index: int, optional
164
+ :return: Returns the result object.
165
+ """ # noqa: E501
166
+
167
+ _param = self._get_msp_asa_device_health_metric_aggregations_serialize(
168
+ metrics=metrics,
169
+ aggregation_period=aggregation_period,
170
+ _request_auth=_request_auth,
171
+ _content_type=_content_type,
172
+ _headers=_headers,
173
+ _host_index=_host_index
174
+ )
175
+
176
+ _response_types_map: Dict[str, Optional[str]] = {
177
+ '200': "MspDeviceMetricAggregationResponse",
178
+ '400': "CommonApiError",
179
+ '401': "AuthenticationError",
180
+ '403': "CommonApiError",
181
+ '404': "CommonApiError",
182
+ '500': "CommonApiError",
183
+ }
184
+ response_data = self.api_client.call_api(
185
+ *_param,
186
+ _request_timeout=_request_timeout
187
+ )
188
+ response_data.read()
189
+ return self.api_client.response_deserialize(
190
+ response_data=response_data,
191
+ response_types_map=_response_types_map,
192
+ )
193
+
194
+
195
+ @validate_call
196
+ def get_msp_asa_device_health_metric_aggregations_without_preload_content(
197
+ self,
198
+ metrics: Annotated[Optional[StrictStr], Field(description="Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.")] = None,
199
+ aggregation_period: Annotated[Optional[StrictStr], Field(description="The aggregation period of the metrics returned")] = None,
200
+ _request_timeout: Union[
201
+ None,
202
+ Annotated[StrictFloat, Field(gt=0)],
203
+ Tuple[
204
+ Annotated[StrictFloat, Field(gt=0)],
205
+ Annotated[StrictFloat, Field(gt=0)]
206
+ ]
207
+ ] = None,
208
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
209
+ _content_type: Optional[StrictStr] = None,
210
+ _headers: Optional[Dict[StrictStr, Any]] = None,
211
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
212
+ ) -> RESTResponseType:
213
+ """Get MSP device health metric aggregations
214
+
215
+ Retrieve aggregation device health metrics for all the MSP managed devices.
216
+
217
+ :param metrics: Comma-separated list of metrics to return (e.g. cpu,mem). Returns all if omitted.
218
+ :type metrics: str
219
+ :param aggregation_period: The aggregation period of the metrics returned
220
+ :type aggregation_period: str
221
+ :param _request_timeout: timeout setting for this request. If one
222
+ number provided, it will be total request
223
+ timeout. It can also be a pair (tuple) of
224
+ (connection, read) timeouts.
225
+ :type _request_timeout: int, tuple(int, int), optional
226
+ :param _request_auth: set to override the auth_settings for an a single
227
+ request; this effectively ignores the
228
+ authentication in the spec for a single request.
229
+ :type _request_auth: dict, optional
230
+ :param _content_type: force content-type for the request.
231
+ :type _content_type: str, Optional
232
+ :param _headers: set to override the headers for a single
233
+ request; this effectively ignores the headers
234
+ in the spec for a single request.
235
+ :type _headers: dict, optional
236
+ :param _host_index: set to override the host_index for a single
237
+ request; this effectively ignores the host_index
238
+ in the spec for a single request.
239
+ :type _host_index: int, optional
240
+ :return: Returns the result object.
241
+ """ # noqa: E501
242
+
243
+ _param = self._get_msp_asa_device_health_metric_aggregations_serialize(
244
+ metrics=metrics,
245
+ aggregation_period=aggregation_period,
246
+ _request_auth=_request_auth,
247
+ _content_type=_content_type,
248
+ _headers=_headers,
249
+ _host_index=_host_index
250
+ )
251
+
252
+ _response_types_map: Dict[str, Optional[str]] = {
253
+ '200': "MspDeviceMetricAggregationResponse",
254
+ '400': "CommonApiError",
255
+ '401': "AuthenticationError",
256
+ '403': "CommonApiError",
257
+ '404': "CommonApiError",
258
+ '500': "CommonApiError",
259
+ }
260
+ response_data = self.api_client.call_api(
261
+ *_param,
262
+ _request_timeout=_request_timeout
263
+ )
264
+ return response_data.response
265
+
266
+
267
+ def _get_msp_asa_device_health_metric_aggregations_serialize(
268
+ self,
269
+ metrics,
270
+ aggregation_period,
271
+ _request_auth,
272
+ _content_type,
273
+ _headers,
274
+ _host_index,
275
+ ) -> RequestSerialized:
276
+
277
+ _host = None
278
+
279
+ _collection_formats: Dict[str, str] = {
280
+ }
281
+
282
+ _path_params: Dict[str, str] = {}
283
+ _query_params: List[Tuple[str, str]] = []
284
+ _header_params: Dict[str, Optional[str]] = _headers or {}
285
+ _form_params: List[Tuple[str, str]] = []
286
+ _files: Dict[str, str] = {}
287
+ _body_params: Optional[bytes] = None
288
+
289
+ # process the path parameters
290
+ # process the query parameters
291
+ if metrics is not None:
292
+
293
+ _query_params.append(('metrics', metrics))
294
+
295
+ if aggregation_period is not None:
296
+
297
+ _query_params.append(('aggregationPeriod', aggregation_period))
298
+
299
+ # process the header parameters
300
+ # process the form parameters
301
+ # process the body parameter
302
+
303
+
304
+ # set the HTTP header `Accept`
305
+ _header_params['Accept'] = self.api_client.select_header_accept(
306
+ [
307
+ 'application/json'
308
+ ]
309
+ )
310
+
311
+
312
+ # authentication setting
313
+ _auth_settings: List[str] = [
314
+ 'bearerAuth'
315
+ ]
316
+
317
+ return self.api_client.param_serialize(
318
+ method='GET',
319
+ resource_path='/v1/msp/inventory/devices/asas/health/metrics/aggregations',
320
+ path_params=_path_params,
321
+ query_params=_query_params,
322
+ header_params=_header_params,
323
+ body=_body_params,
324
+ post_params=_form_params,
325
+ files=_files,
326
+ auth_settings=_auth_settings,
327
+ collection_formats=_collection_formats,
328
+ _host=_host,
329
+ _request_auth=_request_auth
330
+ )
331
+
332
+
@@ -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.16/python'
91
+ self.user_agent = 'OpenAPI-Generator/1.15.17/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.16".\
383
+ "SDK Package Version: 1.15.17".\
384
384
  format(env=sys.platform, pyversion=sys.version)
385
385
 
386
386
  def get_host_settings(self):
@@ -28,6 +28,7 @@ from scc_firewall_manager_sdk.models.access_rule_update_input import AccessRuleU
28
28
  from scc_firewall_manager_sdk.models.active_directory_group import ActiveDirectoryGroup
29
29
  from scc_firewall_manager_sdk.models.active_directory_group_create_or_update_input import ActiveDirectoryGroupCreateOrUpdateInput
30
30
  from scc_firewall_manager_sdk.models.active_directory_group_page import ActiveDirectoryGroupPage
31
+ from scc_firewall_manager_sdk.models.aggregation_threshold_item import AggregationThresholdItem
31
32
  from scc_firewall_manager_sdk.models.ai_assistant_conversation_page import AiAssistantConversationPage
32
33
  from scc_firewall_manager_sdk.models.ai_conversation import AiConversation
33
34
  from scc_firewall_manager_sdk.models.ai_message import AiMessage
@@ -152,6 +153,7 @@ from scc_firewall_manager_sdk.models.memory_health_metrics import MemoryHealthMe
152
153
  from scc_firewall_manager_sdk.models.meraki_deployment_mode import MerakiDeploymentMode
153
154
  from scc_firewall_manager_sdk.models.meta import Meta
154
155
  from scc_firewall_manager_sdk.models.metric import Metric
156
+ from scc_firewall_manager_sdk.models.metric_aggregation_item import MetricAggregationItem
155
157
  from scc_firewall_manager_sdk.models.metrics_item import MetricsItem
156
158
  from scc_firewall_manager_sdk.models.metrics_response import MetricsResponse
157
159
  from scc_firewall_manager_sdk.models.mfa_event import MfaEvent
@@ -160,6 +162,7 @@ from scc_firewall_manager_sdk.models.msp_add_tenant_input import MspAddTenantInp
160
162
  from scc_firewall_manager_sdk.models.msp_add_users_to_tenant_input import MspAddUsersToTenantInput
161
163
  from scc_firewall_manager_sdk.models.msp_create_tenant_input import MspCreateTenantInput
162
164
  from scc_firewall_manager_sdk.models.msp_delete_users_from_tenant_input import MspDeleteUsersFromTenantInput
165
+ from scc_firewall_manager_sdk.models.msp_device_metric_aggregation_response import MspDeviceMetricAggregationResponse
163
166
  from scc_firewall_manager_sdk.models.msp_export_input import MspExportInput
164
167
  from scc_firewall_manager_sdk.models.msp_managed_cloud_service import MspManagedCloudService
165
168
  from scc_firewall_manager_sdk.models.msp_managed_cloud_service_distinct_attribute_values import MspManagedCloudServiceDistinctAttributeValues
@@ -0,0 +1,90 @@
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, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class AggregationThresholdItem(BaseModel):
27
+ """
28
+ AggregationThresholdItem
29
+ """ # noqa: E501
30
+ name: Optional[StrictStr] = None
31
+ value: Optional[StrictInt] = None
32
+ __properties: ClassVar[List[str]] = ["name", "value"]
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 AggregationThresholdItem 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
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of AggregationThresholdItem from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "name": obj.get("name"),
86
+ "value": obj.get("value")
87
+ })
88
+ return _obj
89
+
90
+
@@ -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, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.aggregation_threshold_item import AggregationThresholdItem
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class MetricAggregationItem(BaseModel):
28
+ """
29
+ MetricAggregationItem
30
+ """ # noqa: E501
31
+ aggregations: Optional[List[AggregationThresholdItem]] = None
32
+ metric: Optional[StrictStr] = None
33
+ __properties: ClassVar[List[str]] = ["aggregations", "metric"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of MetricAggregationItem from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ # override the default output from pydantic by calling `to_dict()` of each item in aggregations (list)
75
+ _items = []
76
+ if self.aggregations:
77
+ for _item in self.aggregations:
78
+ if _item:
79
+ _items.append(_item.to_dict())
80
+ _dict['aggregations'] = _items
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of MetricAggregationItem from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "aggregations": [AggregationThresholdItem.from_dict(_item) for _item in obj["aggregations"]] if obj.get("aggregations") is not None else None,
94
+ "metric": obj.get("metric")
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, Field
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.metric_aggregation_item import MetricAggregationItem
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class MspDeviceMetricAggregationResponse(BaseModel):
28
+ """
29
+ MspDeviceMetricAggregationResponse
30
+ """ # noqa: E501
31
+ metric_aggregations: Optional[List[MetricAggregationItem]] = Field(default=None, alias="metricAggregations")
32
+ __properties: ClassVar[List[str]] = ["metricAggregations"]
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 MspDeviceMetricAggregationResponse 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 metric_aggregations (list)
74
+ _items = []
75
+ if self.metric_aggregations:
76
+ for _item in self.metric_aggregations:
77
+ if _item:
78
+ _items.append(_item.to_dict())
79
+ _dict['metricAggregations'] = _items
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of MspDeviceMetricAggregationResponse 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
+ "metricAggregations": [MetricAggregationItem.from_dict(_item) for _item in obj["metricAggregations"]] if obj.get("metricAggregations") 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.16
3
+ Version: 1.15.17
4
4
  Summary: Cisco Security Cloud Control Firewall Manager API
5
5
  Home-page:
6
6
  Author: Cisco Security Cloud Control TAC
@@ -1,11 +1,11 @@
1
- scc_firewall_manager_sdk/__init__.py,sha256=7bpnddpkey7VwsXt3Z_K1jCzkJ_NolJXw-yrkD480O0,21153
2
- scc_firewall_manager_sdk/api_client.py,sha256=X26XcRae85TlTWUSbQcfSKB-5kjFVdvekUuj_7XsvU4,25920
1
+ scc_firewall_manager_sdk/__init__.py,sha256=okvKfxOQaoaIxdFKzLgc9oqXCl6InZkAMzT5nqoagA4,21564
2
+ scc_firewall_manager_sdk/api_client.py,sha256=X_I5lXh64CA-fJVmkV95tNPTKqimpndlr6Alofn1XJ8,25920
3
3
  scc_firewall_manager_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- scc_firewall_manager_sdk/configuration.py,sha256=bVDax74xd95xn4HtxZ9n_qCFI9MCbzG50ewdys-eOQg,15992
4
+ scc_firewall_manager_sdk/configuration.py,sha256=199rYBhoVoBuRaYoLMsE_WX_CGRWDgY7A4UhOEU6Rys,15992
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
8
- scc_firewall_manager_sdk/api/__init__.py,sha256=3FzYxiiX6Xtf5htomk9CYAQhAZugJ4jk6Td7pG-o9wc,1795
8
+ scc_firewall_manager_sdk/api/__init__.py,sha256=EBpVTxKjphjG9fkFJs1t79R_6B-xa262-FyDTKItohw,1902
9
9
  scc_firewall_manager_sdk/api/ai_assistant_api.py,sha256=k4PXtChJD_MzAc5cn_EYtC1Q4YCCknDPTYhLlh4tFhA,60316
10
10
  scc_firewall_manager_sdk/api/asa_access_groups_api.py,sha256=n29L7dlwRpP8MsBlgMn9pSwV-uCXf5QHf18qiEXU4xY,60430
11
11
  scc_firewall_manager_sdk/api/asa_access_rules_api.py,sha256=zStpYuIiNHyTaIINPqu5qSSWp3-wGo9SmXodwEJEJhI,60377
@@ -20,6 +20,7 @@ scc_firewall_manager_sdk/api/device_health_api.py,sha256=UoxgUo10Am1kga8U0Kxhb6D
20
20
  scc_firewall_manager_sdk/api/device_upgrades_api.py,sha256=TOGEt_CpLJgSYCOJyZ-lw3ilHxFcqsZRTskXvWZzDM8,87919
21
21
  scc_firewall_manager_sdk/api/inventory_api.py,sha256=EJqDZzqBE4w_klxuo84rSYmrmbinGSJEbSbU6Wqs4Gg,444995
22
22
  scc_firewall_manager_sdk/api/meta_api.py,sha256=0T4mIpkOc0FyDIvEN5qhRQbKN4CzOM00_sRVY2oG59U,29963
23
+ scc_firewall_manager_sdk/api/msp_device_health_aggregations_api.py,sha256=uRgrs-XnYApCIYVOd8Hb4nr955EZ6dIUX9YOV2sSBxA,13813
23
24
  scc_firewall_manager_sdk/api/msp_inventory_api.py,sha256=eLYqsv_7YNxQGLQLqEnWfSFPIJ8nWnuJQkZfxtGapxM,185473
24
25
  scc_firewall_manager_sdk/api/msp_tenant_management_api.py,sha256=u1Ljk5-A3JnMGyfGNVVyc1L2ll6I1m43hrLflbqvT5M,108920
25
26
  scc_firewall_manager_sdk/api/msp_user_management_api.py,sha256=MPy-WAv52ziuUcrK_Tq_q38PN1pbpgfL5fdqzYP81S8,54797
@@ -29,7 +30,7 @@ scc_firewall_manager_sdk/api/search_api.py,sha256=PonVl7RieSVsbCCVQOdqIA7vx2NCH5
29
30
  scc_firewall_manager_sdk/api/tenant_management_api.py,sha256=3PWPuirkaUck1VZex3w4Cg3qO05GF0f7xeiptaAc5zE,55069
30
31
  scc_firewall_manager_sdk/api/transactions_api.py,sha256=MHHQpikDJuyPAaDcXvLdIWZcpDVFYL8gmk4YkZQbTJE,12470
31
32
  scc_firewall_manager_sdk/api/users_api.py,sha256=MKuyXmxWLSqPBkfA7rUGZ1EO1Ox-Oge7QhhgzSFAVu8,191609
32
- scc_firewall_manager_sdk/models/__init__.py,sha256=yEVgolPprRKHiMJHIW9gEdSG4g4hBsn0GLXYk1BhFIY,18770
33
+ scc_firewall_manager_sdk/models/__init__.py,sha256=WIwPzwzTqsvnXRzdC9lZJyOI-129CffPeD7zQN4LPWw,19074
33
34
  scc_firewall_manager_sdk/models/access_group.py,sha256=9FlXrDT5xhtk-uWuwgMmM-qAGiKZrpfnkphZuogGsHo,4583
34
35
  scc_firewall_manager_sdk/models/access_group_create_input.py,sha256=7tgCifqvqbwS2bZvS_PQdIV_ra_jiEbupJhyaHcG8ys,3930
35
36
  scc_firewall_manager_sdk/models/access_group_page.py,sha256=imWa0te5qmTpXfuE8W8YM3SG01MIn4ewbA-_N8kPKHk,3725
@@ -43,6 +44,7 @@ scc_firewall_manager_sdk/models/access_rule_update_input.py,sha256=BeZ8GP0GFMcj3
43
44
  scc_firewall_manager_sdk/models/active_directory_group.py,sha256=UfrhQnV1zftTwLofEW3LAAALFLaSsKEoRtTk7Xahkf8,3789
44
45
  scc_firewall_manager_sdk/models/active_directory_group_create_or_update_input.py,sha256=2A6MNElWK48CFhOpjgfqRkZSXGzEnDLp4SEXTilA1BA,3851
45
46
  scc_firewall_manager_sdk/models/active_directory_group_page.py,sha256=ZjeIXbOMb05-dOd63dS6TySYLDS4vaJG_EkwlP9VcQs,3798
47
+ scc_firewall_manager_sdk/models/aggregation_threshold_item.py,sha256=i3nEd3TUGuMKVrj_HmMkQS4R_HDf6qJNJKBf0bwOfeE,2703
46
48
  scc_firewall_manager_sdk/models/ai_assistant_conversation_page.py,sha256=b0wK_AfU1I4vJYlh5uMPtMiFVkHz4MPWAqY4o2tyAJA,3785
47
49
  scc_firewall_manager_sdk/models/ai_conversation.py,sha256=GodtYc2XsRLfejs8X9_4y6yOO7wOcsNXciEP_sDe9oI,3721
48
50
  scc_firewall_manager_sdk/models/ai_message.py,sha256=0g4dHqvBjGEQOI3djvnv1ANqQ5dDYD4ef2OkJs17u0c,3873
@@ -167,6 +169,7 @@ scc_firewall_manager_sdk/models/memory_health_metrics.py,sha256=BH9FQkZ0UJdw-3M4
167
169
  scc_firewall_manager_sdk/models/meraki_deployment_mode.py,sha256=_bTJMhPEJKTUxLOmHVC9VjBJ2jwHcNjGa3FV0MZDHG0,850
168
170
  scc_firewall_manager_sdk/models/meta.py,sha256=qosi0QYsSVWIBzvb4T0CCStW7-uqSLbA9BWNAv7bE9w,2807
169
171
  scc_firewall_manager_sdk/models/metric.py,sha256=4Uneqr033GF08yl-Mr5VOWAigGpfK9gEiysga2SAHoU,3347
172
+ scc_firewall_manager_sdk/models/metric_aggregation_item.py,sha256=TH6tfqIrXL9sYw-uzTw5Fh5Yp0VT42hEgL9SsTnzlZo,3260
170
173
  scc_firewall_manager_sdk/models/metrics_item.py,sha256=3GPAqUlfMRNbfaHzgh0ul3cCzfpwz0rHKPYLMjcw2R8,3413
171
174
  scc_firewall_manager_sdk/models/metrics_response.py,sha256=JHzWBpkDk-tV8oFww6bQRwBjWgm65WTMeCWveoEKPlE,3292
172
175
  scc_firewall_manager_sdk/models/mfa_event.py,sha256=TMQsBFkHWPcKr548CtZH63wBXJUQH_pUQ3abNiuxnRg,4663
@@ -175,6 +178,7 @@ scc_firewall_manager_sdk/models/msp_add_tenant_input.py,sha256=8AUS2ZlPUNyqvenEX
175
178
  scc_firewall_manager_sdk/models/msp_add_users_to_tenant_input.py,sha256=zh4tLdlt02dQXYD1AA8eyEOVWCMAyuJTctFph9W5U4E,3227
176
179
  scc_firewall_manager_sdk/models/msp_create_tenant_input.py,sha256=M2e4eXR17qZ-taqJjNffegwMdW-WW5yHbQhCs4PotIA,3788
177
180
  scc_firewall_manager_sdk/models/msp_delete_users_from_tenant_input.py,sha256=WSDxobFaalh3J5HyS0wu4_5FsXp0RLS2lefO_fkWhRg,2855
181
+ scc_firewall_manager_sdk/models/msp_device_metric_aggregation_response.py,sha256=0rHN_M519ttXky2-7v4L079PaWw8ULL0RtJk8fLB4GI,3307
178
182
  scc_firewall_manager_sdk/models/msp_export_input.py,sha256=OcIWeptdOLWRGBVsj6LCcl2yzCbEMQLxCKOW0kzl_2g,2779
179
183
  scc_firewall_manager_sdk/models/msp_managed_cloud_service.py,sha256=_PYu5Nn-6xrJMH_3fbHHdXSESWevOtTj4pM55hIGDpQ,5482
180
184
  scc_firewall_manager_sdk/models/msp_managed_cloud_service_distinct_attribute_values.py,sha256=p3LQ3KOJ2uR--Qvy1-5vVlk4kYEVTijTDElHqCNR_Rc,4719
@@ -257,7 +261,7 @@ scc_firewall_manager_sdk/models/vlan_interface_create_input.py,sha256=AKUqPJw5ku
257
261
  scc_firewall_manager_sdk/models/vlan_interface_patch_input.py,sha256=srEFTyQykscNrWsbp8KGEzbmHC07_AU3DXjJ-7Be4zc,6054
258
262
  scc_firewall_manager_sdk/models/ztp_onboarding_input.py,sha256=HAgBTdocZeHGDZP_-9NyRtzP9E7BReGtiOmn4S3J-_g,5326
259
263
  scc_firewall_manager_sdk/models/ztp_onboarding_template_configuration.py,sha256=f9Z62yGFvz4QAQ07Z4bjfHLw2bRg46ccwoLuQ8q30TE,4808
260
- scc_firewall_manager_sdk-1.15.16.dist-info/METADATA,sha256=sHMg2RNIoCBywg6_JmRUPtXVfJR0wnsAutlp_-jx3ZQ,595
261
- scc_firewall_manager_sdk-1.15.16.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
262
- scc_firewall_manager_sdk-1.15.16.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
263
- scc_firewall_manager_sdk-1.15.16.dist-info/RECORD,,
264
+ scc_firewall_manager_sdk-1.15.17.dist-info/METADATA,sha256=35OA6uZdfJqoTa6UZsYfLTOY-u9vHB7p5WqS7TTq1D0,595
265
+ scc_firewall_manager_sdk-1.15.17.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
266
+ scc_firewall_manager_sdk-1.15.17.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
267
+ scc_firewall_manager_sdk-1.15.17.dist-info/RECORD,,