mod container;
mod exec;
mod image;
mod network;
mod volume;
pub use container::*;
pub use exec::*;
pub use image::*;
pub use network::*;
pub use volume::*;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct EndpointSettings {
#[serde(skip_serializing_if = "Option::is_none")]
pub network_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub endpoint_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gateway: Option<String>,
#[serde(rename = "IPAddress", skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(rename = "IPPrefixLen", skip_serializing_if = "Option::is_none")]
pub ip_prefix_len: Option<i32>,
#[serde(rename = "MacAddress", skip_serializing_if = "Option::is_none")]
pub mac_address: Option<String>,
}
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct ContainerConfig {
pub hostname: String,
pub user: String,
pub env: Vec<String>,
pub cmd: Vec<String>,
pub image: String,
pub working_dir: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub entrypoint: Option<Vec<String>>,
pub labels: HashMap<String, String>,
pub tty: bool,
pub open_stdin: bool,
}
#[derive(Debug, Default, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct PortBinding {
#[serde(rename = "HostIp", skip_serializing_if = "Option::is_none")]
pub host_ip: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub host_port: Option<String>,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct PruneResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub containers_deleted: Option<Vec<String>>,
pub space_reclaimed: u64,
}