use std::fmt;
use serde::Serialize;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum VmStatus {
Created,
Running,
Stopped,
Destroyed,
}
impl fmt::Display for VmStatus {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::Created => f.write_str("created"),
Self::Running => f.write_str("running"),
Self::Stopped => f.write_str("stopped"),
Self::Destroyed => f.write_str("destroyed"),
}
}
}
#[derive(Debug, Clone, Serialize)]
pub struct VmView {
pub vm_id: String,
pub status: VmStatus,
pub snapshots: Vec<String>,
}