import json
from o2common.domain.base import AgRoot, Serializer
+from o2common.config import config, conf as CONF
# from dataclasses import dataclass
# from datetime import date
# from typing import Optional, List, Set
-from .resource_type import ResourceTypeEnum
-# from uuid import UUID
+from .resource_type import ResourceKindEnum, ResourceTypeEnum
+
+
+DeploymentManagerProfileDefault = 'native_k8sapi'
+DeploymentManagerProfileSOL018 = 'sol018'
+DeploymentManagerProfileSOL018HelmCLI = 'sol018_helmcli'
class DeploymentManager(AgRoot, Serializer):
capacity: str = '', profile: str = '') -> None:
super().__init__()
self.deploymentManagerId = id
- self.version_number = 0
- self.oCloudId = ocloudid
self.name = name
self.description = description
- self.deploymentManagementServiceEndpoint = dmsendpoint
+ self.oCloudId = ocloudid
+ self.serviceUri = dmsendpoint
self.supportedLocations = supportedLocations
self.capabilities = capabilities
self.capacity = capacity
self.profile = profile
self.extensions = []
+ self.version_number = 0
+
def serialize(self):
d = Serializer.serialize(self)
if 'profile' in d and d['profile'] != '':
d['profile'] = json.loads(d['profile'])
+ d['profileSupportList'] = [
+ DeploymentManagerProfileDefault,
+ ]
+ profiles = config.get_dms_support_profiles()
+ for profile in profiles:
+ if profile == DeploymentManagerProfileSOL018:
+ d['profileSupportList'].append(profile)
+ elif profile == DeploymentManagerProfileSOL018HelmCLI:
+ d['profileSupportList'].append(profile)
return d
description: str = '') -> None:
super().__init__()
self.resourcePoolId = id
- self.version_number = 0
- self.oCloudId = ocloudid
self.globalLocationId = gLocationId
self.name = name
- self.location = location
self.description = description
+ self.oCloudId = ocloudid
+ self.location = location
+ self.resources = ''
self.extensions = []
+ self.version_number = 0
+
class ResourceType(AgRoot, Serializer):
def __init__(self, typeid: str, name: str, typeEnum: ResourceTypeEnum,
- ocloudid: str, vender: str = '', model: str = '',
+ ocloudid: str, vendor: str = '', model: str = '',
version: str = '',
description: str = '') -> None:
super().__init__()
self.resourceTypeId = typeid
- self.version_number = 0
- self.oCloudId = ocloudid
self.resourceTypeEnum = typeEnum
self.name = name
- self.vender = vender
+ self.description = description
+ self.vendor = vendor
self.model = model
self.version = version
- self.description = description
+ self.alarmDictionary = {}
+ self.resourceKind = ResourceKindEnum.UNDEFINED
+ self.resourceClass = ResourceTypeEnum.UNDEFINED
self.extensions = []
+ self.version_number = 0
+
+ def serialize(self):
+ d = Serializer.serialize(self)
+
+ d["alarmDictionary"] = CONF.alarm_dictionaries.get(
+ d['name']).serialize()
+ return d
+
class Resource(AgRoot, Serializer):
def __init__(self, resourceId: str, resourceTypeId: str,
description: str = '') -> None:
super().__init__()
self.resourceId = resourceId
- self.version_number = 0
+ self.description = description
self.resourceTypeId = resourceTypeId
+ self.globalAssetId = gAssetId
self.resourcePoolId = resourcePoolId
+ self.elements = elements
+ self.extensions = []
+
self.name = name
- self.globalAssetId = gAssetId
self.parentId = parentId
- self.elements = elements
- self.description = description
self.children = []
- self.extensions = []
+
+ self.version_number = 0
def set_children(self, children: list):
self.children = children
description: str = '', version_number: int = 0) -> None:
super().__init__()
self.oCloudId = ocloudid
- self.globalcloudId = globalcloudId
- self.version_number = version_number
+ self.globalCloudId = globalcloudId
self.name = name
self.description = description
- self.infrastructureManagementServiceEndpoint = imsendpoint
+ self.serviceUri = imsendpoint
+ self.resourceTypes = []
self.resourcePools = []
self.deploymentManagers = []
- self.resourceTypes = []
+ self.smoRegistrationService = ''
self.extensions = []
+ self.version_number = version_number
+
# def addDeploymentManager(self,
# deploymentManager: DeploymentManager):