from dataclasses import dataclass
from enum import auto, IntEnum
+from typing import List
#######################################################################################
nslcmop: dict
-@dataclass
-class NsInstantiateInput:
- """
- Input dataclass for workflow that instantiate NS.
-
- Attributes:
- -----------
- ns_uuid : str
- The UUID of the NS as stored in the OSM nsr
- collection in Mongo
-
- op_id: str
- The operation (task) id for this workflow. This is used
- by the workflow at the end to update the status of the
- operation in Mongo vim collection.
- """
-
- ns_uuid: str
- op_id: str
-
-
@dataclass
class CharmInfo:
"""
The UUID of the VNF which is stored in the OSM vnfrs
collection in Mongo.
- """
-
- vnfr_uuid: str
-
-
-@dataclass
-class PrepareVnfInput:
- """
- Input dataclass for workflow that prepares a VNF.
-
- Attributes:
- -----------
- vnfr_uuid : str
- The UUID of the VNF which is stored in the OSM vnfrs
- collection in Mongo.
+ model_name: str
"""
vnfr_uuid: str
+ model_name: str
#######################################################################################
model_name: str
+@dataclass
+class CheckCharmStatusInput:
+ """
+ Input dataclass for checking on a specific charm's deployment
+ status
+
+ Attributes:
+ -----------
+ vim_uuid : str
+ The UUID of the VIM as stored in the OSM vim_accounts
+ collection in Mongo.
+
+ model_name : str
+ Name of the model to create in Juju.
+
+ application_name : str
+ Name of the application that the state is going to be
+ awaited.
+
+ poll_interval : int (optional)
+ Time, in seconds, to wait between status checks.
+ """
+
+ vim_uuid: str
+ model_name: str
+ application_name: str
+ poll_interval: int = 1
+
+
@dataclass
class ChangeVnfStateInput:
"""
vnfr: dict
vnfd: dict
+
+
+@dataclass
+class GetVnfRecordIdsInput:
+ """
+ Attributes:
+ -----------
+ ns_uuid : str
+ The UUID of the NS from which to retrieve the VNF records.
+ """
+
+ ns_uuid: str
+
+
+@dataclass
+class GetVnfRecordIdsOutput:
+ """
+ Attributes:
+ -----------
+ vnfr_ids : list[str]
+ List of the VNF record IDs associated with the NS.
+ """
+
+ vnfr_ids: List[str]