podman_client/models/podman/images/
change_report.rs

1use core::fmt;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Default)]
6pub struct ImageChangeReportOptions<'a> {
7    pub name: &'a str,
8    pub diff_type: Option<ImageChangeReportDiffTypeOptions>,
9    pub parent: Option<&'a str>,
10}
11
12pub enum ImageChangeReportDiffTypeOptions {
13    All,
14    Container,
15    Image,
16}
17
18impl ImageChangeReportDiffTypeOptions {
19    pub fn as_str(&self) -> &'static str {
20        match self {
21            Self::All => "all",
22            Self::Container => "container",
23            Self::Image => "image",
24        }
25    }
26}
27
28pub type ImageChangeReport = Vec<ImageChangeReportItem>;
29
30#[derive(Deserialize, Serialize)]
31#[serde(rename_all = "PascalCase")]
32pub struct ImageChangeReportItem {
33    pub path: String,
34    pub kind: u8,
35}
36
37impl fmt::Debug for ImageChangeReportItem {
38    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
39        let json = serde_json::to_string_pretty(self).map_err(|_| fmt::Error)?;
40        f.write_str(&json)
41    }
42}