scc-firewall-manager-sdk 1.15.109__py3-none-any.whl → 1.15.111__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.109"
18
+ __version__ = "1.15.111"
19
19
 
20
20
  # import apis into sdk package
21
21
  from scc_firewall_manager_sdk.api.ai_assistant_api import AIAssistantApi
@@ -33,6 +33,7 @@ from scc_firewall_manager_sdk.api.device_health_aggregations_api import DeviceHe
33
33
  from scc_firewall_manager_sdk.api.device_upgrades_api import DeviceUpgradesApi
34
34
  from scc_firewall_manager_sdk.api.interface_health_aggregations_api import InterfaceHealthAggregationsApi
35
35
  from scc_firewall_manager_sdk.api.inventory_api import InventoryApi
36
+ from scc_firewall_manager_sdk.api.msp_device_upgrades_api import MSPDeviceUpgradesApi
36
37
  from scc_firewall_manager_sdk.api.msp_inventory_api import MSPInventoryApi
37
38
  from scc_firewall_manager_sdk.api.msp_tenant_management_api import MSPTenantManagementApi
38
39
  from scc_firewall_manager_sdk.api.msp_user_management_api import MSPUserManagementApi
@@ -269,6 +270,7 @@ from scc_firewall_manager_sdk.models.switch_port_config import SwitchPortConfig
269
270
  from scc_firewall_manager_sdk.models.target import Target
270
271
  from scc_firewall_manager_sdk.models.targets_request import TargetsRequest
271
272
  from scc_firewall_manager_sdk.models.tenant import Tenant
273
+ from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
272
274
  from scc_firewall_manager_sdk.models.tenant_page import TenantPage
273
275
  from scc_firewall_manager_sdk.models.tenant_settings import TenantSettings
274
276
  from scc_firewall_manager_sdk.models.unified_object_list_view import UnifiedObjectListView
@@ -16,6 +16,7 @@ from scc_firewall_manager_sdk.api.device_health_aggregations_api import DeviceHe
16
16
  from scc_firewall_manager_sdk.api.device_upgrades_api import DeviceUpgradesApi
17
17
  from scc_firewall_manager_sdk.api.interface_health_aggregations_api import InterfaceHealthAggregationsApi
18
18
  from scc_firewall_manager_sdk.api.inventory_api import InventoryApi
19
+ from scc_firewall_manager_sdk.api.msp_device_upgrades_api import MSPDeviceUpgradesApi
19
20
  from scc_firewall_manager_sdk.api.msp_inventory_api import MSPInventoryApi
20
21
  from scc_firewall_manager_sdk.api.msp_tenant_management_api import MSPTenantManagementApi
21
22
  from scc_firewall_manager_sdk.api.msp_user_management_api import MSPUserManagementApi
@@ -0,0 +1,313 @@
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
21
+ from typing import List
22
+ from typing_extensions import Annotated
23
+ from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
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 MSPDeviceUpgradesApi:
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_compatible_ftd_versions_for_msp_managed_ftd_devices(
45
+ self,
46
+ device_uids: Annotated[List[StrictStr], Field(min_length=1, max_length=50, description="A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal.")],
47
+ _request_timeout: Union[
48
+ None,
49
+ Annotated[StrictFloat, Field(gt=0)],
50
+ Tuple[
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Annotated[StrictFloat, Field(gt=0)]
53
+ ]
54
+ ] = None,
55
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
56
+ _content_type: Optional[StrictStr] = None,
57
+ _headers: Optional[Dict[StrictStr, Any]] = None,
58
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
59
+ ) -> TenantFtdCompatibilityVersion:
60
+ """Get upgrade versions compatible with multiple FTDs per tenant
61
+
62
+ <p>List of compatible upgrade versions, grouped by tenant and hardware model.</p> <p><strong>First Request:</strong></p> <ul> <li>When called with a list of device UUIDs for the first time</li> <li>Returns <strong>HTTP 202</strong> (Accepted) with a transaction ID</li> <li>Asynchronously builds the list of compatible upgrade versions in the background</li> </ul> <p><strong>Subsequent Requests:</strong></p> <ul> <li>When called again after the transaction completes</li> <li>Returns <strong>HTTP 200</strong> (OK) with the actual compatible upgrade versions data, grouped by the unique identifiers of the managed tenant and the hardware model of the device. </li> </ul> <p><strong>Usage Pattern:</strong></p> <ol> <li>Make initial request with device UUIDs</li> <li>Receive 202 response with transaction details</li> <li>Poll the endpoint until you receive a 200 response with the results</li> </ol> <p><em>Note:</em> The response will be grouped by tenant for easier organization and processing.</p> <p><em>Note:</em> The response will return a single compatible version, if available, for all of the devices in a single tenant..</p>
63
+
64
+ :param device_uids: A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal. (required)
65
+ :type device_uids: List[str]
66
+ :param _request_timeout: timeout setting for this request. If one
67
+ number provided, it will be total request
68
+ timeout. It can also be a pair (tuple) of
69
+ (connection, read) timeouts.
70
+ :type _request_timeout: int, tuple(int, int), optional
71
+ :param _request_auth: set to override the auth_settings for an a single
72
+ request; this effectively ignores the
73
+ authentication in the spec for a single request.
74
+ :type _request_auth: dict, optional
75
+ :param _content_type: force content-type for the request.
76
+ :type _content_type: str, Optional
77
+ :param _headers: set to override the headers for a single
78
+ request; this effectively ignores the headers
79
+ in the spec for a single request.
80
+ :type _headers: dict, optional
81
+ :param _host_index: set to override the host_index for a single
82
+ request; this effectively ignores the host_index
83
+ in the spec for a single request.
84
+ :type _host_index: int, optional
85
+ :return: Returns the result object.
86
+ """ # noqa: E501
87
+
88
+ _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
89
+ device_uids=device_uids,
90
+ _request_auth=_request_auth,
91
+ _content_type=_content_type,
92
+ _headers=_headers,
93
+ _host_index=_host_index
94
+ )
95
+
96
+ _response_types_map: Dict[str, Optional[str]] = {
97
+ '200': "TenantFtdCompatibilityVersion",
98
+ '202': "CdoTransaction",
99
+ '404': "CommonApiError",
100
+ '422': "CommonApiError",
101
+ '500': "CommonApiError",
102
+ }
103
+ response_data = self.api_client.call_api(
104
+ *_param,
105
+ _request_timeout=_request_timeout
106
+ )
107
+ response_data.read()
108
+ return self.api_client.response_deserialize(
109
+ response_data=response_data,
110
+ response_types_map=_response_types_map,
111
+ ).data
112
+
113
+
114
+ @validate_call
115
+ def get_compatible_ftd_versions_for_msp_managed_ftd_devices_with_http_info(
116
+ self,
117
+ device_uids: Annotated[List[StrictStr], Field(min_length=1, max_length=50, description="A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal.")],
118
+ _request_timeout: Union[
119
+ None,
120
+ Annotated[StrictFloat, Field(gt=0)],
121
+ Tuple[
122
+ Annotated[StrictFloat, Field(gt=0)],
123
+ Annotated[StrictFloat, Field(gt=0)]
124
+ ]
125
+ ] = None,
126
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
127
+ _content_type: Optional[StrictStr] = None,
128
+ _headers: Optional[Dict[StrictStr, Any]] = None,
129
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
130
+ ) -> ApiResponse[TenantFtdCompatibilityVersion]:
131
+ """Get upgrade versions compatible with multiple FTDs per tenant
132
+
133
+ <p>List of compatible upgrade versions, grouped by tenant and hardware model.</p> <p><strong>First Request:</strong></p> <ul> <li>When called with a list of device UUIDs for the first time</li> <li>Returns <strong>HTTP 202</strong> (Accepted) with a transaction ID</li> <li>Asynchronously builds the list of compatible upgrade versions in the background</li> </ul> <p><strong>Subsequent Requests:</strong></p> <ul> <li>When called again after the transaction completes</li> <li>Returns <strong>HTTP 200</strong> (OK) with the actual compatible upgrade versions data, grouped by the unique identifiers of the managed tenant and the hardware model of the device. </li> </ul> <p><strong>Usage Pattern:</strong></p> <ol> <li>Make initial request with device UUIDs</li> <li>Receive 202 response with transaction details</li> <li>Poll the endpoint until you receive a 200 response with the results</li> </ol> <p><em>Note:</em> The response will be grouped by tenant for easier organization and processing.</p> <p><em>Note:</em> The response will return a single compatible version, if available, for all of the devices in a single tenant..</p>
134
+
135
+ :param device_uids: A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal. (required)
136
+ :type device_uids: List[str]
137
+ :param _request_timeout: timeout setting for this request. If one
138
+ number provided, it will be total request
139
+ timeout. It can also be a pair (tuple) of
140
+ (connection, read) timeouts.
141
+ :type _request_timeout: int, tuple(int, int), optional
142
+ :param _request_auth: set to override the auth_settings for an a single
143
+ request; this effectively ignores the
144
+ authentication in the spec for a single request.
145
+ :type _request_auth: dict, optional
146
+ :param _content_type: force content-type for the request.
147
+ :type _content_type: str, Optional
148
+ :param _headers: set to override the headers for a single
149
+ request; this effectively ignores the headers
150
+ in the spec for a single request.
151
+ :type _headers: dict, optional
152
+ :param _host_index: set to override the host_index for a single
153
+ request; this effectively ignores the host_index
154
+ in the spec for a single request.
155
+ :type _host_index: int, optional
156
+ :return: Returns the result object.
157
+ """ # noqa: E501
158
+
159
+ _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
160
+ device_uids=device_uids,
161
+ _request_auth=_request_auth,
162
+ _content_type=_content_type,
163
+ _headers=_headers,
164
+ _host_index=_host_index
165
+ )
166
+
167
+ _response_types_map: Dict[str, Optional[str]] = {
168
+ '200': "TenantFtdCompatibilityVersion",
169
+ '202': "CdoTransaction",
170
+ '404': "CommonApiError",
171
+ '422': "CommonApiError",
172
+ '500': "CommonApiError",
173
+ }
174
+ response_data = self.api_client.call_api(
175
+ *_param,
176
+ _request_timeout=_request_timeout
177
+ )
178
+ response_data.read()
179
+ return self.api_client.response_deserialize(
180
+ response_data=response_data,
181
+ response_types_map=_response_types_map,
182
+ )
183
+
184
+
185
+ @validate_call
186
+ def get_compatible_ftd_versions_for_msp_managed_ftd_devices_without_preload_content(
187
+ self,
188
+ device_uids: Annotated[List[StrictStr], Field(min_length=1, max_length=50, description="A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal.")],
189
+ _request_timeout: Union[
190
+ None,
191
+ Annotated[StrictFloat, Field(gt=0)],
192
+ Tuple[
193
+ Annotated[StrictFloat, Field(gt=0)],
194
+ Annotated[StrictFloat, Field(gt=0)]
195
+ ]
196
+ ] = None,
197
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
198
+ _content_type: Optional[StrictStr] = None,
199
+ _headers: Optional[Dict[StrictStr, Any]] = None,
200
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
201
+ ) -> RESTResponseType:
202
+ """Get upgrade versions compatible with multiple FTDs per tenant
203
+
204
+ <p>List of compatible upgrade versions, grouped by tenant and hardware model.</p> <p><strong>First Request:</strong></p> <ul> <li>When called with a list of device UUIDs for the first time</li> <li>Returns <strong>HTTP 202</strong> (Accepted) with a transaction ID</li> <li>Asynchronously builds the list of compatible upgrade versions in the background</li> </ul> <p><strong>Subsequent Requests:</strong></p> <ul> <li>When called again after the transaction completes</li> <li>Returns <strong>HTTP 200</strong> (OK) with the actual compatible upgrade versions data, grouped by the unique identifiers of the managed tenant and the hardware model of the device. </li> </ul> <p><strong>Usage Pattern:</strong></p> <ol> <li>Make initial request with device UUIDs</li> <li>Receive 202 response with transaction details</li> <li>Poll the endpoint until you receive a 200 response with the results</li> </ol> <p><em>Note:</em> The response will be grouped by tenant for easier organization and processing.</p> <p><em>Note:</em> The response will return a single compatible version, if available, for all of the devices in a single tenant..</p>
205
+
206
+ :param device_uids: A list of unique identifiers, represented as UUIDs, of the devices in Security Cloud Control. Note: All of the devices specified have to be on tenants managed by the MSP portal. (required)
207
+ :type device_uids: List[str]
208
+ :param _request_timeout: timeout setting for this request. If one
209
+ number provided, it will be total request
210
+ timeout. It can also be a pair (tuple) of
211
+ (connection, read) timeouts.
212
+ :type _request_timeout: int, tuple(int, int), optional
213
+ :param _request_auth: set to override the auth_settings for an a single
214
+ request; this effectively ignores the
215
+ authentication in the spec for a single request.
216
+ :type _request_auth: dict, optional
217
+ :param _content_type: force content-type for the request.
218
+ :type _content_type: str, Optional
219
+ :param _headers: set to override the headers for a single
220
+ request; this effectively ignores the headers
221
+ in the spec for a single request.
222
+ :type _headers: dict, optional
223
+ :param _host_index: set to override the host_index for a single
224
+ request; this effectively ignores the host_index
225
+ in the spec for a single request.
226
+ :type _host_index: int, optional
227
+ :return: Returns the result object.
228
+ """ # noqa: E501
229
+
230
+ _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
231
+ device_uids=device_uids,
232
+ _request_auth=_request_auth,
233
+ _content_type=_content_type,
234
+ _headers=_headers,
235
+ _host_index=_host_index
236
+ )
237
+
238
+ _response_types_map: Dict[str, Optional[str]] = {
239
+ '200': "TenantFtdCompatibilityVersion",
240
+ '202': "CdoTransaction",
241
+ '404': "CommonApiError",
242
+ '422': "CommonApiError",
243
+ '500': "CommonApiError",
244
+ }
245
+ response_data = self.api_client.call_api(
246
+ *_param,
247
+ _request_timeout=_request_timeout
248
+ )
249
+ return response_data.response
250
+
251
+
252
+ def _get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
253
+ self,
254
+ device_uids,
255
+ _request_auth,
256
+ _content_type,
257
+ _headers,
258
+ _host_index,
259
+ ) -> RequestSerialized:
260
+
261
+ _host = None
262
+
263
+ _collection_formats: Dict[str, str] = {
264
+ 'deviceUids': 'multi',
265
+ }
266
+
267
+ _path_params: Dict[str, str] = {}
268
+ _query_params: List[Tuple[str, str]] = []
269
+ _header_params: Dict[str, Optional[str]] = _headers or {}
270
+ _form_params: List[Tuple[str, str]] = []
271
+ _files: Dict[str, str] = {}
272
+ _body_params: Optional[bytes] = None
273
+
274
+ # process the path parameters
275
+ # process the query parameters
276
+ if device_uids is not None:
277
+
278
+ _query_params.append(('deviceUids', device_uids))
279
+
280
+ # process the header parameters
281
+ # process the form parameters
282
+ # process the body parameter
283
+
284
+
285
+ # set the HTTP header `Accept`
286
+ _header_params['Accept'] = self.api_client.select_header_accept(
287
+ [
288
+ 'application/json'
289
+ ]
290
+ )
291
+
292
+
293
+ # authentication setting
294
+ _auth_settings: List[str] = [
295
+ 'bearerAuth'
296
+ ]
297
+
298
+ return self.api_client.param_serialize(
299
+ method='GET',
300
+ resource_path='/v1/msp/inventory/devices/ftds/upgrades/versions',
301
+ path_params=_path_params,
302
+ query_params=_query_params,
303
+ header_params=_header_params,
304
+ body=_body_params,
305
+ post_params=_form_params,
306
+ files=_files,
307
+ auth_settings=_auth_settings,
308
+ collection_formats=_collection_formats,
309
+ _host=_host,
310
+ _request_auth=_request_auth
311
+ )
312
+
313
+
@@ -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.109/python'
91
+ self.user_agent = 'OpenAPI-Generator/1.15.111/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.109".\
383
+ "SDK Package Version: 1.15.111".\
384
384
  format(env=sys.platform, pyversion=sys.version)
385
385
 
386
386
  def get_host_settings(self):
@@ -228,6 +228,7 @@ from scc_firewall_manager_sdk.models.switch_port_config import SwitchPortConfig
228
228
  from scc_firewall_manager_sdk.models.target import Target
229
229
  from scc_firewall_manager_sdk.models.targets_request import TargetsRequest
230
230
  from scc_firewall_manager_sdk.models.tenant import Tenant
231
+ from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
231
232
  from scc_firewall_manager_sdk.models.tenant_page import TenantPage
232
233
  from scc_firewall_manager_sdk.models.tenant_settings import TenantSettings
233
234
  from scc_firewall_manager_sdk.models.unified_object_list_view import UnifiedObjectListView
@@ -0,0 +1,102 @@
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, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.ftd_version import FtdVersion
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class TenantFtdCompatibilityVersion(BaseModel):
28
+ """
29
+ TenantFtdCompatibilityVersion
30
+ """ # noqa: E501
31
+ compatible_ftd_versions: Optional[List[FtdVersion]] = Field(default=None, alias="compatibleFtdVersions")
32
+ device_uids: Optional[List[StrictStr]] = Field(default=None, alias="deviceUids")
33
+ hardware_model: Optional[StrictStr] = Field(default=None, alias="hardwareModel")
34
+ managed_tenant_uid: Optional[StrictStr] = Field(default=None, alias="managedTenantUid")
35
+ __properties: ClassVar[List[str]] = ["compatibleFtdVersions", "deviceUids", "hardwareModel", "managedTenantUid"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of TenantFtdCompatibilityVersion from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ # override the default output from pydantic by calling `to_dict()` of each item in compatible_ftd_versions (list)
77
+ _items = []
78
+ if self.compatible_ftd_versions:
79
+ for _item in self.compatible_ftd_versions:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['compatibleFtdVersions'] = _items
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of TenantFtdCompatibilityVersion from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "compatibleFtdVersions": [FtdVersion.from_dict(_item) for _item in obj["compatibleFtdVersions"]] if obj.get("compatibleFtdVersions") is not None else None,
96
+ "deviceUids": obj.get("deviceUids"),
97
+ "hardwareModel": obj.get("hardwareModel"),
98
+ "managedTenantUid": obj.get("managedTenantUid")
99
+ })
100
+ return _obj
101
+
102
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scc-firewall-manager-sdk
3
- Version: 1.15.109
3
+ Version: 1.15.111
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=rcpdKwgEy5-gFk_aZ_Ff9QswcutibURdSMMMAX1p1wU,21993
2
- scc_firewall_manager_sdk/api_client.py,sha256=_iIVTDz1JwToMZAC1h2RlCNdcUZipLpE-RKoB8Kcm00,25921
1
+ scc_firewall_manager_sdk/__init__.py,sha256=uuYWOxS-qZ-GZLp3jPHB2ySGWF0DVbuZqk-5dE6wsKs,22186
2
+ scc_firewall_manager_sdk/api_client.py,sha256=Hy1RuNOXMq3Lezb3M6LtF-akg0VjZhBNdcyXARF8TDk,25921
3
3
  scc_firewall_manager_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- scc_firewall_manager_sdk/configuration.py,sha256=5vq-IsWt6kyND4_t0DFAjUS-c-tbNbIw-bREbNiJ2jQ,15993
4
+ scc_firewall_manager_sdk/configuration.py,sha256=EvbUOJUEPREiQT2LeV4IbD_Zl49bRr7Wn5MqL_gK-Zg,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
8
- scc_firewall_manager_sdk/api/__init__.py,sha256=2H6DZHTFf0qOgdTs-P-5Jp-RpslLrvhmbCLan__Ww7Q,2001
8
+ scc_firewall_manager_sdk/api/__init__.py,sha256=FXWtBN6lVNacqLSZFbx7giGlzWcAxyvpJAfEQQp7y_Y,2087
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
@@ -22,6 +22,7 @@ scc_firewall_manager_sdk/api/device_upgrades_api.py,sha256=iWb4v4tteX7uoEOncmF34
22
22
  scc_firewall_manager_sdk/api/interface_health_aggregations_api.py,sha256=2h7kABlh0WXKA2_1WWpEoxKbEHN1ATxHh2Z_-J1icgs,13761
23
23
  scc_firewall_manager_sdk/api/inventory_api.py,sha256=EJqDZzqBE4w_klxuo84rSYmrmbinGSJEbSbU6Wqs4Gg,444995
24
24
  scc_firewall_manager_sdk/api/meta_api.py,sha256=0T4mIpkOc0FyDIvEN5qhRQbKN4CzOM00_sRVY2oG59U,29963
25
+ scc_firewall_manager_sdk/api/msp_device_upgrades_api.py,sha256=VSwHKKpPTYqlAdEOb3wq1ADX8d69siiCIbwPBzgDNNE,16623
25
26
  scc_firewall_manager_sdk/api/msp_inventory_api.py,sha256=eLYqsv_7YNxQGLQLqEnWfSFPIJ8nWnuJQkZfxtGapxM,185473
26
27
  scc_firewall_manager_sdk/api/msp_tenant_management_api.py,sha256=u1Ljk5-A3JnMGyfGNVVyc1L2ll6I1m43hrLflbqvT5M,108920
27
28
  scc_firewall_manager_sdk/api/msp_user_management_api.py,sha256=MPy-WAv52ziuUcrK_Tq_q38PN1pbpgfL5fdqzYP81S8,54797
@@ -31,7 +32,7 @@ scc_firewall_manager_sdk/api/search_api.py,sha256=PonVl7RieSVsbCCVQOdqIA7vx2NCH5
31
32
  scc_firewall_manager_sdk/api/tenant_management_api.py,sha256=3PWPuirkaUck1VZex3w4Cg3qO05GF0f7xeiptaAc5zE,55069
32
33
  scc_firewall_manager_sdk/api/transactions_api.py,sha256=fz0Ko2bAXFpz0SM8psceOlcxq0gXnrnuTEhaX1E0QzA,23402
33
34
  scc_firewall_manager_sdk/api/users_api.py,sha256=MKuyXmxWLSqPBkfA7rUGZ1EO1Ox-Oge7QhhgzSFAVu8,191609
34
- scc_firewall_manager_sdk/models/__init__.py,sha256=YRVPRO6uYCxxSpsePs9pvxSeNKDuJs5-ZfbWTY51tqM,19403
35
+ scc_firewall_manager_sdk/models/__init__.py,sha256=vVlP1_xprzKq-tW7hcNcBNlyTzzhCEg93oPWjLcnfCM,19510
35
36
  scc_firewall_manager_sdk/models/access_group.py,sha256=9FlXrDT5xhtk-uWuwgMmM-qAGiKZrpfnkphZuogGsHo,4583
36
37
  scc_firewall_manager_sdk/models/access_group_create_input.py,sha256=7tgCifqvqbwS2bZvS_PQdIV_ra_jiEbupJhyaHcG8ys,3930
37
38
  scc_firewall_manager_sdk/models/access_group_page.py,sha256=imWa0te5qmTpXfuE8W8YM3SG01MIn4ewbA-_N8kPKHk,3725
@@ -245,6 +246,7 @@ scc_firewall_manager_sdk/models/switch_port_config.py,sha256=SPclU10DtO25qrV9PyZ
245
246
  scc_firewall_manager_sdk/models/target.py,sha256=AioilwAAv-v2deFbUIyTSXkLPB9wjsfnR6UAQYeqbqA,3679
246
247
  scc_firewall_manager_sdk/models/targets_request.py,sha256=ahPtYdcMvFRlyWycuyQP5NzPxn8YzDJpvUGwwICM73A,2711
247
248
  scc_firewall_manager_sdk/models/tenant.py,sha256=OCsHEKq5Z8l76boTJx5zZHMsQpsBxWukEOJNxCTtiUY,4167
249
+ scc_firewall_manager_sdk/models/tenant_ftd_compatibility_version.py,sha256=Gw9s5XfyoAxb2YWl3TUaPMNmPt_5mCKy7JXcLUuiTz0,3765
248
250
  scc_firewall_manager_sdk/models/tenant_page.py,sha256=JyhiesPil9RFEpSTIftf4aOcMRJvn8JfJzZlN_PyaMU,3684
249
251
  scc_firewall_manager_sdk/models/tenant_settings.py,sha256=SBz33QJxeSRsKTk2LZUWg7gFZccNO84PyIZQ4zqZRYw,6281
250
252
  scc_firewall_manager_sdk/models/unified_object_list_view.py,sha256=nMYDZ-ulbnjpyvSCFazeq9TP_JzJ6pnYcZXbl-dRRpI,4167
@@ -266,7 +268,7 @@ scc_firewall_manager_sdk/models/vlan_interface_create_input.py,sha256=AKUqPJw5ku
266
268
  scc_firewall_manager_sdk/models/vlan_interface_patch_input.py,sha256=srEFTyQykscNrWsbp8KGEzbmHC07_AU3DXjJ-7Be4zc,6054
267
269
  scc_firewall_manager_sdk/models/ztp_onboarding_input.py,sha256=HAgBTdocZeHGDZP_-9NyRtzP9E7BReGtiOmn4S3J-_g,5326
268
270
  scc_firewall_manager_sdk/models/ztp_onboarding_template_configuration.py,sha256=f9Z62yGFvz4QAQ07Z4bjfHLw2bRg46ccwoLuQ8q30TE,4808
269
- scc_firewall_manager_sdk-1.15.109.dist-info/METADATA,sha256=E2j1tvYBezRqDjLt8tO4_cULwuuuFCmzDpZFQh-wblE,596
270
- scc_firewall_manager_sdk-1.15.109.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
271
- scc_firewall_manager_sdk-1.15.109.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
272
- scc_firewall_manager_sdk-1.15.109.dist-info/RECORD,,
271
+ scc_firewall_manager_sdk-1.15.111.dist-info/METADATA,sha256=_x90h_cn_kOchX04CXp6mml9yOj3CXACZKlsM1TmM5A,596
272
+ scc_firewall_manager_sdk-1.15.111.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
273
+ scc_firewall_manager_sdk-1.15.111.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
274
+ scc_firewall_manager_sdk-1.15.111.dist-info/RECORD,,