use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum BatchJobStatus {
#[serde(rename = "QUEUED")]
Queued,
#[serde(rename = "RUNNING")]
Running,
#[serde(rename = "SUCCESS")]
Success,
#[serde(rename = "FAILED")]
Failed,
#[serde(rename = "TIMEOUT_EXCEEDED")]
TimeoutExceeded,
#[serde(rename = "CANCELLATION_REQUESTED")]
CancellationRequested,
#[serde(rename = "CANCELLED")]
Cancelled,
}
impl std::fmt::Display for BatchJobStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Queued => write!(f, "QUEUED"),
Self::Running => write!(f, "RUNNING"),
Self::Success => write!(f, "SUCCESS"),
Self::Failed => write!(f, "FAILED"),
Self::TimeoutExceeded => write!(f, "TIMEOUT_EXCEEDED"),
Self::CancellationRequested => write!(f, "CANCELLATION_REQUESTED"),
Self::Cancelled => write!(f, "CANCELLED"),
}
}
}
impl Default for BatchJobStatus {
fn default() -> BatchJobStatus {
Self::Queued
}
}