use std::path::PathBuf;
use serde::Serialize;
pub struct Storage;
#[derive(Clone, Debug, Default, Serialize)]
pub struct StorageUsage {
pub images: StorageCategoryUsage,
pub snapshots: StorageCategoryUsage,
pub sandboxes: StorageCategoryUsage,
pub volumes: StorageCategoryUsage,
pub branch_memory: StorageCategoryUsage,
pub snapshot_memory: StorageCategoryUsage,
pub notes: Vec<String>,
}
#[derive(Clone, Debug, Default, Serialize)]
pub struct StorageCategoryUsage {
pub count: Option<u64>,
pub in_use: Option<u64>,
pub logical_bytes: Option<u64>,
pub allocated_bytes: Option<u64>,
pub reclaimable_logical_bytes: Option<u64>,
pub items: Vec<StorageItemUsage>,
pub notes: Vec<String>,
}
#[derive(Clone, Debug, Default, Serialize)]
pub struct StorageItemUsage {
pub name: String,
pub path: PathBuf,
pub logical_bytes: Option<u64>,
pub allocated_bytes: Option<u64>,
pub in_use: Option<bool>,
pub reclaimable: Option<bool>,
pub reasons: Vec<String>,
}