nomad_client/apis/
volumes_api.rs1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum DeregisterVolumeError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum GetVolumeError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum GetVolumesError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum RegisterVolumeError {
43 UnknownValue(serde_json::Value),
44}
45
46
47pub async fn deregister_volume(configuration: &configuration::Configuration, volume_id: &str, namespace: Option<&str>, region: Option<&str>, index: Option<i64>, wait: Option<&str>) -> Result<(), Error<DeregisterVolumeError>> {
48
49 let local_var_client = &configuration.client;
50
51 let local_var_uri_str = format!("{}/volume/csi/{volume_id}", configuration.base_path, volume_id=crate::apis::urlencode(volume_id));
52 let mut local_var_req_builder = local_var_client.delete(local_var_uri_str.as_str());
53
54 if let Some(ref local_var_str) = namespace {
55 local_var_req_builder = local_var_req_builder.query(&[("namespace", &local_var_str.to_string())]);
56 }
57 if let Some(ref local_var_str) = region {
58 local_var_req_builder = local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
59 }
60 if let Some(ref local_var_str) = index {
61 local_var_req_builder = local_var_req_builder.query(&[("index", &local_var_str.to_string())]);
62 }
63 if let Some(ref local_var_str) = wait {
64 local_var_req_builder = local_var_req_builder.query(&[("wait", &local_var_str.to_string())]);
65 }
66 if let Some(ref local_var_user_agent) = configuration.user_agent {
67 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
68 }
69
70 let local_var_req = local_var_req_builder.build()?;
71 let local_var_resp = local_var_client.execute(local_var_req).await?;
72
73 let local_var_status = local_var_resp.status();
74 let local_var_content = local_var_resp.text().await?;
75
76 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
77 Ok(())
78 } else {
79 let local_var_entity: Option<DeregisterVolumeError> = serde_json::from_str(&local_var_content).ok();
80 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
81 Err(Error::ResponseError(local_var_error))
82 }
83}
84
85pub async fn get_volume(configuration: &configuration::Configuration, volume_id: &str, namespace: Option<&str>, region: Option<&str>, index: Option<i64>, wait: Option<&str>) -> Result<crate::models::CsiVolume, Error<GetVolumeError>> {
86
87 let local_var_client = &configuration.client;
88
89 let local_var_uri_str = format!("{}/volume/csi/{volume_id}", configuration.base_path, volume_id=crate::apis::urlencode(volume_id));
90 let mut local_var_req_builder = local_var_client.get(local_var_uri_str.as_str());
91
92 if let Some(ref local_var_str) = namespace {
93 local_var_req_builder = local_var_req_builder.query(&[("namespace", &local_var_str.to_string())]);
94 }
95 if let Some(ref local_var_str) = region {
96 local_var_req_builder = local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
97 }
98 if let Some(ref local_var_str) = index {
99 local_var_req_builder = local_var_req_builder.query(&[("index", &local_var_str.to_string())]);
100 }
101 if let Some(ref local_var_str) = wait {
102 local_var_req_builder = local_var_req_builder.query(&[("wait", &local_var_str.to_string())]);
103 }
104 if let Some(ref local_var_user_agent) = configuration.user_agent {
105 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
106 }
107
108 let local_var_req = local_var_req_builder.build()?;
109 let local_var_resp = local_var_client.execute(local_var_req).await?;
110
111 let local_var_status = local_var_resp.status();
112 let local_var_content = local_var_resp.text().await?;
113
114 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
115 serde_json::from_str(&local_var_content).map_err(Error::from)
116 } else {
117 let local_var_entity: Option<GetVolumeError> = serde_json::from_str(&local_var_content).ok();
118 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
119 Err(Error::ResponseError(local_var_error))
120 }
121}
122
123pub async fn get_volumes(configuration: &configuration::Configuration, namespace: Option<&str>, region: Option<&str>, index: Option<i64>, wait: Option<&str>, _type: Option<&str>, node_id: Option<&str>, plugin_id: Option<&str>) -> Result<Vec<crate::models::CsiVolumeListStub>, Error<GetVolumesError>> {
124
125 let local_var_client = &configuration.client;
126
127 let local_var_uri_str = format!("{}/volumes", configuration.base_path);
128 let mut local_var_req_builder = local_var_client.get(local_var_uri_str.as_str());
129
130 if let Some(ref local_var_str) = namespace {
131 local_var_req_builder = local_var_req_builder.query(&[("namespace", &local_var_str.to_string())]);
132 }
133 if let Some(ref local_var_str) = region {
134 local_var_req_builder = local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
135 }
136 if let Some(ref local_var_str) = index {
137 local_var_req_builder = local_var_req_builder.query(&[("index", &local_var_str.to_string())]);
138 }
139 if let Some(ref local_var_str) = wait {
140 local_var_req_builder = local_var_req_builder.query(&[("wait", &local_var_str.to_string())]);
141 }
142 if let Some(ref local_var_str) = _type {
143 local_var_req_builder = local_var_req_builder.query(&[("type", &local_var_str.to_string())]);
144 }
145 if let Some(ref local_var_str) = node_id {
146 local_var_req_builder = local_var_req_builder.query(&[("node_id", &local_var_str.to_string())]);
147 }
148 if let Some(ref local_var_str) = plugin_id {
149 local_var_req_builder = local_var_req_builder.query(&[("plugin_id", &local_var_str.to_string())]);
150 }
151 if let Some(ref local_var_user_agent) = configuration.user_agent {
152 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
153 }
154
155 let local_var_req = local_var_req_builder.build()?;
156 let local_var_resp = local_var_client.execute(local_var_req).await?;
157
158 let local_var_status = local_var_resp.status();
159 let local_var_content = local_var_resp.text().await?;
160
161 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
162 serde_json::from_str(&local_var_content).map_err(Error::from)
163 } else {
164 let local_var_entity: Option<GetVolumesError> = serde_json::from_str(&local_var_content).ok();
165 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
166 Err(Error::ResponseError(local_var_error))
167 }
168}
169
170pub async fn register_volume(configuration: &configuration::Configuration, volume_id: &str, namespace: Option<&str>, region: Option<&str>, index: Option<i64>, wait: Option<&str>, csi_volume_register_request: Option<crate::models::CsiVolumeRegisterRequest>) -> Result<(), Error<RegisterVolumeError>> {
171
172 let local_var_client = &configuration.client;
173
174 let local_var_uri_str = format!("{}/volume/csi/{volume_id}", configuration.base_path, volume_id=crate::apis::urlencode(volume_id));
175 let mut local_var_req_builder = local_var_client.put(local_var_uri_str.as_str());
176
177 if let Some(ref local_var_str) = namespace {
178 local_var_req_builder = local_var_req_builder.query(&[("namespace", &local_var_str.to_string())]);
179 }
180 if let Some(ref local_var_str) = region {
181 local_var_req_builder = local_var_req_builder.query(&[("region", &local_var_str.to_string())]);
182 }
183 if let Some(ref local_var_str) = index {
184 local_var_req_builder = local_var_req_builder.query(&[("index", &local_var_str.to_string())]);
185 }
186 if let Some(ref local_var_str) = wait {
187 local_var_req_builder = local_var_req_builder.query(&[("wait", &local_var_str.to_string())]);
188 }
189 if let Some(ref local_var_user_agent) = configuration.user_agent {
190 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
191 }
192 local_var_req_builder = local_var_req_builder.json(&csi_volume_register_request);
193
194 let local_var_req = local_var_req_builder.build()?;
195 let local_var_resp = local_var_client.execute(local_var_req).await?;
196
197 let local_var_status = local_var_resp.status();
198 let local_var_content = local_var_resp.text().await?;
199
200 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
201 Ok(())
202 } else {
203 let local_var_entity: Option<RegisterVolumeError> = serde_json::from_str(&local_var_content).ok();
204 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
205 Err(Error::ResponseError(local_var_error))
206 }
207}
208