podman_autogen_api/apis/
volumes_compat_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 VolumesCompatApiClient<C: Connect>
26where
27 C: Clone + std::marker::Send + Sync + 'static,
28{
29 configuration: Arc<configuration::Configuration<C>>,
30}
31
32impl<C: Connect> VolumesCompatApiClient<C>
33where
34 C: Clone + std::marker::Send + Sync,
35{
36 pub fn new(configuration: Arc<configuration::Configuration<C>>) -> VolumesCompatApiClient<C> {
37 VolumesCompatApiClient { configuration }
38 }
39}
40
41pub trait VolumesCompatApi: Send + Sync {
42 fn volume_create(
43 &self,
44 create: Option<models::VolumeCreate>,
45 ) -> Pin<Box<dyn Future<Output = Result<models::Volume, Error>> + Send>>;
46 fn volume_delete(
47 &self,
48 name: &str,
49 force: Option<bool>,
50 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>>;
51 fn volume_inspect(
52 &self,
53 name: &str,
54 ) -> Pin<Box<dyn Future<Output = Result<models::Volume, Error>> + Send>>;
55 fn volume_list(
56 &self,
57 filters: Option<&str>,
58 ) -> Pin<Box<dyn Future<Output = Result<models::ListResponse, Error>> + Send>>;
59 fn volume_prune(
60 &self,
61 filters: Option<&str>,
62 ) -> Pin<Box<dyn Future<Output = Result<models::VolumesPruneReport, Error>> + Send>>;
63}
64
65impl<C: Connect> VolumesCompatApi for VolumesCompatApiClient<C>
66where
67 C: Clone + std::marker::Send + Sync,
68{
69 #[allow(unused_mut)]
70 fn volume_create(
71 &self,
72 create: Option<models::VolumeCreate>,
73 ) -> Pin<Box<dyn Future<Output = Result<models::Volume, Error>> + Send>> {
74 let mut req =
75 __internal_request::Request::new(hyper::Method::POST, "/volumes/create".to_string());
76 req = req.with_body_param(create);
77
78 req.execute(self.configuration.borrow())
79 }
80
81 #[allow(unused_mut)]
82 fn volume_delete(
83 &self,
84 name: &str,
85 force: Option<bool>,
86 ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send>> {
87 let mut req =
88 __internal_request::Request::new(hyper::Method::DELETE, "/volumes/{name}".to_string());
89 if let Some(ref s) = force {
90 let query_value = s.to_string();
91 req = req.with_query_param("force".to_string(), query_value);
92 }
93 req = req.with_path_param("name".to_string(), name.to_string());
94 req = req.returns_nothing();
95
96 req.execute(self.configuration.borrow())
97 }
98
99 #[allow(unused_mut)]
100 fn volume_inspect(
101 &self,
102 name: &str,
103 ) -> Pin<Box<dyn Future<Output = Result<models::Volume, Error>> + Send>> {
104 let mut req =
105 __internal_request::Request::new(hyper::Method::GET, "/volumes/{name}".to_string());
106 req = req.with_path_param("name".to_string(), name.to_string());
107
108 req.execute(self.configuration.borrow())
109 }
110
111 #[allow(unused_mut)]
112 fn volume_list(
113 &self,
114 filters: Option<&str>,
115 ) -> Pin<Box<dyn Future<Output = Result<models::ListResponse, Error>> + Send>> {
116 let mut req = __internal_request::Request::new(hyper::Method::GET, "/volumes".to_string());
117 if let Some(ref s) = filters {
118 let query_value = s.to_string();
119 req = req.with_query_param("filters".to_string(), query_value);
120 }
121
122 req.execute(self.configuration.borrow())
123 }
124
125 #[allow(unused_mut)]
126 fn volume_prune(
127 &self,
128 filters: Option<&str>,
129 ) -> Pin<Box<dyn Future<Output = Result<models::VolumesPruneReport, Error>> + Send>> {
130 let mut req =
131 __internal_request::Request::new(hyper::Method::POST, "/volumes/prune".to_string());
132 if let Some(ref s) = filters {
133 let query_value = s.to_string();
134 req = req.with_query_param("filters".to_string(), query_value);
135 }
136
137 req.execute(self.configuration.borrow())
138 }
139}