from enum import Enum
from typing import Optional
from nisystemlink.clients.core._uplink._json_model import JsonModel
[docs]class StatusType(str, Enum):
"""The types of statuses that a result can have."""
LOOPING = "LOOPING"
SKIPPED = "SKIPPED"
CUSTOM = "CUSTOM"
DONE = "DONE"
PASSED = "PASSED"
FAILED = "FAILED"
RUNNING = "RUNNING"
WAITING = "WAITING"
TERMINATED = "TERMINATED"
ERRORED = "ERRORED"
TIMED_OUT = "TIMED_OUT"
[docs]class Status(JsonModel):
"""Contains information about a status object."""
status_type: StatusType
"""The type of status."""
status_name: Optional[str]
"""The name of the status."""
[docs] @staticmethod
def LOOPING() -> "Status":
return Status(status_type=StatusType.LOOPING)
[docs] @staticmethod
def SKIPPED() -> "Status":
return Status(status_type=StatusType.SKIPPED)
[docs] @staticmethod
def DONE() -> "Status":
return Status(status_type=StatusType.DONE)
[docs] @staticmethod
def PASSED() -> "Status":
return Status(status_type=StatusType.PASSED)
[docs] @staticmethod
def FAILED() -> "Status":
return Status(status_type=StatusType.FAILED)
[docs] @staticmethod
def RUNNING() -> "Status":
return Status(status_type=StatusType.RUNNING)
[docs] @staticmethod
def WAITING() -> "Status":
return Status(status_type=StatusType.WAITING)
[docs] @staticmethod
def TERMINATED() -> "Status":
return Status(status_type=StatusType.TERMINATED)
[docs] @staticmethod
def ERRORED() -> "Status":
return Status(status_type=StatusType.ERRORED)
[docs] @staticmethod
def TIMED_OUT() -> "Status":
return Status(status_type=StatusType.TIMED_OUT)