use serde::Deserialize;
use serde_json::Value;
use std::collections::BTreeMap;
#[derive(Debug, Clone, Deserialize)]
pub struct DockerVersion {
#[serde(rename = "Version", default)]
pub version: Option<String>,
#[serde(rename = "ApiVersion", default)]
pub api_version: Option<String>,
#[serde(rename = "GitCommit", default)]
pub git_commit: Option<String>,
#[serde(rename = "GoVersion", default)]
pub go_version: Option<String>,
#[serde(rename = "Os", default)]
pub os: Option<String>,
#[serde(rename = "Arch", default)]
pub arch: Option<String>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerInfo {
#[serde(default)]
pub containers: Option<i64>,
#[serde(rename = "ContainersRunning", default)]
pub containers_running: Option<i64>,
#[serde(rename = "ContainersPaused", default)]
pub containers_paused: Option<i64>,
#[serde(rename = "ContainersStopped", default)]
pub containers_stopped: Option<i64>,
#[serde(default)]
pub images: Option<i64>,
#[serde(default)]
pub driver: Option<String>,
#[serde(default)]
pub version: Option<String>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerContainerSummary {
#[serde(rename = "Id", default)]
pub id: Option<String>,
#[serde(rename = "Names", default)]
pub names: Option<Vec<String>>,
#[serde(rename = "Image", default)]
pub image: Option<String>,
#[serde(rename = "ImageID", default)]
pub image_id: Option<String>,
#[serde(rename = "Command", default)]
pub command: Option<String>,
#[serde(rename = "Created", default)]
pub created: Option<i64>,
#[serde(rename = "Ports", default)]
pub ports: Option<Vec<Value>>,
#[serde(rename = "Labels", default)]
pub labels: Option<BTreeMap<String, String>>,
#[serde(rename = "State", default)]
pub state: Option<String>,
#[serde(rename = "Status", default)]
pub status: Option<String>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerImageSummary {
#[serde(rename = "Id", default)]
pub id: Option<String>,
#[serde(rename = "ParentId", default)]
pub parent_id: Option<String>,
#[serde(rename = "RepoTags", default)]
pub repo_tags: Option<Vec<String>>,
#[serde(rename = "Created", default)]
pub created: Option<i64>,
#[serde(rename = "Size", default)]
pub size: Option<i64>,
#[serde(rename = "SharedSize", default)]
pub shared_size: Option<i64>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerVolumeSummary {
#[serde(rename = "Name", default)]
pub name: Option<String>,
#[serde(rename = "Driver", default)]
pub driver: Option<String>,
#[serde(rename = "Mountpoint", default)]
pub mountpoint: Option<String>,
#[serde(rename = "Labels", default)]
pub labels: Option<BTreeMap<String, String>>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerNetworkSummary {
#[serde(rename = "Id", alias = "ID", default)]
pub id: Option<String>,
#[serde(rename = "Name", default)]
pub name: Option<String>,
#[serde(rename = "Driver", default)]
pub driver: Option<String>,
#[serde(rename = "Scope", default)]
pub scope: Option<String>,
#[serde(rename = "Labels", default)]
pub labels: Option<BTreeMap<String, String>>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerSystemDf {
#[serde(flatten)]
pub data: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerCreateContainerResponse {
#[serde(rename = "Id", default)]
pub id: Option<String>,
#[serde(rename = "Warnings", default)]
pub warnings: Option<Vec<String>>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerPullImageReport {
#[serde(default)]
pub status: Option<String>,
#[serde(default)]
pub id: Option<String>,
#[serde(default)]
pub progress: Option<String>,
#[serde(default)]
pub error: Option<String>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone)]
pub struct DockerLogs {
pub output: String,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerComposeServiceSummary {
#[serde(rename = "Name", alias = "name", default)]
pub name: Option<String>,
#[serde(rename = "Service", alias = "service", default)]
pub service: Option<String>,
#[serde(rename = "State", alias = "state", default)]
pub state: Option<String>,
#[serde(rename = "Publishers", alias = "publishers", default)]
pub publishers: Option<Vec<Value>>,
#[serde(flatten)]
pub extra: BTreeMap<String, Value>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct DockerSocketPayload {
#[serde(flatten)]
pub data: BTreeMap<String, Value>,
}