1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize, Clone)]
4pub struct DetailedContainerInfo {
5 #[serde(alias = "Id")]
6 pub id: String,
7 #[serde(alias = "State")]
8 pub state: ContainerState,
9}
10
11#[derive(Debug, Deserialize, Serialize, Clone)]
12pub struct ContainerState {
13 #[serde(alias = "Running")]
14 pub running: bool,
15 #[serde(alias = "Healthcheck", alias = "Health")]
17 pub health: Option<HealthCheck>,
18}
19
20#[derive(Debug, Deserialize, Serialize, Clone)]
21pub struct HealthCheck {
22 #[serde(alias = "Status")]
23 pub status: ContainerStatus,
24}
25
26#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)]
38pub enum ContainerStatus {
39 #[serde(alias = "")]
40 None,
41 #[serde(alias = "starting")]
42 Starting,
43 #[serde(alias = "exited")]
44 Exited,
45 #[serde(alias = "healthy")]
46 Healthy,
47 #[serde(alias = "unhealthy")]
48 Unhealthy,
49}