X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fdomain%2Focloud_repo.py;h=1c63de87297355b202efbcfae9574ea0542b06bb;hb=955e499773dcfd80e2b5497d3cb1b38c9ae294eb;hp=f3b43d2a29e97704401078e9d6096222398ad946;hpb=b21c925328b0c700fde9001b7a56ea55decdf088;p=pti%2Fo2.git diff --git a/o2ims/domain/ocloud_repo.py b/o2ims/domain/ocloud_repo.py index f3b43d2..1c63de8 100644 --- a/o2ims/domain/ocloud_repo.py +++ b/o2ims/domain/ocloud_repo.py @@ -68,6 +68,12 @@ class ResourceTypeRepository(abc.ABC): self.seen.add(resource_type) return resource_type + def get_by_name(self, resource_type_name) -> ocloud.ResourceType: + resource_type = self._get_by_name(resource_type_name) + if resource_type: + self.seen.add(resource_type) + return resource_type + def list(self) -> List[ocloud.ResourceType]: return self._list() @@ -83,6 +89,10 @@ class ResourceTypeRepository(abc.ABC): def _get(self, resource_type_id) -> ocloud.ResourceType: raise NotImplementedError + @abc.abstractmethod + def _get_by_name(self, resource_type_name) -> ocloud.ResourceType: + raise NotImplementedError + @abc.abstractmethod def _update(self, resource_type: ocloud.ResourceType): raise NotImplementedError @@ -136,8 +146,8 @@ class ResourceRepository(abc.ABC): self.seen.add(resource) return resource - def list(self) -> List[ocloud.Resource]: - return self._list() + def list(self, resourcepool_id, **kwargs) -> List[ocloud.Resource]: + return self._list(resourcepool_id, **kwargs) def update(self, resource: ocloud.Resource): self._update(resource) @@ -151,6 +161,43 @@ class ResourceRepository(abc.ABC): def _get(self, resource_id) -> ocloud.Resource: raise NotImplementedError + @abc.abstractmethod + def _list(self, resourcepool_id, **kwargs) -> ocloud.Resource: + raise NotImplementedError + @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