podman_client/models/podman/system/
disk_usage.rs

1use 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}