From 0a28d984ff2622a719d882168b220d001108db40 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Mon, 10 Jul 2023 09:49:38 -0300 Subject: [PATCH] Base class for get model names activity Change-Id: Ia7eeb2a89eab5c3c4364de7bb6b8f2313d12163f Signed-off-by: Daniel Arndt --- osm_common/temporal/activities/vnf.py | 48 +++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/osm_common/temporal/activities/vnf.py b/osm_common/temporal/activities/vnf.py index 0c5b22e..9aca0e3 100644 --- a/osm_common/temporal/activities/vnf.py +++ b/osm_common/temporal/activities/vnf.py @@ -417,3 +417,51 @@ class SetVnfModel(BaseActivity): async def __call__(self, activity_input: Input) -> None: raise NotImplementedError() + + +class GetModelNames(BaseActivity): + """Gets the models of VNFs associated with the NS. + + Collaborators: + DB read: vnfrs + + Raises (retryable): + DbException: If DB read operations fail + + Activity Lifecycle: + This activity should complete relatively quickly (less than a second). + + This activity will not report a heartbeat due to its + short-running nature. + + This is an idempotent activity. + """ + + @dataclass + class Input: + """ + Attributes: + ----------- + ns_uuid : str + The UUID of the NS from which we are looking for the model names. + """ + + ns_uuid: str + + @dataclass + class Output: + """ + Attributes: + ----------- + model_names: set[str] + The set of model names associated with the NS. + """ + + model_names: set[str] + + def __init__(self, db: DbBase): + super().__init__() + self.db: DbBase = db + + async def __call__(self, activity_input: Input) -> Output: + raise NotImplementedError() -- 2.25.1