1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
use try_from::TryFrom; #[repr(u8)] #[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr( feature = "serde", serde(rename_all = "snake_case", deny_unknown_fields) )] pub enum JobStoppedReason { Finished = 0, StoppedByUser = 1, ExitCriterionMatched = 2, Failed = 3, } impl TryFrom<u8> for JobStoppedReason { type Err = std::io::Error; fn try_from(value: u8) -> std::io::Result<Self> { match value { 0 => Ok(JobStoppedReason::Finished), 1 => Ok(JobStoppedReason::StoppedByUser), 2 => Ok(JobStoppedReason::ExitCriterionMatched), 3 => Ok(JobStoppedReason::Failed), _ => Err(std::io::Error::new( std::io::ErrorKind::InvalidData, format!("Invalid JobStoppedReason enum value {}", value), )), } } }