X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Focloud_repo.py;h=c513eed10c532f43a395be7589fe26df08a4fdc2;hb=b86917339a9fc4ea0da6c2deadace89c3b0e1bef;hp=48ad84012b930ec18713c6315bd08cdd321d6172;hpb=38646c684a13536146ecf16a35e6e33d614b29e9;p=pti%2Fo2.git diff --git a/o2ims/domain/ocloud_repo.py b/o2ims/domain/ocloud_repo.py index 48ad840..c513eed 100644 --- a/o2ims/domain/ocloud_repo.py +++ b/o2ims/domain/ocloud_repo.py @@ -36,6 +36,7 @@ class OcloudRepository(abc.ABC): def update(self, ocloud: ocloud.Ocloud): self._update(ocloud) + self.seen.add(ocloud) # def update_fields(self, ocloudid: str, updatefields: dict): # self._update(ocloudid, updatefields) @@ -72,6 +73,7 @@ class ResourceTypeRepository(abc.ABC): def update(self, resource_type: ocloud.ResourceType): self._update(resource_type) + self.seen.add(resource_type) @abc.abstractmethod def _add(self, resource_type: ocloud.ResourceType): @@ -105,6 +107,7 @@ class ResourcePoolRepository(abc.ABC): def update(self, resource_pool: ocloud.ResourcePool): self._update(resource_pool) + self.seen.add(resource_pool) @abc.abstractmethod def _add(self, resource_pool: ocloud.ResourcePool): @@ -133,11 +136,12 @@ class ResourceRepository(abc.ABC): self.seen.add(resource) return resource - def list(self) -> List[ocloud.Resource]: - return self._list() + def list(self, resourcepool_id) -> List[ocloud.Resource]: + return self._list(resourcepool_id) def update(self, resource: ocloud.Resource): self._update(resource) + self.seen.add(resource) @abc.abstractmethod def _add(self, resource: ocloud.Resource): @@ -150,3 +154,36 @@ class ResourceRepository(abc.ABC): @abc.abstractmethod def _update(self, resource: ocloud.Resource): raise NotImplementedError + + +class DeploymentManagerRepository(abc.ABC): + def __init__(self): + self.seen = set() # type: Set[ocloud.DeploymentManager] + + def add(self, deployment_manager: ocloud.DeploymentManager): + self._add(deployment_manager) + self.seen.add(deployment_manager) + + def get(self, deployment_manager_id) -> ocloud.DeploymentManager: + deployment_manager = self._get(deployment_manager_id) + if deployment_manager: + self.seen.add(deployment_manager) + return deployment_manager + + def list(self) -> List[ocloud.DeploymentManager]: + return self._list() + + def update(self, deployment_manager: ocloud.DeploymentManager): + self._update(deployment_manager) + + @abc.abstractmethod + def _add(self, deployment_manager: ocloud.DeploymentManager): + raise NotImplementedError + + @abc.abstractmethod + def _get(self, deployment_manager_id) -> ocloud.DeploymentManager: + raise NotImplementedError + + @abc.abstractmethod + def _update(self, deployment_manager: ocloud.DeploymentManager): + raise NotImplementedError