podman_autogen_api/apis/
volumes_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 VolumesApiClient<C: Connect>
26where
27 C: Clone + std::marker::Send + Sync + 'static,
28{
29 configuration: Arc<configuration::Configuration<C>>,
30}
31
32impl<C: Connect> VolumesApiClient<C>
33where
34 C: Clone + std::marker::Send + Sync,
35{
36 pub fn new(configuration: Arc<configuration::Configuration<C>>) -> VolumesApiClient<C> {
37 VolumesApiClient { configuration }
38 }
39}
40
41pub trait VolumesApi: Send + Sync {
42 fn volume_create_libpod(
43 &self,
44 create: Option<models::VolumeCreateOptions>,
45 ) -> Pin<Box<dyn Future<Output = Result<models::VolumeConfigResponse, Error>> + Send>>;
46 fn volume_delete_libpod(
47 &self,
48 name: &str,
49 force: Option<bool>,
50 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>;
51 fn volume_exists_libpod(
52 &self,
53 name: &str,
54 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>;
55 fn volume_inspect_libpod(
56 &self,
57 name: &str,
58 ) -> Pin<Box<dyn Future<Output = Result<models::VolumeConfigResponse, Error>> + Send>>;
59 fn volume_list_libpod(
60 &self,
61 filters: Option<&str>,
62 ) -> Pin<Box<dyn Future<Output = Result<Vec<models::VolumeConfigResponse>, Error>> + Send>>;
63 fn volume_prune_libpod(
64 &self,
65 filters: Option<&str>,
66 ) -> Pin<Box<dyn Future<Output = Result<Vec<models::PruneReport>, Error>> + Send>>;
67}
68
69impl<C: Connect> VolumesApi for VolumesApiClient<C>
70where
71 C: Clone + std::marker::Send + Sync,
72{
73 #[allow(unused_mut)]
74 fn volume_create_libpod(
75 &self,
76 create: Option<models::VolumeCreateOptions>,
77 ) -> Pin<Box<dyn Future<Output = Result<models::VolumeConfigResponse, Error>> + Send>> {
78 let mut req = __internal_request::Request::new(
79 hyper::Method::POST,
80 "/libpod/volumes/create".to_string(),
81 );
82 req = req.with_body_param(create);
83
84 req.execute(self.configuration.borrow())
85 }
86
87 #[allow(unused_mut)]
88 fn volume_delete_libpod(
89 &self,
90 name: &str,
91 force: Option<bool>,
92 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>> {
93 let mut req = __internal_request::Request::new(
94 hyper::Method::DELETE,
95 "/libpod/volumes/{name}".to_string(),
96 );
97 if let Some(ref s) = force {
98 let query_value = s.to_string();
99 req = req.with_query_param("force".to_string(), query_value);
100 }
101 req = req.with_path_param("name".to_string(), name.to_string());
102 req = req.returns_nothing();
103
104 req.execute(self.configuration.borrow())
105 }
106
107 #[allow(unused_mut)]
108 fn volume_exists_libpod(
109 &self,
110 name: &str,
111 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>> {
112 let mut req = __internal_request::Request::new(
113 hyper::Method::GET,
114 "/libpod/volumes/{name}/exists".to_string(),
115 );
116 req = req.with_path_param("name".to_string(), name.to_string());
117 req = req.returns_nothing();
118
119 req.execute(self.configuration.borrow())
120 }
121
122 #[allow(unused_mut)]
123 fn volume_inspect_libpod(
124 &self,
125 name: &str,
126 ) -> Pin<Box<dyn Future<Output = Result<models::VolumeConfigResponse, Error>> + Send>> {
127 let mut req = __internal_request::Request::new(
128 hyper::Method::GET,
129 "/libpod/volumes/{name}/json".to_string(),
130 );
131 req = req.with_path_param("name".to_string(), name.to_string());
132
133 req.execute(self.configuration.borrow())
134 }
135
136 #[allow(unused_mut)]
137 fn volume_list_libpod(
138 &self,
139 filters: Option<&str>,
140 ) -> Pin<Box<dyn Future<Output = Result<Vec<models::VolumeConfigResponse>, Error>> + Send>>
141 {
142 let mut req = __internal_request::Request::new(
143 hyper::Method::GET,
144 "/libpod/volumes/json".to_string(),
145 );
146 if let Some(ref s) = filters {
147 let query_value = s.to_string();
148 req = req.with_query_param("filters".to_string(), query_value);
149 }
150
151 req.execute(self.configuration.borrow())
152 }
153
154 #[allow(unused_mut)]
155 fn volume_prune_libpod(
156 &self,
157 filters: Option<&str>,
158 ) -> Pin<Box<dyn Future<Output = Result<Vec<models::PruneReport>, Error>> + Send>> {
159 let mut req = __internal_request::Request::new(
160 hyper::Method::POST,
161 "/libpod/volumes/prune".to_string(),
162 );
163 if let Some(ref s) = filters {
164 let query_value = s.to_string();
165 req = req.with_query_param("filters".to_string(), query_value);
166 }
167
168 req.execute(self.configuration.borrow())
169 }
170}