podman_client/containers/
change_report.rs1use http_body_util::Empty;
2use hyper::body::Bytes;
3use url::form_urlencoded;
4
5use crate::{
6 client::Client,
7 models::{
8 connection::SendRequestOptions,
9 lib::Error,
10 podman::containers::change_report::{ContainerChangeReport, ContainerChangeReportOptions},
11 },
12};
13
14impl Client {
15 pub async fn container_change_report(
16 &self,
17 options: ContainerChangeReportOptions<'_>,
18 ) -> Result<ContainerChangeReport, Error> {
19 let mut path = ["/libpod/containers/", options.name, "/changes"].concat();
20
21 let mut query = form_urlencoded::Serializer::new(String::new());
22 if let Some(diff_type) = options.diff_type {
23 query.append_pair("diffType", diff_type.as_str());
24 }
25 if let Some(parent) = options.parent {
26 query.append_pair("parent", parent);
27 }
28 let query_string = query.finish();
29 if !query_string.is_empty() {
30 path += &["?", &query_string].concat();
31 }
32
33 let (_, data) = self
34 .send_request::<_, (), _>(SendRequestOptions {
35 method: "GET",
36 path: &path,
37 header: None,
38 body: Empty::<Bytes>::new(),
39 })
40 .await?;
41
42 Ok(data)
43 }
44}