X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Focloud.py;h=ce46e96a53b1f2702149e4f9f0471a3dbf62a07a;hb=1afd31661caed07e670d4371d1ac34caa7eb2539;hp=eb4f34b4d1602ed3a1d0a5d2c6f8e436d7a676e1;hpb=516ed2aeb97e09044fb79ca1b6d26e81e2f64edd;p=pti%2Fo2.git diff --git a/o2ims/domain/ocloud.py b/o2ims/domain/ocloud.py index eb4f34b..ce46e96 100644 --- a/o2ims/domain/ocloud.py +++ b/o2ims/domain/ocloud.py @@ -16,7 +16,8 @@ from __future__ import annotations import json from o2common.config import config -from o2common.domain.base import AgRoot, Serializer +from o2common.domain.base import AgRoot, Serializer, \ + InfrastructureInventoryObject # from dataclasses import dataclass # from datetime import date # from typing import Optional, List, Set @@ -29,7 +30,7 @@ DeploymentManagerProfileSOL018 = 'sol018' DeploymentManagerProfileSOL018HelmCLI = 'sol018_helmcli' -class DeploymentManager(AgRoot, Serializer): +class DeploymentManager(InfrastructureInventoryObject, AgRoot, Serializer): def __init__(self, id: str, name: str, ocloudid: str, dmsendpoint: str, description: str = '', supportedLocations: str = '', capabilities: str = '', @@ -63,10 +64,17 @@ class DeploymentManager(AgRoot, Serializer): elif profile == DeploymentManagerProfileSOL018HelmCLI: d['profileSupportList'].append(profile) + if 'capabilities' in d and d['capabilities'] != '': + d['capabilities'] = json.loads(d['capabilities']) return d + def get_notification_dict(self): + return self.get_fields_as_dict( + ['deploymentManagerId', 'name', 'oCloudId', 'serviceUri', + 'description']) -class ResourcePool(AgRoot, Serializer): + +class ResourcePool(InfrastructureInventoryObject, AgRoot, Serializer): def __init__(self, id: str, name: str, location: str, ocloudid: str, gLocationId: str = '', description: str = '') -> None: @@ -82,8 +90,13 @@ class ResourcePool(AgRoot, Serializer): self.version_number = 0 + def get_notification_dict(self): + return self.get_fields_as_dict( + ['resourcePoolId', 'oCloudId', 'globalLocationId', 'name', + 'description']) + -class ResourceType(AgRoot, Serializer): +class ResourceType(InfrastructureInventoryObject, AgRoot, Serializer): def __init__(self, typeid: str, name: str, typeEnum: ResourceTypeEnum, vendor: str = '', model: str = '', version: str = '', @@ -110,8 +123,13 @@ class ResourceType(AgRoot, Serializer): d['alarmDictionary'] = d['alarmDictionary'].serialize() return d + def get_notification_dict(self): + return self.get_fields_as_dict( + ['resourceTypeId', 'name', 'description', 'vendor', 'model', + 'version']) -class Resource(AgRoot, Serializer): + +class Resource(InfrastructureInventoryObject, AgRoot, Serializer): def __init__(self, resourceId: str, resourceTypeId: str, resourcePoolId: str, parentId: str = '', gAssetId: str = '', elements: str = '', @@ -151,8 +169,13 @@ class Resource(AgRoot, Serializer): d['children'].append(child.serialize()) return d + def get_notification_dict(self): + return self.get_fields_as_dict( + ['resourceId', 'resourceTypeId', 'resourcePoolId', 'globalAssetId', + 'description']) + -class Ocloud(AgRoot, Serializer): +class Ocloud(InfrastructureInventoryObject, AgRoot, Serializer): def __init__(self, ocloudid: str, name: str, imsendpoint: str, globalcloudId: str = '', description: str = '', version_number: int = 0) -> None: @@ -170,6 +193,10 @@ class Ocloud(AgRoot, Serializer): self.version_number = version_number + def get_notification_dict(self): + return self.get_fields_as_dict( + ['oCloudId', 'globalcloudId', 'globalCloudId', 'name', + 'description', 'serviceUri']) # def addDeploymentManager(self, # deploymentManager: DeploymentManager):