# limitations under the License.\r
\r
from __future__ import annotations\r
+import json\r
+\r
+from o2common.domain.base import AgRoot, Serializer\r
# from dataclasses import dataclass\r
# from datetime import date\r
# from typing import Optional, List, Set\r
# from uuid import UUID\r
\r
\r
-class DeploymentManager:\r
+class DeploymentManager(AgRoot, Serializer):\r
def __init__(self, id: str, name: str, ocloudid: str,\r
- dmsendpoint: str) -> None:\r
+ dmsendpoint: str, description: str = '',\r
+ supportedLocations: str = '', capabilities: str = '',\r
+ capacity: str = '') -> None:\r
+ super().__init__()\r
self.deploymentManagerId = id\r
- self.name = name\r
+ self.version_number = 0\r
self.oCloudId = ocloudid\r
+ self.name = name\r
+ self.description = description\r
self.deploymentManagementServiceEndpoint = dmsendpoint\r
+ self.supportedLocations = supportedLocations\r
+ self.capabilities = capabilities\r
+ self.capacity = capacity\r
self.extensions = []\r
\r
\r
-class ResourcePool:\r
+class ResourcePool(AgRoot, Serializer):\r
def __init__(self, id: str, name: str, location: str,\r
- ocloudid: str) -> None:\r
+ ocloudid: str, gLocationId: str = '',\r
+ description: str = '') -> None:\r
+ super().__init__()\r
self.resourcePoolId = id\r
+ self.version_number = 0\r
+ self.oCloudId = ocloudid\r
+ self.globalLocationId = gLocationId\r
self.name = name\r
self.location = location\r
- self.oCloudId = ocloudid\r
+ self.description = description\r
self.extensions = []\r
\r
\r
-class ResourceType:\r
+class ResourceType(AgRoot, Serializer):\r
def __init__(self, typeid: str, name: str, typeEnum: ResourceTypeEnum,\r
- ocloudid: str) -> None:\r
+ ocloudid: str, vender: str = '', model: str = '',\r
+ version: str = '',\r
+ description: str = '') -> None:\r
+ super().__init__()\r
self.resourceTypeId = typeid\r
- self.resourceTypeEnum = typeEnum.value\r
- self.name = name\r
+ self.version_number = 0\r
self.oCloudId = ocloudid\r
+ self.resourceTypeEnum = typeEnum\r
+ self.name = name\r
+ self.vender = vender\r
+ self.model = model\r
+ self.version = version\r
+ self.description = description\r
self.extensions = []\r
\r
\r
-class Resource:\r
+class Resource(AgRoot, Serializer):\r
def __init__(self, resourceId: str, resourceTypeId: str,\r
- resourcePoolId: str) -> None:\r
+ resourcePoolId: str, name: str, parentId: str = '',\r
+ gAssetId: str = '', elements: str = '',\r
+ description: str = '') -> None:\r
+ super().__init__()\r
self.resourceId = resourceId\r
- self.oCloudId = None # tbd\r
+ self.version_number = 0\r
self.resourceTypeId = resourceTypeId\r
self.resourcePoolId = resourcePoolId\r
- self.parentId = None\r
- self.elements = []\r
+ self.name = name\r
+ self.globalAssetId = gAssetId\r
+ self.parentId = parentId\r
+ self.elements = elements\r
+ self.description = description\r
+ self.children = []\r
self.extensions = []\r
\r
+ def set_children(self, children: list):\r
+ self.children = children\r
+\r
+ def serialize(self):\r
+ d = Serializer.serialize(self)\r
+\r
+ if 'elements' in d and d['elements'] != '':\r
+ d['elements'] = json.loads(d['elements'])\r
+\r
+ if not hasattr(self, 'children') or len(self.children) == 0:\r
+ return d\r
+ else:\r
+ d['children'] = []\r
\r
-class Ocloud:\r
+ for child in self.children:\r
+ d['children'].append(child.serialize())\r
+ return d\r
+\r
+\r
+class Ocloud(AgRoot, Serializer):\r
def __init__(self, ocloudid: str, name: str, imsendpoint: str,\r
+ globalcloudId: str = '',\r
description: str = '', version_number: int = 0) -> None:\r
-\r
+ super().__init__()\r
self.oCloudId = ocloudid\r
+ self.globalcloudId = globalcloudId\r
self.version_number = version_number\r
self.name = name\r
self.description = description\r
self.deploymentManagers = []\r
self.resourceTypes = []\r
self.extensions = []\r
- self.events = []\r
-\r
- def addDeploymentManager(self,\r
- deploymentManager: DeploymentManager):\r
-\r
- deploymentManager.oCloudId = self.oCloudId\r
- old = filter(\r
- lambda x: x.deploymentManagerId ==\r
- deploymentManager.deploymentManagerId,\r
- self.deploymentManagers)\r
- for o in old or []:\r
- self.deploymentManagers.remove(o)\r
- self.deploymentManagers.append(deploymentManager)\r
+\r
+ # def addDeploymentManager(self,\r
+ # deploymentManager: DeploymentManager):\r
+\r
+ # deploymentManager.oCloudId = self.oCloudId\r
+ # old = filter(\r
+ # lambda x: x.deploymentManagerId ==\r
+ # deploymentManager.deploymentManagerId,\r
+ # self.deploymentManagers)\r
+ # for o in old or []:\r
+ # self.deploymentManagers.remove(o)\r
+ # self.deploymentManagers.append(deploymentManager)\r