podman_client/models/podman/system/
disk_usage.rs1use core::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Deserialize, Serialize)]
6#[serde(rename_all = "PascalCase")]
7pub struct SystemDiskUsage {
8 pub images_size: u64,
9 pub images: Vec<SystemDiskUsageImage>,
10 pub containers: Vec<SystemDiskUsageContainer>,
11 pub volumes: Vec<SystemDiskUsageVolume>,
12}
13
14impl fmt::Debug for SystemDiskUsage {
15 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
16 let json = serde_json::to_string_pretty(self).map_err(|_| fmt::Error)?;
17 f.write_str(&json)
18 }
19}
20
21#[derive(Deserialize, Serialize)]
22pub struct SystemDiskUsageImage {
23 #[serde(rename = "Repository")]
24 pub repository: String,
25
26 #[serde(rename = "Tag")]
27 pub tag: String,
28
29 #[serde(rename = "ImageID")]
30 pub image_id: String,
31
32 #[serde(rename = "Created")]
33 pub created: String,
34
35 #[serde(rename = "Size")]
36 pub size: u64,
37
38 #[serde(rename = "SharedSize")]
39 pub shared_size: u64,
40
41 #[serde(rename = "UniqueSize")]
42 pub unique_size: u64,
43
44 #[serde(rename = "Containers")]
45 pub containers: u64,
46}
47
48#[derive(Deserialize, Serialize)]
49pub struct SystemDiskUsageContainer {
50 #[serde(rename = "ContainerID")]
51 pub container_id: String,
52
53 #[serde(rename = "Image")]
54 pub image: String,
55
56 #[serde(rename = "Command")]
57 pub command: Vec<String>,
58
59 #[serde(rename = "LocalVolumes")]
60 pub local_volumes: u64,
61
62 #[serde(rename = "Size")]
63 pub size: u64,
64
65 #[serde(rename = "RWSize")]
66 pub rw_size: u64,
67
68 #[serde(rename = "Created")]
69 pub created: String,
70
71 #[serde(rename = "Status")]
72 pub status: String,
73
74 #[serde(rename = "Names")]
75 pub names: String,
76}
77
78#[derive(Deserialize, Serialize)]
79#[serde(rename_all = "PascalCase")]
80pub struct SystemDiskUsageVolume {
81 pub links: u64,
82 pub reclaimable_size: u64,
83 pub size: u64,
84 pub volume_name: String,
85}