+ """
+ Input dataclass for the Test Vim Connectivity Ativity
+
+ Attributes:
+ -----------
+ vim_uuid : str
+ The UUID of the VIM account as stored in the OSM vim
+ collection in Mongo
+ """
+
+ vim_uuid: str
+
+
+class VimState(IntEnum):
+ PROCESSING = auto()
+ ENABLED = auto()
+ ERROR = auto()
+
+
+@dataclass
+class UpdateVimStateInput:
+ """
+ Input dataclass for updating VIM state in the DB
+
+ Attributes:
+ -----------
+ vim_uuid : str
+ The UUID of the VIM account as stored in the OSM vim
+ collection in Mongo
+
+ operational_state : VimState
+ A representation of the operational state (ENABLED or ERROR)
+ of the VIM.
+
+ message : str
+ Human readable message providing additional details to the
+ operational state, such as the error message associated
+ with the ERROR operational_state.
+ """
+
+ vim_uuid: str
+ operational_state: VimState
+ message: str
+
+
+class VimOperationState(IntEnum):
+ COMPLETED = auto()
+ FAILED = auto()
+
+
+@dataclass
+class UpdateVimOperationStateInput:
+ """
+ Input dataclass for updating VIM Operations in the Mongo VIM
+ collection.
+
+ Attributes:
+ -----------
+ vim_uuid : str
+ The UUID of the VIM account as stored in the OSM vim
+ collection in Mongo
+
+ op_id: str
+ The operation (task) id for this workflow. This is used
+ to update the status of the operation in Mongo vim collection.
+
+ op_state : VimOperationState
+ A representation of the state of the specified operation id,
+ such as COMPLETED, or FAILED.
+
+ message : str
+ Human readable message providing additional details to the
+ operation state, such as the error message explaining why
+ the operation failed.
+ """