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
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 = '',
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:
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 = '',
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 = '',
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:
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):