podman_rest_client/v5/apis/
system.rs1use crate::api_common::config::HasConfig;
2use crate::api_common::request;
3use crate::api_common::Error;
4use http::request::Builder;
5use std::future::Future;
6use std::pin::Pin;
7pub trait System: HasConfig + Send + Sync {
8 fn system_events_libpod<'a>(
14 &'a self,
15 params: Option<crate::v5::params::SystemEventsLibpod<'a>>,
16 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'a>> {
17 Box::pin(request::execute_request_unit(
18 self.get_config(),
19 move |mut req_builder: Builder| {
20 req_builder = req_builder.method("GET");
21 let mut request_url = url::Url::parse(self.get_config().get_base_path())?;
22 let mut request_path = request_url.path().to_owned();
23 if request_path.ends_with('/') {
24 request_path.pop();
25 }
26 request_path.push_str("/libpod/events");
27 request_url.set_path(&request_path);
28 if let Some(params) = ¶ms {
29 let mut query_pairs = request_url.query_pairs_mut();
30 if let Some(since) = params.since {
31 query_pairs.append_pair("since", since);
32 }
33 if let Some(until) = params.until {
34 query_pairs.append_pair("until", until);
35 }
36 if let Some(filters) = params.filters {
37 query_pairs.append_pair("filters", filters);
38 }
39 if let Some(stream) = params.stream {
40 query_pairs.append_pair("stream", &stream.to_string());
41 }
42 }
43 let hyper_uri: hyper::Uri = request_url.as_str().parse()?;
44 req_builder = req_builder.uri(hyper_uri);
45 Ok(req_builder.body(String::new())?)
46 },
47 ))
48 }
49 fn system_info_libpod<'a>(
55 &'a self,
56 ) -> Pin<Box<dyn Future<Output = Result<crate::v5::models::LibpodInfo, Error>> + Send + 'a>>
57 {
58 Box::pin(request::execute_request_json(
59 self.get_config(),
60 move |mut req_builder: Builder| {
61 req_builder = req_builder.method("GET");
62 let mut request_url = url::Url::parse(self.get_config().get_base_path())?;
63 let mut request_path = request_url.path().to_owned();
64 if request_path.ends_with('/') {
65 request_path.pop();
66 }
67 request_path.push_str("/libpod/info");
68 request_url.set_path(&request_path);
69 let hyper_uri: hyper::Uri = request_url.as_str().parse()?;
70 req_builder = req_builder.uri(hyper_uri);
71 Ok(req_builder.body(String::new())?)
72 },
73 ))
74 }
75 fn system_data_usage_libpod<'a>(
81 &'a self,
82 ) -> Pin<Box<dyn Future<Output = Result<crate::v5::models::SystemDfReport, Error>> + Send + 'a>>
83 {
84 Box::pin(request::execute_request_json(
85 self.get_config(),
86 move |mut req_builder: Builder| {
87 req_builder = req_builder.method("GET");
88 let mut request_url = url::Url::parse(self.get_config().get_base_path())?;
89 let mut request_path = request_url.path().to_owned();
90 if request_path.ends_with('/') {
91 request_path.pop();
92 }
93 request_path.push_str("/libpod/system/df");
94 request_url.set_path(&request_path);
95 let hyper_uri: hyper::Uri = request_url.as_str().parse()?;
96 req_builder = req_builder.uri(hyper_uri);
97 Ok(req_builder.body(String::new())?)
98 },
99 ))
100 }
101 fn system_prune_libpod<'a>(
105 &'a self,
106 ) -> Pin<
107 Box<dyn Future<Output = Result<crate::v5::models::SystemPruneReport, Error>> + Send + 'a>,
108 > {
109 Box::pin(request::execute_request_json(
110 self.get_config(),
111 move |mut req_builder: Builder| {
112 req_builder = req_builder.method("POST");
113 let mut request_url = url::Url::parse(self.get_config().get_base_path())?;
114 let mut request_path = request_url.path().to_owned();
115 if request_path.ends_with('/') {
116 request_path.pop();
117 }
118 request_path.push_str("/libpod/system/prune");
119 request_url.set_path(&request_path);
120 let hyper_uri: hyper::Uri = request_url.as_str().parse()?;
121 req_builder = req_builder.uri(hyper_uri);
122 Ok(req_builder.body(String::new())?)
123 },
124 ))
125 }
126 fn system_version_libpod<'a>(
130 &'a self,
131 ) -> Pin<
132 Box<
133 dyn Future<Output = Result<crate::v5::models::SystemComponentVersion, Error>>
134 + Send
135 + 'a,
136 >,
137 > {
138 Box::pin(request::execute_request_json(
139 self.get_config(),
140 move |mut req_builder: Builder| {
141 req_builder = req_builder.method("GET");
142 let mut request_url = url::Url::parse(self.get_config().get_base_path())?;
143 let mut request_path = request_url.path().to_owned();
144 if request_path.ends_with('/') {
145 request_path.pop();
146 }
147 request_path.push_str("/libpod/version");
148 request_url.set_path(&request_path);
149 let hyper_uri: hyper::Uri = request_url.as_str().parse()?;
150 req_builder = req_builder.uri(hyper_uri);
151 Ok(req_builder.body(String::new())?)
152 },
153 ))
154 }
155}