from abc import abstractmethod
from dataclasses import dataclass
+from osm_common.temporal.workflows.base import BaseWorkflow
from osm_common.temporal.workflows.lcm import LcmOperationWorkflow
@abstractmethod
async def run(self, workflow_input: Input) -> None:
pass
+
+
+class NsDeleteRecordsWorkflow(BaseWorkflow):
+ """Delete the records belongs to NS from DB.
+
+ Workflow Identifier:
+ It is recommended that the ID for the NS is referred as a workflow
+ ID when invoking this workflow.
+ """
+
+ @dataclass
+ class Input:
+ """
+ Input dataclass for workflow that deletes a NS.
+
+ Attributes:
+ -----------
+ ns_uuid : str
+ The UUID of the VNF which is stored in the OSM nsrs
+ collection in Mongo.
+
+ """
+
+ ns_uuid: str
+
+ @abstractmethod
+ async def run(self, workflow_input: Input) -> None:
+ pass