use serde::{Deserialize};
use crate::Config;
#[derive(Deserialize, Debug)]
pub struct Mounts {
#[serde(rename(deserialize = "Type"))]
mount_type: Option<String>,
#[serde(rename(deserialize = "Name"))]
name: Option<String>,
#[serde(rename(deserialize = "Source"))]
source: String,
#[serde(rename(deserialize = "Destination"))]
destination: String,
#[serde(rename(deserialize = "Driver"))]
driver: Option<String>,
#[serde(rename(deserialize = "Mode"))]
mode: String,
#[serde(rename(deserialize = "RW"))]
rw: bool,
#[serde(rename(deserialize = "Propagation"))]
propagation: String
}
#[derive(Deserialize, Debug)]
pub struct State {
#[serde(rename(deserialize = "Status"))]
status: String,
#[serde(rename(deserialize = "Running"))]
running: bool,
#[serde(rename(deserialize = "Paused"))]
paused: bool,
#[serde(rename(deserialize = "Restarting"))]
restarting: bool,
#[serde(rename(deserialize = "OOMKilled"))]
oom_killed: bool,
#[serde(rename(deserialize = "Dead"))]
dead: bool,
#[serde(rename(deserialize = "Pid"))]
pid: i32,
#[serde(rename(deserialize = "ExitCode"))]
exit_code: i32,
#[serde(rename(deserialize = "Error"))]
error: String,
#[serde(rename(deserialize = "StartedAt"))]
started: String,
#[serde(rename(deserialize = "FinishedAt"))]
finished: String,
}
#[derive(Deserialize, Debug)]
pub struct ContainerInfo {
#[serde(rename(deserialize = "Id"))]
id: String,
#[serde(rename(deserialize = "Created"))]
created: String,
#[serde(rename(deserialize = "Path"))]
path: String,
#[serde(rename(deserialize = "Args"))]
args: Vec<String>,
#[serde(rename(deserialize = "State"))]
state: State,
#[serde(rename(deserialize = "Image"))]
image: String,
#[serde(rename(deserialize = "ResolvConfPath"))]
resolve_conf_path: String,
#[serde(rename(deserialize = "HostnamePath"))]
hostname_path: String,
#[serde(rename(deserialize = "HostsPath"))]
hosts_path: String,
#[serde(rename(deserialize = "LogPath"))]
log_path: String,
#[serde(rename(deserialize = "Name"))]
name: String,
#[serde(rename(deserialize = "RestartCount"))]
restart_count: i32,
#[serde(rename(deserialize = "Driver"))]
driver: String,
#[serde(rename(deserialize = "MountLabel"))]
mount_label: String,
#[serde(rename(deserialize = "ProcessLabel"))]
process_label: String,
#[serde(rename(deserialize = "AppArmorProfile"))]
app_armor_profile: String,
#[serde(rename(deserialize = "SizeRW"))]
size_rw: Option<i64>,
#[serde(rename(deserialize = "SizeRootFs"))]
size_root_fs: Option<i64>,
#[serde(rename(deserialize = "Config"))]
config: Config,
}