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()