scc-firewall-manager-sdk 1.15.195__py3-none-any.whl → 1.15.563__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.
Files changed (58) hide show
  1. scc_firewall_manager_sdk/__init__.py +19 -2
  2. scc_firewall_manager_sdk/api/__init__.py +2 -0
  3. scc_firewall_manager_sdk/api/ai_assistant_api.py +12 -12
  4. scc_firewall_manager_sdk/api/asa_access_groups_api.py +12 -12
  5. scc_firewall_manager_sdk/api/asa_access_rules_api.py +12 -12
  6. scc_firewall_manager_sdk/api/asa_interfaces_api.py +72 -72
  7. scc_firewall_manager_sdk/api/audit_logs_api.py +12 -12
  8. scc_firewall_manager_sdk/api/change_requests_api.py +12 -12
  9. scc_firewall_manager_sdk/api/changelogs_api.py +12 -12
  10. scc_firewall_manager_sdk/api/command_line_interface_api.py +24 -24
  11. scc_firewall_manager_sdk/api/connectors_api.py +12 -12
  12. scc_firewall_manager_sdk/api/device_health_aggregations_api.py +19 -19
  13. scc_firewall_manager_sdk/api/device_upgrades_api.py +298 -297
  14. scc_firewall_manager_sdk/api/events_api.py +358 -0
  15. scc_firewall_manager_sdk/api/interface_health_aggregations_api.py +344 -0
  16. scc_firewall_manager_sdk/api/inventory_api.py +48 -48
  17. scc_firewall_manager_sdk/api/licensing_api.py +626 -0
  18. scc_firewall_manager_sdk/api/msp_device_upgrades_api.py +1692 -37
  19. scc_firewall_manager_sdk/api/msp_inventory_api.py +48 -48
  20. scc_firewall_manager_sdk/api/msp_tenant_management_api.py +41 -12
  21. scc_firewall_manager_sdk/api/msp_user_management_api.py +24 -24
  22. scc_firewall_manager_sdk/api/object_management_api.py +17 -0
  23. scc_firewall_manager_sdk/api/remote_access_monitoring_api.py +24 -24
  24. scc_firewall_manager_sdk/api/tenant_management_api.py +21 -18
  25. scc_firewall_manager_sdk/api/users_api.py +30 -30
  26. scc_firewall_manager_sdk/api_client.py +1 -1
  27. scc_firewall_manager_sdk/configuration.py +1 -1
  28. scc_firewall_manager_sdk/models/__init__.py +16 -1
  29. scc_firewall_manager_sdk/models/access_group.py +1 -1
  30. scc_firewall_manager_sdk/models/cdo_token_info.py +3 -1
  31. scc_firewall_manager_sdk/models/cdo_transaction.py +14 -14
  32. scc_firewall_manager_sdk/models/common_api_error.py +3 -3
  33. scc_firewall_manager_sdk/models/compatible_device_dto.py +100 -0
  34. scc_firewall_manager_sdk/models/compatible_version_info_dto.py +112 -0
  35. scc_firewall_manager_sdk/models/completion_status_dto.py +104 -0
  36. scc_firewall_manager_sdk/models/device_license_dto.py +133 -0
  37. scc_firewall_manager_sdk/models/device_license_page.py +102 -0
  38. scc_firewall_manager_sdk/models/{tenant_ftd_compatibility_version.py → device_upgrade_status_dto.py} +14 -18
  39. scc_firewall_manager_sdk/models/enable_cd_fmc_for_tenant_request.py +88 -0
  40. scc_firewall_manager_sdk/models/log_settings.py +1 -1
  41. scc_firewall_manager_sdk/models/metric_aggregation_list_item.py +12 -8
  42. scc_firewall_manager_sdk/models/msp_calculate_compatible_upgrade_versions_input.py +89 -0
  43. scc_firewall_manager_sdk/models/msp_managed_device.py +13 -1
  44. scc_firewall_manager_sdk/models/msp_managed_device_distinct_attribute_values.py +5 -1
  45. scc_firewall_manager_sdk/models/msp_upgrade_ftd_devices_input.py +97 -0
  46. scc_firewall_manager_sdk/models/msp_upgrade_run_dto.py +135 -0
  47. scc_firewall_manager_sdk/models/msp_upgrade_run_dto_page.py +102 -0
  48. scc_firewall_manager_sdk/models/msp_upgrade_runs_attribute_values.py +114 -0
  49. scc_firewall_manager_sdk/models/page.py +94 -0
  50. scc_firewall_manager_sdk/models/smart_account.py +90 -0
  51. scc_firewall_manager_sdk/models/tenant_settings.py +3 -1
  52. scc_firewall_manager_sdk/models/upgrade_compatibility_info_dto.py +107 -0
  53. scc_firewall_manager_sdk/models/upgrade_run_dto.py +14 -4
  54. scc_firewall_manager_sdk/models/upgrade_run_metadata_dto.py +96 -0
  55. {scc_firewall_manager_sdk-1.15.195.dist-info → scc_firewall_manager_sdk-1.15.563.dist-info}/METADATA +1 -1
  56. {scc_firewall_manager_sdk-1.15.195.dist-info → scc_firewall_manager_sdk-1.15.563.dist-info}/RECORD +58 -41
  57. {scc_firewall_manager_sdk-1.15.195.dist-info → scc_firewall_manager_sdk-1.15.563.dist-info}/WHEEL +0 -0
  58. {scc_firewall_manager_sdk-1.15.195.dist-info → scc_firewall_manager_sdk-1.15.563.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,135 @@
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.upgrade_run_metadata_dto import UpgradeRunMetadataDto
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class MspUpgradeRunDto(BaseModel):
29
+ """
30
+ MspUpgradeRunDto
31
+ """ # noqa: E501
32
+ error_msg: Optional[StrictStr] = Field(default=None, description="Error message if the upgrade run failed.", alias="errorMsg")
33
+ last_updated_time: Optional[datetime] = Field(default=None, description="Time (UTC; represented using the RFC-3339 standard) at which the upgrade run was last updated.", alias="lastUpdatedTime")
34
+ metadata: Optional[UpgradeRunMetadataDto] = None
35
+ name: Optional[StrictStr] = Field(default=None, description="Name of the upgrade run. Upgrade runs names are unique in a tenant in SCC Firewall Manager.")
36
+ software_version: Optional[StrictStr] = Field(default=None, description="Target software version for the upgrade.", alias="softwareVersion")
37
+ stage_upgrade_only: Optional[StrictBool] = Field(default=None, description="Indicates if this upgrade run is to stage the upgrade on the device. If set to true, the upgrade is not applied on the device.", alias="stageUpgradeOnly")
38
+ submission_time: Optional[datetime] = Field(default=None, description="Time (UTC; represented using the RFC-3339 standard) at which the upgrade run was triggered.", alias="submissionTime")
39
+ transaction_uid: Optional[StrictStr] = Field(default=None, description="Unique identifier, represented as a UUID, of the CDO transaction that tracks this upgrade run.", alias="transactionUid")
40
+ uid: Optional[StrictStr] = Field(default=None, description="The unique identifier, represented as a UUID, of the upgrade run in SCC Firewall Manager.")
41
+ upgrade_run_status: Optional[StrictStr] = Field(default=None, description="Current status of the upgrade run.", alias="upgradeRunStatus")
42
+ upgrade_run_type: Optional[StrictStr] = Field(default=None, description="Type of upgrade run", alias="upgradeRunType")
43
+ username: Optional[StrictStr] = Field(default=None, description="Username of the user who initiated the upgrade run.")
44
+ __properties: ClassVar[List[str]] = ["errorMsg", "lastUpdatedTime", "metadata", "name", "softwareVersion", "stageUpgradeOnly", "submissionTime", "transactionUid", "uid", "upgradeRunStatus", "upgradeRunType", "username"]
45
+
46
+ @field_validator('upgrade_run_status')
47
+ def upgrade_run_status_validate_enum(cls, value):
48
+ """Validates the enum"""
49
+ if value is None:
50
+ return value
51
+
52
+ if value not in set(['IN_PROGRESS', 'REBUILDING_UPGRADE_CACHE', 'PERFORMING_UPGRADE', 'UPLOADING_IMAGE', 'PERFORMING_READINESS_CHECK', 'UPGRADE_STAGED', 'UPGRADE_STAGING_FAILED', 'UGPRADE_STAGING_FAILED', 'UPGRADE_COMPLETED', 'UPGRADE_FAILED']):
53
+ raise ValueError("must be one of enum values ('IN_PROGRESS', 'REBUILDING_UPGRADE_CACHE', 'PERFORMING_UPGRADE', 'UPLOADING_IMAGE', 'PERFORMING_READINESS_CHECK', 'UPGRADE_STAGED', 'UPGRADE_STAGING_FAILED', 'UGPRADE_STAGING_FAILED', 'UPGRADE_COMPLETED', 'UPGRADE_FAILED')")
54
+ return value
55
+
56
+ @field_validator('upgrade_run_type')
57
+ def upgrade_run_type_validate_enum(cls, value):
58
+ """Validates the enum"""
59
+ if value is None:
60
+ return value
61
+
62
+ if value not in set(['ASA_DEVICE_UPGRADE', 'FTD_DEVICE_UPGRADE', 'FTD_SECURE_CLIENT_UPGRADE', 'ASA_SECURE_CLIENT_UPGRADE']):
63
+ raise ValueError("must be one of enum values ('ASA_DEVICE_UPGRADE', 'FTD_DEVICE_UPGRADE', 'FTD_SECURE_CLIENT_UPGRADE', 'ASA_SECURE_CLIENT_UPGRADE')")
64
+ return value
65
+
66
+ model_config = ConfigDict(
67
+ populate_by_name=True,
68
+ validate_assignment=True,
69
+ protected_namespaces=(),
70
+ )
71
+
72
+
73
+ def to_str(self) -> str:
74
+ """Returns the string representation of the model using alias"""
75
+ return pprint.pformat(self.model_dump(by_alias=True))
76
+
77
+ def to_json(self) -> str:
78
+ """Returns the JSON representation of the model using alias"""
79
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
80
+ return json.dumps(self.to_dict())
81
+
82
+ @classmethod
83
+ def from_json(cls, json_str: str) -> Optional[Self]:
84
+ """Create an instance of MspUpgradeRunDto from a JSON string"""
85
+ return cls.from_dict(json.loads(json_str))
86
+
87
+ def to_dict(self) -> Dict[str, Any]:
88
+ """Return the dictionary representation of the model using alias.
89
+
90
+ This has the following differences from calling pydantic's
91
+ `self.model_dump(by_alias=True)`:
92
+
93
+ * `None` is only added to the output dict for nullable fields that
94
+ were set at model initialization. Other fields with value `None`
95
+ are ignored.
96
+ """
97
+ excluded_fields: Set[str] = set([
98
+ ])
99
+
100
+ _dict = self.model_dump(
101
+ by_alias=True,
102
+ exclude=excluded_fields,
103
+ exclude_none=True,
104
+ )
105
+ # override the default output from pydantic by calling `to_dict()` of metadata
106
+ if self.metadata:
107
+ _dict['metadata'] = self.metadata.to_dict()
108
+ return _dict
109
+
110
+ @classmethod
111
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
112
+ """Create an instance of MspUpgradeRunDto from a dict"""
113
+ if obj is None:
114
+ return None
115
+
116
+ if not isinstance(obj, dict):
117
+ return cls.model_validate(obj)
118
+
119
+ _obj = cls.model_validate({
120
+ "errorMsg": obj.get("errorMsg"),
121
+ "lastUpdatedTime": obj.get("lastUpdatedTime"),
122
+ "metadata": UpgradeRunMetadataDto.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None,
123
+ "name": obj.get("name"),
124
+ "softwareVersion": obj.get("softwareVersion"),
125
+ "stageUpgradeOnly": obj.get("stageUpgradeOnly"),
126
+ "submissionTime": obj.get("submissionTime"),
127
+ "transactionUid": obj.get("transactionUid"),
128
+ "uid": obj.get("uid"),
129
+ "upgradeRunStatus": obj.get("upgradeRunStatus"),
130
+ "upgradeRunType": obj.get("upgradeRunType"),
131
+ "username": obj.get("username")
132
+ })
133
+ return _obj
134
+
135
+
@@ -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, StrictInt
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from scc_firewall_manager_sdk.models.msp_upgrade_run_dto import MspUpgradeRunDto
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class MspUpgradeRunDtoPage(BaseModel):
28
+ """
29
+ MspUpgradeRunDtoPage
30
+ """ # noqa: E501
31
+ count: Optional[StrictInt] = Field(default=None, description="The total number of results available.")
32
+ items: Optional[List[MspUpgradeRunDto]] = Field(default=None, description="The list of items retrieved.")
33
+ limit: Optional[StrictInt] = Field(default=None, description="The number of results retrieved.")
34
+ offset: Optional[StrictInt] = Field(default=None, description="The offset of the results retrieved. The Security Cloud Control API uses the offset field to determine the index of the first result retrieved, and will retrieve `limit` results from the offset specified.")
35
+ __properties: ClassVar[List[str]] = ["count", "items", "limit", "offset"]
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 MspUpgradeRunDtoPage 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 items (list)
77
+ _items = []
78
+ if self.items:
79
+ for _item in self.items:
80
+ if _item:
81
+ _items.append(_item.to_dict())
82
+ _dict['items'] = _items
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of MspUpgradeRunDtoPage 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
+ "count": obj.get("count"),
96
+ "items": [MspUpgradeRunDto.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None,
97
+ "limit": obj.get("limit"),
98
+ "offset": obj.get("offset")
99
+ })
100
+ return _obj
101
+
102
+
@@ -0,0 +1,114 @@
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 typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class MspUpgradeRunsAttributeValues(BaseModel):
27
+ """
28
+ MspUpgradeRunsAttributeValues
29
+ """ # noqa: E501
30
+ upgrade_run_statuses: Optional[List[StrictStr]] = Field(default=None, description="Distinct status values for the MSP upgrade runs on this MSP portal.", alias="upgradeRunStatuses")
31
+ upgrade_run_types: Optional[List[StrictStr]] = Field(default=None, alias="upgradeRunTypes")
32
+ users: Optional[List[StrictStr]] = None
33
+ __properties: ClassVar[List[str]] = ["upgradeRunStatuses", "upgradeRunTypes", "users"]
34
+
35
+ @field_validator('upgrade_run_statuses')
36
+ def upgrade_run_statuses_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value is None:
39
+ return value
40
+
41
+ for i in value:
42
+ if i not in set(['IN_PROGRESS', 'REBUILDING_UPGRADE_CACHE', 'PERFORMING_UPGRADE', 'UPLOADING_IMAGE', 'PERFORMING_READINESS_CHECK', 'UPGRADE_STAGED', 'UPGRADE_STAGING_FAILED', 'UGPRADE_STAGING_FAILED', 'UPGRADE_COMPLETED', 'UPGRADE_FAILED']):
43
+ raise ValueError("each list item must be one of ('IN_PROGRESS', 'REBUILDING_UPGRADE_CACHE', 'PERFORMING_UPGRADE', 'UPLOADING_IMAGE', 'PERFORMING_READINESS_CHECK', 'UPGRADE_STAGED', 'UPGRADE_STAGING_FAILED', 'UGPRADE_STAGING_FAILED', 'UPGRADE_COMPLETED', 'UPGRADE_FAILED')")
44
+ return value
45
+
46
+ @field_validator('upgrade_run_types')
47
+ def upgrade_run_types_validate_enum(cls, value):
48
+ """Validates the enum"""
49
+ if value is None:
50
+ return value
51
+
52
+ for i in value:
53
+ if i not in set(['ASA_DEVICE_UPGRADE', 'FTD_DEVICE_UPGRADE', 'FTD_SECURE_CLIENT_UPGRADE', 'ASA_SECURE_CLIENT_UPGRADE']):
54
+ raise ValueError("each list item must be one of ('ASA_DEVICE_UPGRADE', 'FTD_DEVICE_UPGRADE', 'FTD_SECURE_CLIENT_UPGRADE', 'ASA_SECURE_CLIENT_UPGRADE')")
55
+ return value
56
+
57
+ model_config = ConfigDict(
58
+ populate_by_name=True,
59
+ validate_assignment=True,
60
+ protected_namespaces=(),
61
+ )
62
+
63
+
64
+ def to_str(self) -> str:
65
+ """Returns the string representation of the model using alias"""
66
+ return pprint.pformat(self.model_dump(by_alias=True))
67
+
68
+ def to_json(self) -> str:
69
+ """Returns the JSON representation of the model using alias"""
70
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
71
+ return json.dumps(self.to_dict())
72
+
73
+ @classmethod
74
+ def from_json(cls, json_str: str) -> Optional[Self]:
75
+ """Create an instance of MspUpgradeRunsAttributeValues from a JSON string"""
76
+ return cls.from_dict(json.loads(json_str))
77
+
78
+ def to_dict(self) -> Dict[str, Any]:
79
+ """Return the dictionary representation of the model using alias.
80
+
81
+ This has the following differences from calling pydantic's
82
+ `self.model_dump(by_alias=True)`:
83
+
84
+ * `None` is only added to the output dict for nullable fields that
85
+ were set at model initialization. Other fields with value `None`
86
+ are ignored.
87
+ """
88
+ excluded_fields: Set[str] = set([
89
+ ])
90
+
91
+ _dict = self.model_dump(
92
+ by_alias=True,
93
+ exclude=excluded_fields,
94
+ exclude_none=True,
95
+ )
96
+ return _dict
97
+
98
+ @classmethod
99
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
100
+ """Create an instance of MspUpgradeRunsAttributeValues from a dict"""
101
+ if obj is None:
102
+ return None
103
+
104
+ if not isinstance(obj, dict):
105
+ return cls.model_validate(obj)
106
+
107
+ _obj = cls.model_validate({
108
+ "upgradeRunStatuses": obj.get("upgradeRunStatuses"),
109
+ "upgradeRunTypes": obj.get("upgradeRunTypes"),
110
+ "users": obj.get("users")
111
+ })
112
+ return _obj
113
+
114
+
@@ -0,0 +1,94 @@
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, StrictInt
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class Page(BaseModel):
27
+ """
28
+ Page
29
+ """ # noqa: E501
30
+ count: Optional[StrictInt] = Field(default=None, description="The total number of results available.")
31
+ items: Optional[List[Any]] = Field(default=None, description="The list of items retrieved.")
32
+ limit: Optional[StrictInt] = Field(default=None, description="The number of results retrieved.")
33
+ offset: Optional[StrictInt] = Field(default=None, description="The offset of the results retrieved. The Security Cloud Control API uses the offset field to determine the index of the first result retrieved, and will retrieve `limit` results from the offset specified.")
34
+ __properties: ClassVar[List[str]] = ["count", "items", "limit", "offset"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of Page from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of Page from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "count": obj.get("count"),
88
+ "items": obj.get("items"),
89
+ "limit": obj.get("limit"),
90
+ "offset": obj.get("offset")
91
+ })
92
+ return _obj
93
+
94
+
@@ -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, 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 SmartAccount(BaseModel):
27
+ """
28
+ SmartAccount
29
+ """ # noqa: E501
30
+ parent: Optional[StrictStr] = Field(default=None, description="The name of the smart account used to license the device.")
31
+ virtual: Optional[StrictStr] = Field(default=None, description="The name of the virtual account, within the smart account, used to license the device")
32
+ __properties: ClassVar[List[str]] = ["parent", "virtual"]
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 SmartAccount 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 SmartAccount 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
+ "parent": obj.get("parent"),
86
+ "virtual": obj.get("virtual")
87
+ })
88
+ return _obj
89
+
90
+
@@ -38,11 +38,12 @@ class TenantSettings(BaseModel):
38
38
  deny_cisco_support_access_to_tenant: Optional[StrictBool] = Field(default=None, description="Indicates if Cisco support is denied access to the tenant.", alias="denyCiscoSupportAccessToTenant")
39
39
  msp_portal_uid: Optional[StrictStr] = Field(default=None, description="The unique identifier, represented as a UUID, of the MSP portal associated with the tenant.", alias="mspPortalUid")
40
40
  multicloud_defense: Optional[StrictBool] = Field(default=None, description="Indicates if the tenant has the multicloud defense enabled.", alias="multicloudDefense")
41
+ object_sharing_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if the tenant has Object Sharing enabled.", alias="objectSharingEnabled")
41
42
  policy_analyzer: Optional[StrictBool] = Field(default=None, description="Indicates if the tenant has the policy analyzer enabled.", alias="policyAnalyzer")
42
43
  scheduled_deployments: Optional[StrictBool] = Field(default=None, description="Indicates if the tenant has scheduled deployments enabled.", alias="scheduledDeployments")
43
44
  uid: Optional[StrictStr] = Field(default=None, description="The unique identifier, represented as a UUID, of the tenant in Security Cloud Control.")
44
45
  web_analytics: Optional[StrictBool] = Field(default=None, description="Indicates if web analytics are enabled for the tenant.", alias="webAnalytics")
45
- __properties: ClassVar[List[str]] = ["aiAssistant", "allowCrossRegionTenantAddition", "asaHealthMetrics", "autoAcceptDeviceChanges", "autoDiscoverOnPremFmcs", "changeRequestSupport", "conflictDetectionInterval", "denyCiscoSupportAccessToTenant", "mspPortalUid", "multicloudDefense", "policyAnalyzer", "scheduledDeployments", "uid", "webAnalytics"]
46
+ __properties: ClassVar[List[str]] = ["aiAssistant", "allowCrossRegionTenantAddition", "asaHealthMetrics", "autoAcceptDeviceChanges", "autoDiscoverOnPremFmcs", "changeRequestSupport", "conflictDetectionInterval", "denyCiscoSupportAccessToTenant", "mspPortalUid", "multicloudDefense", "objectSharingEnabled", "policyAnalyzer", "scheduledDeployments", "uid", "webAnalytics"]
46
47
 
47
48
  model_config = ConfigDict(
48
49
  populate_by_name=True,
@@ -105,6 +106,7 @@ class TenantSettings(BaseModel):
105
106
  "denyCiscoSupportAccessToTenant": obj.get("denyCiscoSupportAccessToTenant"),
106
107
  "mspPortalUid": obj.get("mspPortalUid"),
107
108
  "multicloudDefense": obj.get("multicloudDefense"),
109
+ "objectSharingEnabled": obj.get("objectSharingEnabled"),
108
110
  "policyAnalyzer": obj.get("policyAnalyzer"),
109
111
  "scheduledDeployments": obj.get("scheduledDeployments"),
110
112
  "uid": obj.get("uid"),
@@ -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
+