+ def _update(self, id, **kwargs):\r
+ raise NotImplementedError\r
+\r
+ @abc.abstractmethod\r
+ def _delete(self, nfdeployment_descriptor_id):\r
+ raise NotImplementedError\r
+\r
+ @abc.abstractmethod\r
+ def _count(self, **kwargs):\r
+ raise NotImplementedError\r
+\r
+\r
+class NfOCloudVResourceRepository(abc.ABC):\r
+ def __init__(self):\r
+ self.seen = set() # type: Set[dms.NfOCloudVResource]\r
+\r
+ def add(self, nfocloudvres: dms.NfOCloudVResource):\r
+ self._add(nfocloudvres)\r
+ self.seen.add(nfocloudvres)\r
+\r
+ def get(self, nfocloudvres_id) -> dms.NfOCloudVResource:\r
+ nfocloudvres = self._get(nfocloudvres_id)\r
+ if nfocloudvres:\r
+ self.seen.add(nfocloudvres)\r
+ return nfocloudvres\r
+\r
+ def list(self) -> List[dms.NfOCloudVResource]:\r
+ return self._list()\r
+\r
+ def update(self, nfocloudvres_id, **kwargs):\r
+ self._update(nfocloudvres_id, **kwargs)\r
+\r
+ def delete(self, nfocloudvres_id):\r
+ self._delete(nfocloudvres_id)\r
+\r
+ @abc.abstractmethod\r
+ def _add(self, nfocloudvres: dms.NfOCloudVResource):\r
+ raise NotImplementedError\r
+\r
+ @abc.abstractmethod\r
+ def _get(self, nfocloudvres_id) -> dms.NfOCloudVResource:\r
+ raise NotImplementedError\r
+\r
+ @abc.abstractmethod\r
+ def _update(self, nfocloudvres_id, **kwargs):\r
+ raise NotImplementedError\r
+\r
+ @abc.abstractmethod\r
+ def _delete(self, nfocloudvres_id):\r