Adding VNF workflow constants and data_classes
Change-Id: Ia32d3c996dafe238bb2cd6d825f28213bc0a2ef1
Signed-off-by: Gulsum Atici <gulsum.atici@canonical.com>
diff --git a/osm_common/dataclasses/temporal_dataclasses.py b/osm_common/dataclasses/temporal_dataclasses.py
index 9bd6378..953c95f 100644
--- a/osm_common/dataclasses/temporal_dataclasses.py
+++ b/osm_common/dataclasses/temporal_dataclasses.py
@@ -18,6 +18,48 @@
from dataclasses import dataclass
from enum import auto, IntEnum
+
+#######################################################################################
+# Defining States
+class VimState(IntEnum):
+ PROCESSING = auto()
+ ENABLED = auto()
+ ERROR = auto()
+
+
+class VimOperationState(IntEnum):
+ COMPLETED = auto()
+ FAILED = auto()
+
+
+class NsState(IntEnum):
+ PROCESSING = auto()
+ INSTANTIATED = auto()
+ ERROR = auto()
+
+
+class VnfLcmOperationState(IntEnum):
+ PROCESSING = auto()
+ COMPLETED = auto()
+ FAILED = auto()
+
+
+class VnfInstantiationState(IntEnum):
+ NOT_INSTANTIATED = auto()
+ INSTANTIATED = auto()
+
+
+class VnfState(IntEnum):
+ STOPPED = auto()
+ STARTED = auto()
+
+
+class LcmOperationState(IntEnum):
+ PROCESSING = auto()
+ COMPLETED = auto()
+ FAILED = auto()
+
+
#######################################################################################
# Workflow Dataclasses
@@ -118,16 +160,42 @@
charm_info: CharmInfo
+@dataclass
+class VnfInstantiateInput:
+ """
+ Input dataclass for workflow that instantiates a VNF.
+
+ Attributes:
+ -----------
+ vnfr_uuid : str
+ 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 instantiates a VNF.
+
+ Attributes:
+ -----------
+ vnfr_uuid : str
+ The UUID of the VNF which is stored in the OSM vnfrs
+ collection in Mongo.
+
+ """
+
+ vnfr_uuid: str
+
+
#######################################################################################
# Activity Dataclasses
-class LcmOperationState(IntEnum):
- PROCESSING = auto()
- COMPLETED = auto()
- FAILED = auto()
-
-
@dataclass
class UpdateLcmOperationStateInput:
"""
@@ -181,12 +249,6 @@
vim_uuid: str
-class VimState(IntEnum):
- PROCESSING = auto()
- ENABLED = auto()
- ERROR = auto()
-
-
@dataclass
class UpdateVimStateInput:
"""
@@ -213,11 +275,6 @@
message: str
-class VimOperationState(IntEnum):
- COMPLETED = auto()
- FAILED = auto()
-
-
@dataclass
class UpdateVimOperationStateInput:
"""
@@ -281,12 +338,6 @@
ns_uuid: str
-class NsState(IntEnum):
- PROCESSING = auto()
- INSTANTIATED = auto()
- ERROR = auto()
-
-
@dataclass
class UpdateNsStateInput:
"""
@@ -330,3 +381,72 @@
vim_uuid: str
model_name: str
+
+
+@dataclass
+class ChangeNFStateInput:
+ """
+ Input dataclass for creating a Juju Model.
+
+ Attributes:
+ -----------
+ vnfr_uuid : str
+ The UUID of the VNF which is stored in the OSM vnfrs
+ collection in Mongo.
+
+ nf_state : VnfState
+ A representation of the VNF state (STOPPED or STARTED).
+ """
+
+ vnfr_uuid: str
+ state: VnfState
+
+
+@dataclass
+class ChangeNFInstantiationStateInput:
+ """
+ Input dataclass for creating a Juju Model.
+
+ Attributes:
+ -----------
+ vnfr_uuid : str
+ The UUID of the VNF which is stored in the OSM vnfrs
+ collection in Mongo.
+
+ nf_instantiation_state : VnfInstantiationState
+ A representation of the VNF instantiation state (NOT_INSTANTIATED or INSTANTIATED).
+
+ """
+
+ vnfr_uuid: str
+ state: VnfInstantiationState
+
+
+@dataclass
+class GetTaskQueueInput:
+ """
+ Input dataclass for creating a Juju Model.
+
+ Attributes:
+ -----------
+ vnfr_uuid : str
+ The UUID of the VNF which is stored in the OSM vnfrs
+ collection in Mongo.
+
+ """
+
+ vnfr_uuid: str
+
+
+@dataclass
+class GetTaskQueueOutput:
+ """
+ Output dataclass for get task queue activity.
+
+ Attributes:
+ -----------
+ task_queue : str
+ Name of the queue which is used to Deploy VNF.
+ """
+
+ task_queue: str