X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_common%2Ftemporal%2Factivities%2Fvnf.py;h=2666f2b119e78619bea76b26dcbd45a0893fdef2;hb=e56853bb52d463573442303231094c1d109027f5;hp=9aca0e304bc34a704f395894aab1aa832570c34c;hpb=0a28d984ff2622a719d882168b220d001108db40;p=osm%2Fcommon.git diff --git a/osm_common/temporal/activities/vnf.py b/osm_common/temporal/activities/vnf.py index 9aca0e3..2666f2b 100644 --- a/osm_common/temporal/activities/vnf.py +++ b/osm_common/temporal/activities/vnf.py @@ -465,3 +465,46 @@ class GetModelNames(BaseActivity): async def __call__(self, activity_input: Input) -> Output: raise NotImplementedError() + + +class DeleteVnfRecord(BaseActivity): + """Delete a VNF record from DB. + + Collaborators: + DB Write: vnfrs + + Raises (retryable): + DbException: If DB access fails, the collection does not exist. + + Activity Lifecycle: + This activity should complete relatively quickly (less than a + second). However, it would be reasonable to wait up to 10 + seconds. + + This activity will not report a heartbeat due to its + short-running nature. + + This operation is idempotent. + + """ + + @dataclass + class Input: + """ + Input dataclass for activity that deletes a VNF record. + + Attributes: + ----------- + vnfr_uuid : str + The UUID of the VNF to be deleted from the vnfrs + collection in Mongo. + """ + + vnfr_uuid: str + + def __init__(self, db: DbBase): + super().__init__() + self.db: DbBase = db + + async def __call__(self, activity_input: Input) -> None: + raise NotImplementedError()