use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct Root {
pub path: String,
#[serde(default)]
pub readonly: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Mount {
pub destination: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub mount_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub options: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub uid_mappings: Vec<IdMapping>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub gid_mappings: Vec<IdMapping>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IdMapping {
pub container_id: u32,
pub host_id: u32,
pub size: u32,
}