podman_autogen_api/apis/
system_api.rs1use std::borrow::Borrow;
12#[allow(unused_imports)]
13use std::option::Option;
14use std::pin::Pin;
15use std::sync::Arc;
16
17use futures::Future;
18use hyper;
19use hyper_util::client::legacy::connect::Connect;
20
21use super::request as __internal_request;
22use super::{configuration, Error};
23use crate::models;
24
25pub struct SystemApiClient<C: Connect>
26where
27 C: Clone + std::marker::Send + Sync + 'static,
28{
29 configuration: Arc<configuration::Configuration<C>>,
30}
31
32impl<C: Connect> SystemApiClient<C>
33where
34 C: Clone + std::marker::Send + Sync,
35{
36 pub fn new(configuration: Arc<configuration::Configuration<C>>) -> SystemApiClient<C> {
37 SystemApiClient { configuration }
38 }
39}
40
41pub trait SystemApi: Send + Sync {
42 fn system_data_usage_libpod(
43 &self,
44 ) -> Pin<Box<dyn Future<Output = Result<models::SystemDfReport, Error>> + Send>>;
45 fn system_events_libpod(
46 &self,
47 since: Option<&str>,
48 until: Option<&str>,
49 filters: Option<&str>,
50 stream: Option<bool>,
51 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>;
52 fn system_info_libpod(
53 &self,
54 ) -> Pin<Box<dyn Future<Output = Result<models::LibpodInfo, Error>> + Send>>;
55 fn system_ping(&self) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send>>;
56 fn system_prune_libpod(
57 &self,
58 ) -> Pin<Box<dyn Future<Output = Result<models::SystemPruneReport, Error>> + Send>>;
59 fn system_version_libpod(
60 &self,
61 ) -> Pin<Box<dyn Future<Output = Result<models::SystemComponentVersion, Error>> + Send>>;
62}
63
64impl<C: Connect> SystemApi for SystemApiClient<C>
65where
66 C: Clone + std::marker::Send + Sync,
67{
68 #[allow(unused_mut)]
69 fn system_data_usage_libpod(
70 &self,
71 ) -> Pin<Box<dyn Future<Output = Result<models::SystemDfReport, Error>> + Send>> {
72 let mut req =
73 __internal_request::Request::new(hyper::Method::GET, "/libpod/system/df".to_string());
74
75 req.execute(self.configuration.borrow())
76 }
77
78 #[allow(unused_mut)]
79 fn system_events_libpod(
80 &self,
81 since: Option<&str>,
82 until: Option<&str>,
83 filters: Option<&str>,
84 stream: Option<bool>,
85 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>> {
86 let mut req =
87 __internal_request::Request::new(hyper::Method::GET, "/libpod/events".to_string());
88 if let Some(ref s) = since {
89 let query_value = s.to_string();
90 req = req.with_query_param("since".to_string(), query_value);
91 }
92 if let Some(ref s) = until {
93 let query_value = s.to_string();
94 req = req.with_query_param("until".to_string(), query_value);
95 }
96 if let Some(ref s) = filters {
97 let query_value = s.to_string();
98 req = req.with_query_param("filters".to_string(), query_value);
99 }
100 if let Some(ref s) = stream {
101 let query_value = s.to_string();
102 req = req.with_query_param("stream".to_string(), query_value);
103 }
104 req = req.returns_nothing();
105
106 req.execute(self.configuration.borrow())
107 }
108
109 #[allow(unused_mut)]
110 fn system_info_libpod(
111 &self,
112 ) -> Pin<Box<dyn Future<Output = Result<models::LibpodInfo, Error>> + Send>> {
113 let mut req =
114 __internal_request::Request::new(hyper::Method::GET, "/libpod/info".to_string());
115
116 req.execute(self.configuration.borrow())
117 }
118
119 #[allow(unused_mut)]
120 fn system_ping(&self) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send>> {
121 let mut req =
122 __internal_request::Request::new(hyper::Method::GET, "/libpod/_ping".to_string());
123
124 req.execute(self.configuration.borrow())
125 }
126
127 #[allow(unused_mut)]
128 fn system_prune_libpod(
129 &self,
130 ) -> Pin<Box<dyn Future<Output = Result<models::SystemPruneReport, Error>> + Send>> {
131 let mut req = __internal_request::Request::new(
132 hyper::Method::POST,
133 "/libpod/system/prune".to_string(),
134 );
135
136 req.execute(self.configuration.borrow())
137 }
138
139 #[allow(unused_mut)]
140 fn system_version_libpod(
141 &self,
142 ) -> Pin<Box<dyn Future<Output = Result<models::SystemComponentVersion, Error>> + Send>> {
143 let mut req =
144 __internal_request::Request::new(hyper::Method::GET, "/libpod/version".to_string());
145
146 req.execute(self.configuration.borrow())
147 }
148}