1use reqwest;
13use serde::{Deserialize, Serialize, de::Error as _};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration, ContentType};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum NodesNetworkCreateNetworkError {
22 Status400(models::PbsError),
23 Status401(models::PbsError),
24 Status403(models::PbsError),
25 Status404(models::PbsError),
26 Status500(models::PbsError),
27 Status501(models::PbsError),
28 Status503(models::PbsError),
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum NodesNetworkDeleteNetworkError {
36 Status400(models::PbsError),
37 Status401(models::PbsError),
38 Status403(models::PbsError),
39 Status404(models::PbsError),
40 Status500(models::PbsError),
41 Status501(models::PbsError),
42 Status503(models::PbsError),
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum NodesNetworkDeleteNodesByNodeNetworkByIfaceError {
50 Status400(models::PbsError),
51 Status401(models::PbsError),
52 Status403(models::PbsError),
53 Status404(models::PbsError),
54 Status500(models::PbsError),
55 Status501(models::PbsError),
56 Status503(models::PbsError),
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum NodesNetworkGetNetworkError {
64 Status400(models::PbsError),
65 Status401(models::PbsError),
66 Status403(models::PbsError),
67 Status404(models::PbsError),
68 Status500(models::PbsError),
69 Status501(models::PbsError),
70 Status503(models::PbsError),
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum NodesNetworkGetNodesByNodeNetworkByIfaceError {
78 Status400(models::PbsError),
79 Status401(models::PbsError),
80 Status403(models::PbsError),
81 Status404(models::PbsError),
82 Status500(models::PbsError),
83 Status501(models::PbsError),
84 Status503(models::PbsError),
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum NodesNetworkUpdateNetworkError {
92 Status400(models::PbsError),
93 Status401(models::PbsError),
94 Status403(models::PbsError),
95 Status404(models::PbsError),
96 Status500(models::PbsError),
97 Status501(models::PbsError),
98 Status503(models::PbsError),
99 UnknownValue(serde_json::Value),
100}
101
102#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum NodesNetworkUpdateNodesByNodeNetworkByIfaceError {
106 Status400(models::PbsError),
107 Status401(models::PbsError),
108 Status403(models::PbsError),
109 Status404(models::PbsError),
110 Status500(models::PbsError),
111 Status501(models::PbsError),
112 Status503(models::PbsError),
113 UnknownValue(serde_json::Value),
114}
115
116
117pub async fn nodes_network_create_network(configuration: &configuration::Configuration, node: &str, nodes_network_create_network_request: models::NodesNetworkCreateNetworkRequest) -> Result<models::NodesNetworkCreateNetworkResponse, Error<NodesNetworkCreateNetworkError>> {
119 let p_path_node = node;
121 let p_body_nodes_network_create_network_request = nodes_network_create_network_request;
122
123 let uri_str = format!("{}/nodes/{node}/network", configuration.base_path, node=crate::apis::urlencode(p_path_node));
124 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
125
126 if let Some(ref user_agent) = configuration.user_agent {
127 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
128 }
129 if let Some(ref apikey) = configuration.api_key {
130 let key = apikey.key.clone();
131 let value = match apikey.prefix {
132 Some(ref prefix) => format!("{} {}", prefix, key),
133 None => key,
134 };
135 req_builder = req_builder.header("Authorization", value);
136 };
137 if let Some(ref apikey) = configuration.api_key {
138 let key = apikey.key.clone();
139 let value = match apikey.prefix {
140 Some(ref prefix) => format!("{} {}", prefix, key),
141 None => key,
142 };
143 req_builder = req_builder.header("CSRFPreventionToken", value);
144 };
145 req_builder = req_builder.json(&p_body_nodes_network_create_network_request);
146
147 let req = req_builder.build()?;
148 let resp = configuration.client.execute(req).await?;
149
150 let status = resp.status();
151 let content_type = resp
152 .headers()
153 .get("content-type")
154 .and_then(|v| v.to_str().ok())
155 .unwrap_or("application/octet-stream");
156 let content_type = super::ContentType::from(content_type);
157
158 if !status.is_client_error() && !status.is_server_error() {
159 let content = resp.text().await?;
160 match content_type {
161 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
162 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkCreateNetworkResponse`"))),
163 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkCreateNetworkResponse`")))),
164 }
165 } else {
166 let content = resp.text().await?;
167 let entity: Option<NodesNetworkCreateNetworkError> = serde_json::from_str(&content).ok();
168 Err(Error::ResponseError(ResponseContent { status, content, entity }))
169 }
170}
171
172pub async fn nodes_network_delete_network(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesNetworkDeleteNetworkResponse, Error<NodesNetworkDeleteNetworkError>> {
174 let p_path_node = node;
176
177 let uri_str = format!("{}/nodes/{node}/network", configuration.base_path, node=crate::apis::urlencode(p_path_node));
178 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
179
180 if let Some(ref user_agent) = configuration.user_agent {
181 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
182 }
183 if let Some(ref apikey) = configuration.api_key {
184 let key = apikey.key.clone();
185 let value = match apikey.prefix {
186 Some(ref prefix) => format!("{} {}", prefix, key),
187 None => key,
188 };
189 req_builder = req_builder.header("Authorization", value);
190 };
191 if let Some(ref apikey) = configuration.api_key {
192 let key = apikey.key.clone();
193 let value = match apikey.prefix {
194 Some(ref prefix) => format!("{} {}", prefix, key),
195 None => key,
196 };
197 req_builder = req_builder.header("CSRFPreventionToken", value);
198 };
199
200 let req = req_builder.build()?;
201 let resp = configuration.client.execute(req).await?;
202
203 let status = resp.status();
204 let content_type = resp
205 .headers()
206 .get("content-type")
207 .and_then(|v| v.to_str().ok())
208 .unwrap_or("application/octet-stream");
209 let content_type = super::ContentType::from(content_type);
210
211 if !status.is_client_error() && !status.is_server_error() {
212 let content = resp.text().await?;
213 match content_type {
214 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
215 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkDeleteNetworkResponse`"))),
216 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkDeleteNetworkResponse`")))),
217 }
218 } else {
219 let content = resp.text().await?;
220 let entity: Option<NodesNetworkDeleteNetworkError> = serde_json::from_str(&content).ok();
221 Err(Error::ResponseError(ResponseContent { status, content, entity }))
222 }
223}
224
225pub async fn nodes_network_delete_nodes_by_node_network_by_iface(configuration: &configuration::Configuration, iface: &str, node: &str, digest: Option<&str>) -> Result<models::NodesNetworkDeleteNodesByNodeNetworkByIfaceResponse, Error<NodesNetworkDeleteNodesByNodeNetworkByIfaceError>> {
227 let p_path_iface = iface;
229 let p_path_node = node;
230 let p_query_digest = digest;
231
232 let uri_str = format!("{}/nodes/{node}/network/{iface}", configuration.base_path, iface=crate::apis::urlencode(p_path_iface), node=crate::apis::urlencode(p_path_node));
233 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
234
235 if let Some(ref param_value) = p_query_digest {
236 req_builder = req_builder.query(&[("digest", ¶m_value.to_string())]);
237 }
238 if let Some(ref user_agent) = configuration.user_agent {
239 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
240 }
241 if let Some(ref apikey) = configuration.api_key {
242 let key = apikey.key.clone();
243 let value = match apikey.prefix {
244 Some(ref prefix) => format!("{} {}", prefix, key),
245 None => key,
246 };
247 req_builder = req_builder.header("Authorization", value);
248 };
249 if let Some(ref apikey) = configuration.api_key {
250 let key = apikey.key.clone();
251 let value = match apikey.prefix {
252 Some(ref prefix) => format!("{} {}", prefix, key),
253 None => key,
254 };
255 req_builder = req_builder.header("CSRFPreventionToken", value);
256 };
257
258 let req = req_builder.build()?;
259 let resp = configuration.client.execute(req).await?;
260
261 let status = resp.status();
262 let content_type = resp
263 .headers()
264 .get("content-type")
265 .and_then(|v| v.to_str().ok())
266 .unwrap_or("application/octet-stream");
267 let content_type = super::ContentType::from(content_type);
268
269 if !status.is_client_error() && !status.is_server_error() {
270 let content = resp.text().await?;
271 match content_type {
272 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
273 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkDeleteNodesByNodeNetworkByIfaceResponse`"))),
274 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkDeleteNodesByNodeNetworkByIfaceResponse`")))),
275 }
276 } else {
277 let content = resp.text().await?;
278 let entity: Option<NodesNetworkDeleteNodesByNodeNetworkByIfaceError> = serde_json::from_str(&content).ok();
279 Err(Error::ResponseError(ResponseContent { status, content, entity }))
280 }
281}
282
283pub async fn nodes_network_get_network(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesNetworkGetNetworkResponse, Error<NodesNetworkGetNetworkError>> {
285 let p_path_node = node;
287
288 let uri_str = format!("{}/nodes/{node}/network", configuration.base_path, node=crate::apis::urlencode(p_path_node));
289 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
290
291 if let Some(ref user_agent) = configuration.user_agent {
292 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
293 }
294 if let Some(ref apikey) = configuration.api_key {
295 let key = apikey.key.clone();
296 let value = match apikey.prefix {
297 Some(ref prefix) => format!("{} {}", prefix, key),
298 None => key,
299 };
300 req_builder = req_builder.header("Authorization", value);
301 };
302 if let Some(ref apikey) = configuration.api_key {
303 let key = apikey.key.clone();
304 let value = match apikey.prefix {
305 Some(ref prefix) => format!("{} {}", prefix, key),
306 None => key,
307 };
308 req_builder = req_builder.header("CSRFPreventionToken", value);
309 };
310
311 let req = req_builder.build()?;
312 let resp = configuration.client.execute(req).await?;
313
314 let status = resp.status();
315 let content_type = resp
316 .headers()
317 .get("content-type")
318 .and_then(|v| v.to_str().ok())
319 .unwrap_or("application/octet-stream");
320 let content_type = super::ContentType::from(content_type);
321
322 if !status.is_client_error() && !status.is_server_error() {
323 let content = resp.text().await?;
324 match content_type {
325 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
326 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkGetNetworkResponse`"))),
327 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkGetNetworkResponse`")))),
328 }
329 } else {
330 let content = resp.text().await?;
331 let entity: Option<NodesNetworkGetNetworkError> = serde_json::from_str(&content).ok();
332 Err(Error::ResponseError(ResponseContent { status, content, entity }))
333 }
334}
335
336pub async fn nodes_network_get_nodes_by_node_network_by_iface(configuration: &configuration::Configuration, iface: &str, node: &str) -> Result<models::NodesNetworkGetNodesByNodeNetworkByIfaceResponse, Error<NodesNetworkGetNodesByNodeNetworkByIfaceError>> {
338 let p_path_iface = iface;
340 let p_path_node = node;
341
342 let uri_str = format!("{}/nodes/{node}/network/{iface}", configuration.base_path, iface=crate::apis::urlencode(p_path_iface), node=crate::apis::urlencode(p_path_node));
343 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
344
345 if let Some(ref user_agent) = configuration.user_agent {
346 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
347 }
348 if let Some(ref apikey) = configuration.api_key {
349 let key = apikey.key.clone();
350 let value = match apikey.prefix {
351 Some(ref prefix) => format!("{} {}", prefix, key),
352 None => key,
353 };
354 req_builder = req_builder.header("Authorization", value);
355 };
356 if let Some(ref apikey) = configuration.api_key {
357 let key = apikey.key.clone();
358 let value = match apikey.prefix {
359 Some(ref prefix) => format!("{} {}", prefix, key),
360 None => key,
361 };
362 req_builder = req_builder.header("CSRFPreventionToken", value);
363 };
364
365 let req = req_builder.build()?;
366 let resp = configuration.client.execute(req).await?;
367
368 let status = resp.status();
369 let content_type = resp
370 .headers()
371 .get("content-type")
372 .and_then(|v| v.to_str().ok())
373 .unwrap_or("application/octet-stream");
374 let content_type = super::ContentType::from(content_type);
375
376 if !status.is_client_error() && !status.is_server_error() {
377 let content = resp.text().await?;
378 match content_type {
379 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
380 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkGetNodesByNodeNetworkByIfaceResponse`"))),
381 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkGetNodesByNodeNetworkByIfaceResponse`")))),
382 }
383 } else {
384 let content = resp.text().await?;
385 let entity: Option<NodesNetworkGetNodesByNodeNetworkByIfaceError> = serde_json::from_str(&content).ok();
386 Err(Error::ResponseError(ResponseContent { status, content, entity }))
387 }
388}
389
390pub async fn nodes_network_update_network(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesNetworkUpdateNetworkResponse, Error<NodesNetworkUpdateNetworkError>> {
392 let p_path_node = node;
394
395 let uri_str = format!("{}/nodes/{node}/network", configuration.base_path, node=crate::apis::urlencode(p_path_node));
396 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
397
398 if let Some(ref user_agent) = configuration.user_agent {
399 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
400 }
401 if let Some(ref apikey) = configuration.api_key {
402 let key = apikey.key.clone();
403 let value = match apikey.prefix {
404 Some(ref prefix) => format!("{} {}", prefix, key),
405 None => key,
406 };
407 req_builder = req_builder.header("Authorization", value);
408 };
409 if let Some(ref apikey) = configuration.api_key {
410 let key = apikey.key.clone();
411 let value = match apikey.prefix {
412 Some(ref prefix) => format!("{} {}", prefix, key),
413 None => key,
414 };
415 req_builder = req_builder.header("CSRFPreventionToken", value);
416 };
417
418 let req = req_builder.build()?;
419 let resp = configuration.client.execute(req).await?;
420
421 let status = resp.status();
422 let content_type = resp
423 .headers()
424 .get("content-type")
425 .and_then(|v| v.to_str().ok())
426 .unwrap_or("application/octet-stream");
427 let content_type = super::ContentType::from(content_type);
428
429 if !status.is_client_error() && !status.is_server_error() {
430 let content = resp.text().await?;
431 match content_type {
432 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
433 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkUpdateNetworkResponse`"))),
434 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkUpdateNetworkResponse`")))),
435 }
436 } else {
437 let content = resp.text().await?;
438 let entity: Option<NodesNetworkUpdateNetworkError> = serde_json::from_str(&content).ok();
439 Err(Error::ResponseError(ResponseContent { status, content, entity }))
440 }
441}
442
443pub async fn nodes_network_update_nodes_by_node_network_by_iface(configuration: &configuration::Configuration, iface: &str, node: &str, nodes_network_update_nodes_by_node_network_by_iface_request: Option<models::NodesNetworkUpdateNodesByNodeNetworkByIfaceRequest>) -> Result<models::NodesNetworkUpdateNodesByNodeNetworkByIfaceResponse, Error<NodesNetworkUpdateNodesByNodeNetworkByIfaceError>> {
445 let p_path_iface = iface;
447 let p_path_node = node;
448 let p_body_nodes_network_update_nodes_by_node_network_by_iface_request = nodes_network_update_nodes_by_node_network_by_iface_request;
449
450 let uri_str = format!("{}/nodes/{node}/network/{iface}", configuration.base_path, iface=crate::apis::urlencode(p_path_iface), node=crate::apis::urlencode(p_path_node));
451 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
452
453 if let Some(ref user_agent) = configuration.user_agent {
454 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
455 }
456 if let Some(ref apikey) = configuration.api_key {
457 let key = apikey.key.clone();
458 let value = match apikey.prefix {
459 Some(ref prefix) => format!("{} {}", prefix, key),
460 None => key,
461 };
462 req_builder = req_builder.header("Authorization", value);
463 };
464 if let Some(ref apikey) = configuration.api_key {
465 let key = apikey.key.clone();
466 let value = match apikey.prefix {
467 Some(ref prefix) => format!("{} {}", prefix, key),
468 None => key,
469 };
470 req_builder = req_builder.header("CSRFPreventionToken", value);
471 };
472 req_builder = req_builder.json(&p_body_nodes_network_update_nodes_by_node_network_by_iface_request);
473
474 let req = req_builder.build()?;
475 let resp = configuration.client.execute(req).await?;
476
477 let status = resp.status();
478 let content_type = resp
479 .headers()
480 .get("content-type")
481 .and_then(|v| v.to_str().ok())
482 .unwrap_or("application/octet-stream");
483 let content_type = super::ContentType::from(content_type);
484
485 if !status.is_client_error() && !status.is_server_error() {
486 let content = resp.text().await?;
487 match content_type {
488 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
489 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesNetworkUpdateNodesByNodeNetworkByIfaceResponse`"))),
490 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::NodesNetworkUpdateNodesByNodeNetworkByIfaceResponse`")))),
491 }
492 } else {
493 let content = resp.text().await?;
494 let entity: Option<NodesNetworkUpdateNodesByNodeNetworkByIfaceError> = serde_json::from_str(&content).ok();
495 Err(Error::ResponseError(ResponseContent { status, content, entity }))
496 }
497}
498