podman_client/models/podman/system/
prune.rs1use core::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize)]
6#[serde(rename_all = "PascalCase")]
7pub struct Prune {
8 pub pod_prune_report: Option<Vec<PruneReport>>,
9 pub container_prune_reports: Option<Vec<PruneReport>>,
10 pub image_prune_reports: Option<Vec<PruneReport>>,
11 pub network_prune_reports: Option<Vec<PruneReport>>,
12 pub volume_prune_reports: Option<Vec<PruneReport>>,
13 pub reclaimed_space: u64,
14}
15
16impl fmt::Debug for Prune {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 let json = serde_json::to_string_pretty(self).map_err(|_| fmt::Error)?;
19 f.write_str(&json)
20 }
21}
22
23#[derive(Deserialize, Serialize)]
24#[serde(untagged)]
25pub enum PruneReport {
26 Pod(PruneReportPod),
27 Network(PruneReportNetwork),
28 Else(PruneReportElse),
29}
30
31#[derive(Deserialize, Serialize)]
32#[serde(rename_all = "PascalCase")]
33pub struct PruneReportPod {
34 pub err: String,
35 pub id: String,
36}
37
38#[derive(Deserialize, Serialize)]
39#[serde(rename_all = "PascalCase")]
40pub struct PruneReportNetwork {
41 pub error: String,
42 pub name: String,
43}
44
45#[derive(Deserialize, Serialize)]
46#[serde(rename_all = "PascalCase")]
47pub struct PruneReportElse {
48 pub err: String,
49 pub id: String,
50 pub size: u64,
51}