scc-firewall-manager-sdk 1.15.213__py3-none-any.whl → 1.15.215__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.213"
18
+ __version__ = "1.15.215"
19
19
 
20
20
  # import apis into sdk package
21
21
  from scc_firewall_manager_sdk.api.ai_assistant_api import AIAssistantApi
@@ -116,6 +116,8 @@ from scc_firewall_manager_sdk.models.cluster_node import ClusterNode
116
116
  from scc_firewall_manager_sdk.models.command import Command
117
117
  from scc_firewall_manager_sdk.models.command_response import CommandResponse
118
118
  from scc_firewall_manager_sdk.models.common_api_error import CommonApiError
119
+ from scc_firewall_manager_sdk.models.compatible_device_dto import CompatibleDeviceDto
120
+ from scc_firewall_manager_sdk.models.compatible_version_info_dto import CompatibleVersionInfoDto
119
121
  from scc_firewall_manager_sdk.models.config_state import ConfigState
120
122
  from scc_firewall_manager_sdk.models.conflict_detection_interval import ConflictDetectionInterval
121
123
  from scc_firewall_manager_sdk.models.conflict_detection_state import ConflictDetectionState
@@ -210,6 +212,7 @@ from scc_firewall_manager_sdk.models.mfa_event import MfaEvent
210
212
  from scc_firewall_manager_sdk.models.mfa_event_page import MfaEventPage
211
213
  from scc_firewall_manager_sdk.models.msp_add_tenant_input import MspAddTenantInput
212
214
  from scc_firewall_manager_sdk.models.msp_add_users_to_tenant_input import MspAddUsersToTenantInput
215
+ from scc_firewall_manager_sdk.models.msp_calculate_compatible_upgrade_versions_input import MspCalculateCompatibleUpgradeVersionsInput
213
216
  from scc_firewall_manager_sdk.models.msp_create_tenant_input import MspCreateTenantInput
214
217
  from scc_firewall_manager_sdk.models.msp_delete_users_from_tenant_input import MspDeleteUsersFromTenantInput
215
218
  from scc_firewall_manager_sdk.models.msp_export_input import MspExportInput
@@ -275,13 +278,13 @@ from scc_firewall_manager_sdk.models.switch_port_config import SwitchPortConfig
275
278
  from scc_firewall_manager_sdk.models.target import Target
276
279
  from scc_firewall_manager_sdk.models.targets_request import TargetsRequest
277
280
  from scc_firewall_manager_sdk.models.tenant import Tenant
278
- from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
279
281
  from scc_firewall_manager_sdk.models.tenant_page import TenantPage
280
282
  from scc_firewall_manager_sdk.models.tenant_settings import TenantSettings
281
283
  from scc_firewall_manager_sdk.models.unified_object_list_view import UnifiedObjectListView
282
284
  from scc_firewall_manager_sdk.models.universal_ztna_settings import UniversalZtnaSettings
283
285
  from scc_firewall_manager_sdk.models.update_request import UpdateRequest
284
286
  from scc_firewall_manager_sdk.models.upgrade_asa_device_input import UpgradeAsaDeviceInput
287
+ from scc_firewall_manager_sdk.models.upgrade_compatibility_info_dto import UpgradeCompatibilityInfoDto
285
288
  from scc_firewall_manager_sdk.models.upgrade_ftd_device_input import UpgradeFtdDeviceInput
286
289
  from scc_firewall_manager_sdk.models.upgrade_ftd_devices_input import UpgradeFtdDevicesInput
287
290
  from scc_firewall_manager_sdk.models.upgrade_run_dto import UpgradeRunDto
@@ -18,9 +18,10 @@ from typing import Any, Dict, List, Optional, Tuple, Union
18
18
  from typing_extensions import Annotated
19
19
 
20
20
  from pydantic import Field, StrictStr
21
- from typing import List
22
21
  from typing_extensions import Annotated
23
- from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
22
+ from scc_firewall_manager_sdk.models.cdo_transaction import CdoTransaction
23
+ from scc_firewall_manager_sdk.models.msp_calculate_compatible_upgrade_versions_input import MspCalculateCompatibleUpgradeVersionsInput
24
+ from scc_firewall_manager_sdk.models.upgrade_compatibility_info_dto import UpgradeCompatibilityInfoDto
24
25
 
25
26
  from scc_firewall_manager_sdk.api_client import ApiClient, RequestSerialized
26
27
  from scc_firewall_manager_sdk.api_response import ApiResponse
@@ -41,9 +42,9 @@ class MSPDeviceUpgradesApi:
41
42
 
42
43
 
43
44
  @validate_call
44
- def get_compatible_ftd_versions_for_msp_managed_ftd_devices(
45
+ def calculate_msp_ftd_compatible_upgrade_versions(
45
46
  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
+ msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput,
47
48
  _request_timeout: Union[
48
49
  None,
49
50
  Annotated[StrictFloat, Field(gt=0)],
@@ -56,13 +57,13 @@ class MSPDeviceUpgradesApi:
56
57
  _content_type: Optional[StrictStr] = None,
57
58
  _headers: Optional[Dict[StrictStr, Any]] = None,
58
59
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
59
- ) -> TenantFtdCompatibilityVersion:
60
- """Get upgrade versions compatible with multiple FTDs per tenant
60
+ ) -> CdoTransaction:
61
+ """Calculate compatible FTD upgrade versions
61
62
 
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
+ This is an asynchronous operation to calculate a list of compatible upgrade versions for a list of CdFMC-managed FTD devices across multiple managed tenants.
63
64
 
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]
65
+ :param msp_calculate_compatible_upgrade_versions_input: (required)
66
+ :type msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput
66
67
  :param _request_timeout: timeout setting for this request. If one
67
68
  number provided, it will be total request
68
69
  timeout. It can also be a pair (tuple) of
@@ -85,8 +86,8 @@ class MSPDeviceUpgradesApi:
85
86
  :return: Returns the result object.
86
87
  """ # noqa: E501
87
88
 
88
- _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
89
- device_uids=device_uids,
89
+ _param = self._calculate_msp_ftd_compatible_upgrade_versions_serialize(
90
+ msp_calculate_compatible_upgrade_versions_input=msp_calculate_compatible_upgrade_versions_input,
90
91
  _request_auth=_request_auth,
91
92
  _content_type=_content_type,
92
93
  _headers=_headers,
@@ -94,8 +95,10 @@ class MSPDeviceUpgradesApi:
94
95
  )
95
96
 
96
97
  _response_types_map: Dict[str, Optional[str]] = {
97
- '200': "TenantFtdCompatibilityVersion",
98
98
  '202': "CdoTransaction",
99
+ '400': "CommonApiError",
100
+ '401': "AuthenticationError",
101
+ '403': "CommonApiError",
99
102
  '404': "CommonApiError",
100
103
  '422': "CommonApiError",
101
104
  '500': "CommonApiError",
@@ -112,9 +115,9 @@ class MSPDeviceUpgradesApi:
112
115
 
113
116
 
114
117
  @validate_call
115
- def get_compatible_ftd_versions_for_msp_managed_ftd_devices_with_http_info(
118
+ def calculate_msp_ftd_compatible_upgrade_versions_with_http_info(
116
119
  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.")],
120
+ msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput,
118
121
  _request_timeout: Union[
119
122
  None,
120
123
  Annotated[StrictFloat, Field(gt=0)],
@@ -127,13 +130,13 @@ class MSPDeviceUpgradesApi:
127
130
  _content_type: Optional[StrictStr] = None,
128
131
  _headers: Optional[Dict[StrictStr, Any]] = None,
129
132
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
130
- ) -> ApiResponse[TenantFtdCompatibilityVersion]:
131
- """Get upgrade versions compatible with multiple FTDs per tenant
133
+ ) -> ApiResponse[CdoTransaction]:
134
+ """Calculate compatible FTD upgrade versions
132
135
 
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>
136
+ This is an asynchronous operation to calculate a list of compatible upgrade versions for a list of CdFMC-managed FTD devices across multiple managed tenants.
134
137
 
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]
138
+ :param msp_calculate_compatible_upgrade_versions_input: (required)
139
+ :type msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput
137
140
  :param _request_timeout: timeout setting for this request. If one
138
141
  number provided, it will be total request
139
142
  timeout. It can also be a pair (tuple) of
@@ -156,8 +159,8 @@ class MSPDeviceUpgradesApi:
156
159
  :return: Returns the result object.
157
160
  """ # noqa: E501
158
161
 
159
- _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
160
- device_uids=device_uids,
162
+ _param = self._calculate_msp_ftd_compatible_upgrade_versions_serialize(
163
+ msp_calculate_compatible_upgrade_versions_input=msp_calculate_compatible_upgrade_versions_input,
161
164
  _request_auth=_request_auth,
162
165
  _content_type=_content_type,
163
166
  _headers=_headers,
@@ -165,8 +168,10 @@ class MSPDeviceUpgradesApi:
165
168
  )
166
169
 
167
170
  _response_types_map: Dict[str, Optional[str]] = {
168
- '200': "TenantFtdCompatibilityVersion",
169
171
  '202': "CdoTransaction",
172
+ '400': "CommonApiError",
173
+ '401': "AuthenticationError",
174
+ '403': "CommonApiError",
170
175
  '404': "CommonApiError",
171
176
  '422': "CommonApiError",
172
177
  '500': "CommonApiError",
@@ -183,9 +188,9 @@ class MSPDeviceUpgradesApi:
183
188
 
184
189
 
185
190
  @validate_call
186
- def get_compatible_ftd_versions_for_msp_managed_ftd_devices_without_preload_content(
191
+ def calculate_msp_ftd_compatible_upgrade_versions_without_preload_content(
187
192
  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.")],
193
+ msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput,
189
194
  _request_timeout: Union[
190
195
  None,
191
196
  Annotated[StrictFloat, Field(gt=0)],
@@ -199,12 +204,12 @@ class MSPDeviceUpgradesApi:
199
204
  _headers: Optional[Dict[StrictStr, Any]] = None,
200
205
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
201
206
  ) -> RESTResponseType:
202
- """Get upgrade versions compatible with multiple FTDs per tenant
207
+ """Calculate compatible FTD upgrade versions
203
208
 
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>
209
+ This is an asynchronous operation to calculate a list of compatible upgrade versions for a list of CdFMC-managed FTD devices across multiple managed tenants.
205
210
 
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]
211
+ :param msp_calculate_compatible_upgrade_versions_input: (required)
212
+ :type msp_calculate_compatible_upgrade_versions_input: MspCalculateCompatibleUpgradeVersionsInput
208
213
  :param _request_timeout: timeout setting for this request. If one
209
214
  number provided, it will be total request
210
215
  timeout. It can also be a pair (tuple) of
@@ -227,8 +232,8 @@ class MSPDeviceUpgradesApi:
227
232
  :return: Returns the result object.
228
233
  """ # noqa: E501
229
234
 
230
- _param = self._get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
231
- device_uids=device_uids,
235
+ _param = self._calculate_msp_ftd_compatible_upgrade_versions_serialize(
236
+ msp_calculate_compatible_upgrade_versions_input=msp_calculate_compatible_upgrade_versions_input,
232
237
  _request_auth=_request_auth,
233
238
  _content_type=_content_type,
234
239
  _headers=_headers,
@@ -236,8 +241,10 @@ class MSPDeviceUpgradesApi:
236
241
  )
237
242
 
238
243
  _response_types_map: Dict[str, Optional[str]] = {
239
- '200': "TenantFtdCompatibilityVersion",
240
244
  '202': "CdoTransaction",
245
+ '400': "CommonApiError",
246
+ '401': "AuthenticationError",
247
+ '403': "CommonApiError",
241
248
  '404': "CommonApiError",
242
249
  '422': "CommonApiError",
243
250
  '500': "CommonApiError",
@@ -249,9 +256,9 @@ class MSPDeviceUpgradesApi:
249
256
  return response_data.response
250
257
 
251
258
 
252
- def _get_compatible_ftd_versions_for_msp_managed_ftd_devices_serialize(
259
+ def _calculate_msp_ftd_compatible_upgrade_versions_serialize(
253
260
  self,
254
- device_uids,
261
+ msp_calculate_compatible_upgrade_versions_input,
255
262
  _request_auth,
256
263
  _content_type,
257
264
  _headers,
@@ -261,7 +268,6 @@ class MSPDeviceUpgradesApi:
261
268
  _host = None
262
269
 
263
270
  _collection_formats: Dict[str, str] = {
264
- 'deviceUids': 'multi',
265
271
  }
266
272
 
267
273
  _path_params: Dict[str, str] = {}
@@ -273,13 +279,11 @@ class MSPDeviceUpgradesApi:
273
279
 
274
280
  # process the path parameters
275
281
  # process the query parameters
276
- if device_uids is not None:
277
-
278
- _query_params.append(('deviceUids', device_uids))
279
-
280
282
  # process the header parameters
281
283
  # process the form parameters
282
284
  # process the body parameter
285
+ if msp_calculate_compatible_upgrade_versions_input is not None:
286
+ _body_params = msp_calculate_compatible_upgrade_versions_input
283
287
 
284
288
 
285
289
  # set the HTTP header `Accept`
@@ -289,6 +293,19 @@ class MSPDeviceUpgradesApi:
289
293
  ]
290
294
  )
291
295
 
296
+ # set the HTTP header `Content-Type`
297
+ if _content_type:
298
+ _header_params['Content-Type'] = _content_type
299
+ else:
300
+ _default_content_type = (
301
+ self.api_client.select_header_content_type(
302
+ [
303
+ 'application/json'
304
+ ]
305
+ )
306
+ )
307
+ if _default_content_type is not None:
308
+ _header_params['Content-Type'] = _default_content_type
292
309
 
293
310
  # authentication setting
294
311
  _auth_settings: List[str] = [
@@ -296,7 +313,7 @@ class MSPDeviceUpgradesApi:
296
313
  ]
297
314
 
298
315
  return self.api_client.param_serialize(
299
- method='GET',
316
+ method='POST',
300
317
  resource_path='/v1/msp/inventory/devices/ftds/upgrades/versions',
301
318
  path_params=_path_params,
302
319
  query_params=_query_params,
@@ -311,3 +328,276 @@ class MSPDeviceUpgradesApi:
311
328
  )
312
329
 
313
330
 
331
+
332
+
333
+ @validate_call
334
+ def get_msp_ftd_compatible_upgrade_versions(
335
+ self,
336
+ upgrade_version_uid: Annotated[StrictStr, Field(description="The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager.")],
337
+ _request_timeout: Union[
338
+ None,
339
+ Annotated[StrictFloat, Field(gt=0)],
340
+ Tuple[
341
+ Annotated[StrictFloat, Field(gt=0)],
342
+ Annotated[StrictFloat, Field(gt=0)]
343
+ ]
344
+ ] = None,
345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
346
+ _content_type: Optional[StrictStr] = None,
347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
349
+ ) -> UpgradeCompatibilityInfoDto:
350
+ """Get compatible FTD upgrade versions
351
+
352
+ Get a Device Upgrade Run by UID in the SCC Firewall Manager Tenant. Each upgrade run represents a group of devices being upgraded, or staged for upgrades, together.
353
+
354
+ :param upgrade_version_uid: The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager. (required)
355
+ :type upgrade_version_uid: str
356
+ :param _request_timeout: timeout setting for this request. If one
357
+ number provided, it will be total request
358
+ timeout. It can also be a pair (tuple) of
359
+ (connection, read) timeouts.
360
+ :type _request_timeout: int, tuple(int, int), optional
361
+ :param _request_auth: set to override the auth_settings for an a single
362
+ request; this effectively ignores the
363
+ authentication in the spec for a single request.
364
+ :type _request_auth: dict, optional
365
+ :param _content_type: force content-type for the request.
366
+ :type _content_type: str, Optional
367
+ :param _headers: set to override the headers for a single
368
+ request; this effectively ignores the headers
369
+ in the spec for a single request.
370
+ :type _headers: dict, optional
371
+ :param _host_index: set to override the host_index for a single
372
+ request; this effectively ignores the host_index
373
+ in the spec for a single request.
374
+ :type _host_index: int, optional
375
+ :return: Returns the result object.
376
+ """ # noqa: E501
377
+
378
+ _param = self._get_msp_ftd_compatible_upgrade_versions_serialize(
379
+ upgrade_version_uid=upgrade_version_uid,
380
+ _request_auth=_request_auth,
381
+ _content_type=_content_type,
382
+ _headers=_headers,
383
+ _host_index=_host_index
384
+ )
385
+
386
+ _response_types_map: Dict[str, Optional[str]] = {
387
+ '200': "UpgradeCompatibilityInfoDto",
388
+ '400': "CommonApiError",
389
+ '401': "AuthenticationError",
390
+ '403': "CommonApiError",
391
+ '404': "CommonApiError",
392
+ '500': "CommonApiError",
393
+ }
394
+ response_data = self.api_client.call_api(
395
+ *_param,
396
+ _request_timeout=_request_timeout
397
+ )
398
+ response_data.read()
399
+ return self.api_client.response_deserialize(
400
+ response_data=response_data,
401
+ response_types_map=_response_types_map,
402
+ ).data
403
+
404
+
405
+ @validate_call
406
+ def get_msp_ftd_compatible_upgrade_versions_with_http_info(
407
+ self,
408
+ upgrade_version_uid: Annotated[StrictStr, Field(description="The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager.")],
409
+ _request_timeout: Union[
410
+ None,
411
+ Annotated[StrictFloat, Field(gt=0)],
412
+ Tuple[
413
+ Annotated[StrictFloat, Field(gt=0)],
414
+ Annotated[StrictFloat, Field(gt=0)]
415
+ ]
416
+ ] = None,
417
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
418
+ _content_type: Optional[StrictStr] = None,
419
+ _headers: Optional[Dict[StrictStr, Any]] = None,
420
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
421
+ ) -> ApiResponse[UpgradeCompatibilityInfoDto]:
422
+ """Get compatible FTD upgrade versions
423
+
424
+ Get a Device Upgrade Run by UID in the SCC Firewall Manager Tenant. Each upgrade run represents a group of devices being upgraded, or staged for upgrades, together.
425
+
426
+ :param upgrade_version_uid: The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager. (required)
427
+ :type upgrade_version_uid: str
428
+ :param _request_timeout: timeout setting for this request. If one
429
+ number provided, it will be total request
430
+ timeout. It can also be a pair (tuple) of
431
+ (connection, read) timeouts.
432
+ :type _request_timeout: int, tuple(int, int), optional
433
+ :param _request_auth: set to override the auth_settings for an a single
434
+ request; this effectively ignores the
435
+ authentication in the spec for a single request.
436
+ :type _request_auth: dict, optional
437
+ :param _content_type: force content-type for the request.
438
+ :type _content_type: str, Optional
439
+ :param _headers: set to override the headers for a single
440
+ request; this effectively ignores the headers
441
+ in the spec for a single request.
442
+ :type _headers: dict, optional
443
+ :param _host_index: set to override the host_index for a single
444
+ request; this effectively ignores the host_index
445
+ in the spec for a single request.
446
+ :type _host_index: int, optional
447
+ :return: Returns the result object.
448
+ """ # noqa: E501
449
+
450
+ _param = self._get_msp_ftd_compatible_upgrade_versions_serialize(
451
+ upgrade_version_uid=upgrade_version_uid,
452
+ _request_auth=_request_auth,
453
+ _content_type=_content_type,
454
+ _headers=_headers,
455
+ _host_index=_host_index
456
+ )
457
+
458
+ _response_types_map: Dict[str, Optional[str]] = {
459
+ '200': "UpgradeCompatibilityInfoDto",
460
+ '400': "CommonApiError",
461
+ '401': "AuthenticationError",
462
+ '403': "CommonApiError",
463
+ '404': "CommonApiError",
464
+ '500': "CommonApiError",
465
+ }
466
+ response_data = self.api_client.call_api(
467
+ *_param,
468
+ _request_timeout=_request_timeout
469
+ )
470
+ response_data.read()
471
+ return self.api_client.response_deserialize(
472
+ response_data=response_data,
473
+ response_types_map=_response_types_map,
474
+ )
475
+
476
+
477
+ @validate_call
478
+ def get_msp_ftd_compatible_upgrade_versions_without_preload_content(
479
+ self,
480
+ upgrade_version_uid: Annotated[StrictStr, Field(description="The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager.")],
481
+ _request_timeout: Union[
482
+ None,
483
+ Annotated[StrictFloat, Field(gt=0)],
484
+ Tuple[
485
+ Annotated[StrictFloat, Field(gt=0)],
486
+ Annotated[StrictFloat, Field(gt=0)]
487
+ ]
488
+ ] = None,
489
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
490
+ _content_type: Optional[StrictStr] = None,
491
+ _headers: Optional[Dict[StrictStr, Any]] = None,
492
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
493
+ ) -> RESTResponseType:
494
+ """Get compatible FTD upgrade versions
495
+
496
+ Get a Device Upgrade Run by UID in the SCC Firewall Manager Tenant. Each upgrade run represents a group of devices being upgraded, or staged for upgrades, together.
497
+
498
+ :param upgrade_version_uid: The unique identifier, represented as a UUID, of the Device Upgrade Version object in SCC Firewall Manager. (required)
499
+ :type upgrade_version_uid: str
500
+ :param _request_timeout: timeout setting for this request. If one
501
+ number provided, it will be total request
502
+ timeout. It can also be a pair (tuple) of
503
+ (connection, read) timeouts.
504
+ :type _request_timeout: int, tuple(int, int), optional
505
+ :param _request_auth: set to override the auth_settings for an a single
506
+ request; this effectively ignores the
507
+ authentication in the spec for a single request.
508
+ :type _request_auth: dict, optional
509
+ :param _content_type: force content-type for the request.
510
+ :type _content_type: str, Optional
511
+ :param _headers: set to override the headers for a single
512
+ request; this effectively ignores the headers
513
+ in the spec for a single request.
514
+ :type _headers: dict, optional
515
+ :param _host_index: set to override the host_index for a single
516
+ request; this effectively ignores the host_index
517
+ in the spec for a single request.
518
+ :type _host_index: int, optional
519
+ :return: Returns the result object.
520
+ """ # noqa: E501
521
+
522
+ _param = self._get_msp_ftd_compatible_upgrade_versions_serialize(
523
+ upgrade_version_uid=upgrade_version_uid,
524
+ _request_auth=_request_auth,
525
+ _content_type=_content_type,
526
+ _headers=_headers,
527
+ _host_index=_host_index
528
+ )
529
+
530
+ _response_types_map: Dict[str, Optional[str]] = {
531
+ '200': "UpgradeCompatibilityInfoDto",
532
+ '400': "CommonApiError",
533
+ '401': "AuthenticationError",
534
+ '403': "CommonApiError",
535
+ '404': "CommonApiError",
536
+ '500': "CommonApiError",
537
+ }
538
+ response_data = self.api_client.call_api(
539
+ *_param,
540
+ _request_timeout=_request_timeout
541
+ )
542
+ return response_data.response
543
+
544
+
545
+ def _get_msp_ftd_compatible_upgrade_versions_serialize(
546
+ self,
547
+ upgrade_version_uid,
548
+ _request_auth,
549
+ _content_type,
550
+ _headers,
551
+ _host_index,
552
+ ) -> RequestSerialized:
553
+
554
+ _host = None
555
+
556
+ _collection_formats: Dict[str, str] = {
557
+ }
558
+
559
+ _path_params: Dict[str, str] = {}
560
+ _query_params: List[Tuple[str, str]] = []
561
+ _header_params: Dict[str, Optional[str]] = _headers or {}
562
+ _form_params: List[Tuple[str, str]] = []
563
+ _files: Dict[str, str] = {}
564
+ _body_params: Optional[bytes] = None
565
+
566
+ # process the path parameters
567
+ if upgrade_version_uid is not None:
568
+ _path_params['upgradeVersionUid'] = upgrade_version_uid
569
+ # process the query parameters
570
+ # process the header parameters
571
+ # process the form parameters
572
+ # process the body parameter
573
+
574
+
575
+ # set the HTTP header `Accept`
576
+ _header_params['Accept'] = self.api_client.select_header_accept(
577
+ [
578
+ 'application/json'
579
+ ]
580
+ )
581
+
582
+
583
+ # authentication setting
584
+ _auth_settings: List[str] = [
585
+ 'bearerAuth'
586
+ ]
587
+
588
+ return self.api_client.param_serialize(
589
+ method='GET',
590
+ resource_path='/v1/msp/inventory/devices/ftds/upgrades/versions/{upgradeVersionUid}',
591
+ path_params=_path_params,
592
+ query_params=_query_params,
593
+ header_params=_header_params,
594
+ body=_body_params,
595
+ post_params=_form_params,
596
+ files=_files,
597
+ auth_settings=_auth_settings,
598
+ collection_formats=_collection_formats,
599
+ _host=_host,
600
+ _request_auth=_request_auth
601
+ )
602
+
603
+
@@ -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.213/python'
91
+ self.user_agent = 'OpenAPI-Generator/1.15.215/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.213".\
383
+ "SDK Package Version: 1.15.215".\
384
384
  format(env=sys.platform, pyversion=sys.version)
385
385
 
386
386
  def get_host_settings(self):
@@ -74,6 +74,8 @@ from scc_firewall_manager_sdk.models.cluster_node import ClusterNode
74
74
  from scc_firewall_manager_sdk.models.command import Command
75
75
  from scc_firewall_manager_sdk.models.command_response import CommandResponse
76
76
  from scc_firewall_manager_sdk.models.common_api_error import CommonApiError
77
+ from scc_firewall_manager_sdk.models.compatible_device_dto import CompatibleDeviceDto
78
+ from scc_firewall_manager_sdk.models.compatible_version_info_dto import CompatibleVersionInfoDto
77
79
  from scc_firewall_manager_sdk.models.config_state import ConfigState
78
80
  from scc_firewall_manager_sdk.models.conflict_detection_interval import ConflictDetectionInterval
79
81
  from scc_firewall_manager_sdk.models.conflict_detection_state import ConflictDetectionState
@@ -168,6 +170,7 @@ from scc_firewall_manager_sdk.models.mfa_event import MfaEvent
168
170
  from scc_firewall_manager_sdk.models.mfa_event_page import MfaEventPage
169
171
  from scc_firewall_manager_sdk.models.msp_add_tenant_input import MspAddTenantInput
170
172
  from scc_firewall_manager_sdk.models.msp_add_users_to_tenant_input import MspAddUsersToTenantInput
173
+ from scc_firewall_manager_sdk.models.msp_calculate_compatible_upgrade_versions_input import MspCalculateCompatibleUpgradeVersionsInput
171
174
  from scc_firewall_manager_sdk.models.msp_create_tenant_input import MspCreateTenantInput
172
175
  from scc_firewall_manager_sdk.models.msp_delete_users_from_tenant_input import MspDeleteUsersFromTenantInput
173
176
  from scc_firewall_manager_sdk.models.msp_export_input import MspExportInput
@@ -233,13 +236,13 @@ from scc_firewall_manager_sdk.models.switch_port_config import SwitchPortConfig
233
236
  from scc_firewall_manager_sdk.models.target import Target
234
237
  from scc_firewall_manager_sdk.models.targets_request import TargetsRequest
235
238
  from scc_firewall_manager_sdk.models.tenant import Tenant
236
- from scc_firewall_manager_sdk.models.tenant_ftd_compatibility_version import TenantFtdCompatibilityVersion
237
239
  from scc_firewall_manager_sdk.models.tenant_page import TenantPage
238
240
  from scc_firewall_manager_sdk.models.tenant_settings import TenantSettings
239
241
  from scc_firewall_manager_sdk.models.unified_object_list_view import UnifiedObjectListView
240
242
  from scc_firewall_manager_sdk.models.universal_ztna_settings import UniversalZtnaSettings
241
243
  from scc_firewall_manager_sdk.models.update_request import UpdateRequest
242
244
  from scc_firewall_manager_sdk.models.upgrade_asa_device_input import UpgradeAsaDeviceInput
245
+ from scc_firewall_manager_sdk.models.upgrade_compatibility_info_dto import UpgradeCompatibilityInfoDto
243
246
  from scc_firewall_manager_sdk.models.upgrade_ftd_device_input import UpgradeFtdDeviceInput
244
247
  from scc_firewall_manager_sdk.models.upgrade_ftd_devices_input import UpgradeFtdDevicesInput
245
248
  from scc_firewall_manager_sdk.models.upgrade_run_dto import UpgradeRunDto
@@ -0,0 +1,100 @@
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 typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CompatibleDeviceDto(BaseModel):
27
+ """
28
+ Information about a device that is compatible with a specific upgrade version.
29
+ """ # noqa: E501
30
+ current_software_version: Optional[StrictStr] = Field(default=None, description="The software version currently running on the device", alias="currentSoftwareVersion")
31
+ hardware_model: StrictStr = Field(description="The hardware model of the device", alias="hardwareModel")
32
+ managed_tenant_display_name: Optional[StrictStr] = Field(default=None, description="The display name of the managed tenant in CDO.", alias="managedTenantDisplayName")
33
+ managed_tenant_name: Optional[StrictStr] = Field(default=None, description="The name of the managed tenant in CDO.", alias="managedTenantName")
34
+ managed_tenant_uid: StrictStr = Field(description="The unique identifier, represented as a UUID, of the managed tenant in Security Cloud Control that this device belongs to.", alias="managedTenantUid")
35
+ name: StrictStr = Field(description="The name of the device")
36
+ uid: StrictStr = Field(description="The unique identifier, represented as a UUID, of the device in Security Cloud Control.")
37
+ __properties: ClassVar[List[str]] = ["currentSoftwareVersion", "hardwareModel", "managedTenantDisplayName", "managedTenantName", "managedTenantUid", "name", "uid"]
38
+
39
+ model_config = ConfigDict(
40
+ populate_by_name=True,
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def to_str(self) -> str:
47
+ """Returns the string representation of the model using alias"""
48
+ return pprint.pformat(self.model_dump(by_alias=True))
49
+
50
+ def to_json(self) -> str:
51
+ """Returns the JSON representation of the model using alias"""
52
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
53
+ return json.dumps(self.to_dict())
54
+
55
+ @classmethod
56
+ def from_json(cls, json_str: str) -> Optional[Self]:
57
+ """Create an instance of CompatibleDeviceDto from a JSON string"""
58
+ return cls.from_dict(json.loads(json_str))
59
+
60
+ def to_dict(self) -> Dict[str, Any]:
61
+ """Return the dictionary representation of the model using alias.
62
+
63
+ This has the following differences from calling pydantic's
64
+ `self.model_dump(by_alias=True)`:
65
+
66
+ * `None` is only added to the output dict for nullable fields that
67
+ were set at model initialization. Other fields with value `None`
68
+ are ignored.
69
+ """
70
+ excluded_fields: Set[str] = set([
71
+ ])
72
+
73
+ _dict = self.model_dump(
74
+ by_alias=True,
75
+ exclude=excluded_fields,
76
+ exclude_none=True,
77
+ )
78
+ return _dict
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
82
+ """Create an instance of CompatibleDeviceDto from a dict"""
83
+ if obj is None:
84
+ return None
85
+
86
+ if not isinstance(obj, dict):
87
+ return cls.model_validate(obj)
88
+
89
+ _obj = cls.model_validate({
90
+ "currentSoftwareVersion": obj.get("currentSoftwareVersion"),
91
+ "hardwareModel": obj.get("hardwareModel"),
92
+ "managedTenantDisplayName": obj.get("managedTenantDisplayName"),
93
+ "managedTenantName": obj.get("managedTenantName"),
94
+ "managedTenantUid": obj.get("managedTenantUid"),
95
+ "name": obj.get("name"),
96
+ "uid": obj.get("uid")
97
+ })
98
+ return _obj
99
+
100
+
@@ -0,0 +1,112 @@
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 datetime import datetime
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
23
+ from typing import Any, ClassVar, Dict, List, Optional
24
+ from scc_firewall_manager_sdk.models.compatible_device_dto import CompatibleDeviceDto
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class CompatibleVersionInfoDto(BaseModel):
29
+ """
30
+ Information about a compatible upgrade version and the devices that support it.
31
+ """ # noqa: E501
32
+ compatible_devices: List[CompatibleDeviceDto] = Field(description="List of devices that are compatible with this upgrade version", alias="compatibleDevices")
33
+ is_suggested_version: StrictBool = Field(description="A boolean value, indicating whether this version is a suggested version to upgrade to.", alias="isSuggestedVersion")
34
+ release_date: Optional[datetime] = Field(default=None, description="The release date of this software version", alias="releaseDate")
35
+ software_version: StrictStr = Field(description="The software version", alias="softwareVersion")
36
+ upgrade_type: StrictStr = Field(description="The type of the upgrade", alias="upgradeType")
37
+ __properties: ClassVar[List[str]] = ["compatibleDevices", "isSuggestedVersion", "releaseDate", "softwareVersion", "upgradeType"]
38
+
39
+ @field_validator('upgrade_type')
40
+ def upgrade_type_validate_enum(cls, value):
41
+ """Validates the enum"""
42
+ if value not in set(['UPGRADE', 'PATCH', 'HOTFIX']):
43
+ raise ValueError("must be one of enum values ('UPGRADE', 'PATCH', 'HOTFIX')")
44
+ return value
45
+
46
+ model_config = ConfigDict(
47
+ populate_by_name=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+
53
+ def to_str(self) -> str:
54
+ """Returns the string representation of the model using alias"""
55
+ return pprint.pformat(self.model_dump(by_alias=True))
56
+
57
+ def to_json(self) -> str:
58
+ """Returns the JSON representation of the model using alias"""
59
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
60
+ return json.dumps(self.to_dict())
61
+
62
+ @classmethod
63
+ def from_json(cls, json_str: str) -> Optional[Self]:
64
+ """Create an instance of CompatibleVersionInfoDto from a JSON string"""
65
+ return cls.from_dict(json.loads(json_str))
66
+
67
+ def to_dict(self) -> Dict[str, Any]:
68
+ """Return the dictionary representation of the model using alias.
69
+
70
+ This has the following differences from calling pydantic's
71
+ `self.model_dump(by_alias=True)`:
72
+
73
+ * `None` is only added to the output dict for nullable fields that
74
+ were set at model initialization. Other fields with value `None`
75
+ are ignored.
76
+ """
77
+ excluded_fields: Set[str] = set([
78
+ ])
79
+
80
+ _dict = self.model_dump(
81
+ by_alias=True,
82
+ exclude=excluded_fields,
83
+ exclude_none=True,
84
+ )
85
+ # override the default output from pydantic by calling `to_dict()` of each item in compatible_devices (list)
86
+ _items = []
87
+ if self.compatible_devices:
88
+ for _item in self.compatible_devices:
89
+ if _item:
90
+ _items.append(_item.to_dict())
91
+ _dict['compatibleDevices'] = _items
92
+ return _dict
93
+
94
+ @classmethod
95
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
96
+ """Create an instance of CompatibleVersionInfoDto from a dict"""
97
+ if obj is None:
98
+ return None
99
+
100
+ if not isinstance(obj, dict):
101
+ return cls.model_validate(obj)
102
+
103
+ _obj = cls.model_validate({
104
+ "compatibleDevices": [CompatibleDeviceDto.from_dict(_item) for _item in obj["compatibleDevices"]] if obj.get("compatibleDevices") is not None else None,
105
+ "isSuggestedVersion": obj.get("isSuggestedVersion"),
106
+ "releaseDate": obj.get("releaseDate"),
107
+ "softwareVersion": obj.get("softwareVersion"),
108
+ "upgradeType": obj.get("upgradeType")
109
+ })
110
+ return _obj
111
+
112
+
@@ -20,19 +20,16 @@ import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
22
  from typing import Any, ClassVar, Dict, List, Optional
23
- from scc_firewall_manager_sdk.models.ftd_version import FtdVersion
23
+ from typing_extensions import Annotated
24
24
  from typing import Optional, Set
25
25
  from typing_extensions import Self
26
26
 
27
- class TenantFtdCompatibilityVersion(BaseModel):
27
+ class MspCalculateCompatibleUpgradeVersionsInput(BaseModel):
28
28
  """
29
- TenantFtdCompatibilityVersion
29
+ 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.
30
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"]
31
+ device_uids: Optional[Annotated[List[StrictStr], Field(min_length=1, max_length=50)]] = Field(default=None, description="The list of devices to calculate compatible upgrade versions for. All of the devices must exist, be associated with the managed tenant, and be in the connectivity state 'ONLINE'.", alias="deviceUids")
32
+ __properties: ClassVar[List[str]] = ["deviceUids"]
36
33
 
37
34
  model_config = ConfigDict(
38
35
  populate_by_name=True,
@@ -52,7 +49,7 @@ class TenantFtdCompatibilityVersion(BaseModel):
52
49
 
53
50
  @classmethod
54
51
  def from_json(cls, json_str: str) -> Optional[Self]:
55
- """Create an instance of TenantFtdCompatibilityVersion from a JSON string"""
52
+ """Create an instance of MspCalculateCompatibleUpgradeVersionsInput from a JSON string"""
56
53
  return cls.from_dict(json.loads(json_str))
57
54
 
58
55
  def to_dict(self) -> Dict[str, Any]:
@@ -73,18 +70,11 @@ class TenantFtdCompatibilityVersion(BaseModel):
73
70
  exclude=excluded_fields,
74
71
  exclude_none=True,
75
72
  )
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
73
  return _dict
84
74
 
85
75
  @classmethod
86
76
  def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
- """Create an instance of TenantFtdCompatibilityVersion from a dict"""
77
+ """Create an instance of MspCalculateCompatibleUpgradeVersionsInput from a dict"""
88
78
  if obj is None:
89
79
  return None
90
80
 
@@ -92,10 +82,7 @@ class TenantFtdCompatibilityVersion(BaseModel):
92
82
  return cls.model_validate(obj)
93
83
 
94
84
  _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")
85
+ "deviceUids": obj.get("deviceUids")
99
86
  })
100
87
  return _obj
101
88
 
@@ -0,0 +1,107 @@
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, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.compatible_version_info_dto import CompatibleVersionInfoDto
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class UpgradeCompatibilityInfoDto(BaseModel):
28
+ """
29
+ Compatible upgrade versions for MSP managed devices across multiple tenants.
30
+ """ # noqa: E501
31
+ compatible_versions: Optional[List[CompatibleVersionInfoDto]] = Field(default=None, description="List of compatible upgrade versions available for the specified devices.", alias="compatibleVersions")
32
+ status: StrictStr = Field(description="The current status of the retrieval of upgrade versions.")
33
+ uid: StrictStr = Field(description="The unique identifier, represented as a UUID, of this list of compatible versions.")
34
+ __properties: ClassVar[List[str]] = ["compatibleVersions", "status", "uid"]
35
+
36
+ @field_validator('status')
37
+ def status_validate_enum(cls, value):
38
+ """Validates the enum"""
39
+ if value not in set(['IN_PROGRESS', 'DONE', 'ERROR']):
40
+ raise ValueError("must be one of enum values ('IN_PROGRESS', 'DONE', 'ERROR')")
41
+ return value
42
+
43
+ model_config = ConfigDict(
44
+ populate_by_name=True,
45
+ validate_assignment=True,
46
+ protected_namespaces=(),
47
+ )
48
+
49
+
50
+ def to_str(self) -> str:
51
+ """Returns the string representation of the model using alias"""
52
+ return pprint.pformat(self.model_dump(by_alias=True))
53
+
54
+ def to_json(self) -> str:
55
+ """Returns the JSON representation of the model using alias"""
56
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
57
+ return json.dumps(self.to_dict())
58
+
59
+ @classmethod
60
+ def from_json(cls, json_str: str) -> Optional[Self]:
61
+ """Create an instance of UpgradeCompatibilityInfoDto from a JSON string"""
62
+ return cls.from_dict(json.loads(json_str))
63
+
64
+ def to_dict(self) -> Dict[str, Any]:
65
+ """Return the dictionary representation of the model using alias.
66
+
67
+ This has the following differences from calling pydantic's
68
+ `self.model_dump(by_alias=True)`:
69
+
70
+ * `None` is only added to the output dict for nullable fields that
71
+ were set at model initialization. Other fields with value `None`
72
+ are ignored.
73
+ """
74
+ excluded_fields: Set[str] = set([
75
+ ])
76
+
77
+ _dict = self.model_dump(
78
+ by_alias=True,
79
+ exclude=excluded_fields,
80
+ exclude_none=True,
81
+ )
82
+ # override the default output from pydantic by calling `to_dict()` of each item in compatible_versions (list)
83
+ _items = []
84
+ if self.compatible_versions:
85
+ for _item in self.compatible_versions:
86
+ if _item:
87
+ _items.append(_item.to_dict())
88
+ _dict['compatibleVersions'] = _items
89
+ return _dict
90
+
91
+ @classmethod
92
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93
+ """Create an instance of UpgradeCompatibilityInfoDto from a dict"""
94
+ if obj is None:
95
+ return None
96
+
97
+ if not isinstance(obj, dict):
98
+ return cls.model_validate(obj)
99
+
100
+ _obj = cls.model_validate({
101
+ "compatibleVersions": [CompatibleVersionInfoDto.from_dict(_item) for _item in obj["compatibleVersions"]] if obj.get("compatibleVersions") is not None else None,
102
+ "status": obj.get("status"),
103
+ "uid": obj.get("uid")
104
+ })
105
+ return _obj
106
+
107
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scc-firewall-manager-sdk
3
- Version: 1.15.213
3
+ Version: 1.15.215
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=Y7Qpo9_LDcfWJEAfRzKIhVwPL0I_bps9MDIVPQLQheA,22698
2
- scc_firewall_manager_sdk/api_client.py,sha256=r55OqwY8bUjlo2Wdbj1AQHGJu0853YGyD37Es2d-uDk,25921
1
+ scc_firewall_manager_sdk/__init__.py,sha256=A--Nqp3_GnAznFPME5wR31SXHnqsInkWuYXuDmN0z2A,23012
2
+ scc_firewall_manager_sdk/api_client.py,sha256=yLpU6bWDnkYusIUQD2FkuHQiVLpBLpk7moxiyrRzR4Q,25921
3
3
  scc_firewall_manager_sdk/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- scc_firewall_manager_sdk/configuration.py,sha256=9D0VEbtJQ40dMGyoRfRxnBT9jXB4b3VTeERpR95Shn8,15993
4
+ scc_firewall_manager_sdk/configuration.py,sha256=AbhKGlecB741EDR6o7RjribbPaDrUYxpw5AWfhFdbwQ,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
@@ -22,7 +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=2fxsrkfFpI2zSx3WnviJnP0uuS2XBT8YE_sZ0FcXjk0,40990
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
+ scc_firewall_manager_sdk/api/msp_device_upgrades_api.py,sha256=4Uhe5jC0acw-Jt0Vej-r9NxFo_K7Z2fPdn9xJUpKtgs,25728
26
26
  scc_firewall_manager_sdk/api/msp_inventory_api.py,sha256=eLYqsv_7YNxQGLQLqEnWfSFPIJ8nWnuJQkZfxtGapxM,185473
27
27
  scc_firewall_manager_sdk/api/msp_tenant_management_api.py,sha256=u1Ljk5-A3JnMGyfGNVVyc1L2ll6I1m43hrLflbqvT5M,108920
28
28
  scc_firewall_manager_sdk/api/msp_user_management_api.py,sha256=MPy-WAv52ziuUcrK_Tq_q38PN1pbpgfL5fdqzYP81S8,54797
@@ -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=BnCYMdeADQD9mUnzYthkvNcvbBURYA6PNgxc_yKb4Xk,20022
35
+ scc_firewall_manager_sdk/models/__init__.py,sha256=tUSTeNLw5Mj1v9GgHa9e5Cln-lJH4kvPsVzQksP-8pg,20336
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
@@ -92,6 +92,8 @@ scc_firewall_manager_sdk/models/cluster_node.py,sha256=uhZVIK_i1eYHkcBSo5Z89K9O-
92
92
  scc_firewall_manager_sdk/models/command.py,sha256=AibHdeGJ7jVyoJ8ubrlFwNGbITeDp2OMk27RuTfD6Yo,2991
93
93
  scc_firewall_manager_sdk/models/command_response.py,sha256=zIlZo87Znsc93TBUWAWpmT7Cyha7Pgvu58C_X7OFjKg,4379
94
94
  scc_firewall_manager_sdk/models/common_api_error.py,sha256=akVAOg_1NtmytBN58TnFa1WES1-wSn125ek7cxyN93U,3722
95
+ scc_firewall_manager_sdk/models/compatible_device_dto.py,sha256=iKYMgQHIWj70d45nC2k6CRfMk0qF7nhse_bZuCMrf3g,4099
96
+ scc_firewall_manager_sdk/models/compatible_version_info_dto.py,sha256=fuv4bGtHukdzC10LLZhsm1CH_pDsjrK1mu13yQpQtfs,4524
95
97
  scc_firewall_manager_sdk/models/config_state.py,sha256=4ThYVdFgktHjHnki-J1iasHvW2LRRStcGrLJAtjl0eE,873
96
98
  scc_firewall_manager_sdk/models/conflict_detection_interval.py,sha256=HUeSSF-fnKlddq_AtRYAiw4u2fmdh1SliZBqIWYlxew,957
97
99
  scc_firewall_manager_sdk/models/conflict_detection_state.py,sha256=BrUVNTXo6N2td50eMOvLCmj7GvO1CFvcLj1kep09ES4,880
@@ -186,6 +188,7 @@ scc_firewall_manager_sdk/models/mfa_event.py,sha256=TMQsBFkHWPcKr548CtZH63wBXJUQ
186
188
  scc_firewall_manager_sdk/models/mfa_event_page.py,sha256=KYAZ9e0lmAllqjkQ0ur3tWSx7rGYAtH9kx-4-eUET2U,3701
187
189
  scc_firewall_manager_sdk/models/msp_add_tenant_input.py,sha256=8AUS2ZlPUNyqvenEXgIjG2PAnVpWGmz-TnyGJFSwi3k,2713
188
190
  scc_firewall_manager_sdk/models/msp_add_users_to_tenant_input.py,sha256=zh4tLdlt02dQXYD1AA8eyEOVWCMAyuJTctFph9W5U4E,3227
191
+ scc_firewall_manager_sdk/models/msp_calculate_compatible_upgrade_versions_input.py,sha256=dtU95QEO2cJdK3GgdLfTXIL4LirC9sefjSCdDitEEiU,3167
189
192
  scc_firewall_manager_sdk/models/msp_create_tenant_input.py,sha256=M2e4eXR17qZ-taqJjNffegwMdW-WW5yHbQhCs4PotIA,3788
190
193
  scc_firewall_manager_sdk/models/msp_delete_users_from_tenant_input.py,sha256=WSDxobFaalh3J5HyS0wu4_5FsXp0RLS2lefO_fkWhRg,2855
191
194
  scc_firewall_manager_sdk/models/msp_export_input.py,sha256=OcIWeptdOLWRGBVsj6LCcl2yzCbEMQLxCKOW0kzl_2g,2779
@@ -251,13 +254,13 @@ scc_firewall_manager_sdk/models/switch_port_config.py,sha256=SPclU10DtO25qrV9PyZ
251
254
  scc_firewall_manager_sdk/models/target.py,sha256=AioilwAAv-v2deFbUIyTSXkLPB9wjsfnR6UAQYeqbqA,3679
252
255
  scc_firewall_manager_sdk/models/targets_request.py,sha256=ahPtYdcMvFRlyWycuyQP5NzPxn8YzDJpvUGwwICM73A,2711
253
256
  scc_firewall_manager_sdk/models/tenant.py,sha256=OCsHEKq5Z8l76boTJx5zZHMsQpsBxWukEOJNxCTtiUY,4167
254
- scc_firewall_manager_sdk/models/tenant_ftd_compatibility_version.py,sha256=Gw9s5XfyoAxb2YWl3TUaPMNmPt_5mCKy7JXcLUuiTz0,3765
255
257
  scc_firewall_manager_sdk/models/tenant_page.py,sha256=JyhiesPil9RFEpSTIftf4aOcMRJvn8JfJzZlN_PyaMU,3684
256
258
  scc_firewall_manager_sdk/models/tenant_settings.py,sha256=SBz33QJxeSRsKTk2LZUWg7gFZccNO84PyIZQ4zqZRYw,6281
257
259
  scc_firewall_manager_sdk/models/unified_object_list_view.py,sha256=K7EbRHxb6kcZ0o1__4NSrzeHIUxzOONGixQkhrvmkgI,4201
258
260
  scc_firewall_manager_sdk/models/universal_ztna_settings.py,sha256=vfnfttfSKfrlffJpTzH1TCWdK46jn61lN5l0hIaX3jo,4149
259
261
  scc_firewall_manager_sdk/models/update_request.py,sha256=okwPfBTYcCUw5ZD1-XYOwa-WGv-4192QB-38rrQ1G78,3507
260
262
  scc_firewall_manager_sdk/models/upgrade_asa_device_input.py,sha256=j_zJPdZT2o__UDL5HHp_v1aENSM0zP0yjDFDJZnnNmw,3391
263
+ scc_firewall_manager_sdk/models/upgrade_compatibility_info_dto.py,sha256=MrrStiOPXJs6odegiASDlqyWKwsWTT8h2N-N4ds_CtU,4060
261
264
  scc_firewall_manager_sdk/models/upgrade_ftd_device_input.py,sha256=MbPKinUCTDXl39E-P7KhiHb3oJKb_Liewn7WS21Y-0k,3843
262
265
  scc_firewall_manager_sdk/models/upgrade_ftd_devices_input.py,sha256=yEoDUzkxOm0M_4FBiLF_nNsjQxdY8SZ7YtR3YfKkf-4,4274
263
266
  scc_firewall_manager_sdk/models/upgrade_run_dto.py,sha256=Aw4R31JM_NfUrPerNZEPpCq9zntmw5UvCt-xh104piU,5544
@@ -273,7 +276,7 @@ scc_firewall_manager_sdk/models/vlan_interface_create_input.py,sha256=AKUqPJw5ku
273
276
  scc_firewall_manager_sdk/models/vlan_interface_patch_input.py,sha256=srEFTyQykscNrWsbp8KGEzbmHC07_AU3DXjJ-7Be4zc,6054
274
277
  scc_firewall_manager_sdk/models/ztp_onboarding_input.py,sha256=HAgBTdocZeHGDZP_-9NyRtzP9E7BReGtiOmn4S3J-_g,5326
275
278
  scc_firewall_manager_sdk/models/ztp_onboarding_template_configuration.py,sha256=f9Z62yGFvz4QAQ07Z4bjfHLw2bRg46ccwoLuQ8q30TE,4808
276
- scc_firewall_manager_sdk-1.15.213.dist-info/METADATA,sha256=WMrWWtFDK7T5xXC-WANnyTSHqBXEAi8oxRB7kYZTiAo,596
277
- scc_firewall_manager_sdk-1.15.213.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
278
- scc_firewall_manager_sdk-1.15.213.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
279
- scc_firewall_manager_sdk-1.15.213.dist-info/RECORD,,
279
+ scc_firewall_manager_sdk-1.15.215.dist-info/METADATA,sha256=KOerykC2h_YdGo8YQIM-0TrNUA5BN3R082i115XnhSo,596
280
+ scc_firewall_manager_sdk-1.15.215.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
281
+ scc_firewall_manager_sdk-1.15.215.dist-info/top_level.txt,sha256=_g9WfFWGagKs6ULdfhEt8e7RXknpcp9_jA9ubIL4U3I,25
282
+ scc_firewall_manager_sdk-1.15.215.dist-info/RECORD,,