vmm/vmm_config/
instance_info.rs1use std::fmt::{self, Display, Formatter};
4
5use serde::{Serialize, ser};
6
7#[derive(Clone, Debug, Default, PartialEq, Eq)]
9pub enum VmState {
10 #[default]
12 NotStarted,
13 Paused,
15 Running,
17}
18
19impl Display for VmState {
20 fn fmt(&self, f: &mut Formatter) -> fmt::Result {
21 match *self {
22 VmState::NotStarted => write!(f, "Not started"),
23 VmState::Paused => write!(f, "Paused"),
24 VmState::Running => write!(f, "Running"),
25 }
26 }
27}
28
29impl ser::Serialize for VmState {
30 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
31 where
32 S: ser::Serializer,
33 {
34 self.to_string().serialize(serializer)
35 }
36}
37
38#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize)]
40pub struct InstanceInfo {
41 pub id: String,
43 pub state: VmState,
45 pub vmm_version: String,
47 pub app_name: String,
49}