OSMENG-1092 Base Class for Delete NS Record Activity
[osm/common.git] / osm_common / temporal / workflows / vnf.py
index cd540a5..03ba4c8 100644 (file)
@@ -104,3 +104,31 @@ class VnfTerminateWorkflow(BaseWorkflow):
     @abstractmethod
     async def run(self, workflow_input: Input) -> None:
         pass
+
+
+class VnfDeleteWorkflow(BaseWorkflow):
+    """Delete a VNF.
+
+    Workflow Identifier:
+        It is recommended that the ID for the VNF is referred as a workflow
+        ID when invoking this workflow.
+    """
+
+    @dataclass
+    class Input:
+        """
+        Input dataclass for workflow that deletes a VNF.
+
+        Attributes:
+        -----------
+        vnfr_uuid : str
+            The UUID of the VNF which is stored in the OSM vnfrs
+            collection in Mongo.
+
+        """
+
+        vnfr_uuid: str
+
+    @abstractmethod
+    async def run(self, workflow_input: Input) -> None:
+        pass