podman_client/models/podman/images/
change_report.rs1use 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}