use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum VolumeType {
Local,
HostPath,
Nfs,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum VolumeSource {
Local {
#[serde(default)]
size_mb: Option<u64>,
},
HostPath {
path: String,
},
Nfs {
server: String,
path: String,
},
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VolumeSpec {
pub name: String,
pub source: VolumeSource,
#[serde(default)]
pub read_only: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct VolumeClaim {
pub volume_name: String,
pub mount_path: String,
#[serde(default)]
pub read_only: bool,
}