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 NodesCertificatesCreateCertificateError {
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 NodesCertificatesCreateCustomError {
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 NodesCertificatesDeleteCustomError {
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 NodesCertificatesGetAcmeError {
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 NodesCertificatesGetCertificatesError {
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 NodesCertificatesGetInfoError {
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 NodesCertificatesUpdateCertificateError {
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_certificates_create_certificate(configuration: &configuration::Configuration, node: &str, nodes_certificates_create_certificate_request: Option<models::NodesCertificatesCreateCertificateRequest>) -> Result<models::NodesCertificatesCreateCertificateResponse, Error<NodesCertificatesCreateCertificateError>> {
119 let p_path_node = node;
121 let p_body_nodes_certificates_create_certificate_request = nodes_certificates_create_certificate_request;
122
123 let uri_str = format!("{}/nodes/{node}/certificates/acme/certificate", 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_certificates_create_certificate_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::NodesCertificatesCreateCertificateResponse`"))),
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::NodesCertificatesCreateCertificateResponse`")))),
164 }
165 } else {
166 let content = resp.text().await?;
167 let entity: Option<NodesCertificatesCreateCertificateError> = serde_json::from_str(&content).ok();
168 Err(Error::ResponseError(ResponseContent { status, content, entity }))
169 }
170}
171
172pub async fn nodes_certificates_create_custom(configuration: &configuration::Configuration, node: &str, nodes_certificates_create_custom_request: models::NodesCertificatesCreateCustomRequest) -> Result<models::NodesCertificatesCreateCustomResponse, Error<NodesCertificatesCreateCustomError>> {
174 let p_path_node = node;
176 let p_body_nodes_certificates_create_custom_request = nodes_certificates_create_custom_request;
177
178 let uri_str = format!("{}/nodes/{node}/certificates/custom", configuration.base_path, node=crate::apis::urlencode(p_path_node));
179 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
180
181 if let Some(ref user_agent) = configuration.user_agent {
182 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
183 }
184 if let Some(ref apikey) = configuration.api_key {
185 let key = apikey.key.clone();
186 let value = match apikey.prefix {
187 Some(ref prefix) => format!("{} {}", prefix, key),
188 None => key,
189 };
190 req_builder = req_builder.header("Authorization", value);
191 };
192 if let Some(ref apikey) = configuration.api_key {
193 let key = apikey.key.clone();
194 let value = match apikey.prefix {
195 Some(ref prefix) => format!("{} {}", prefix, key),
196 None => key,
197 };
198 req_builder = req_builder.header("CSRFPreventionToken", value);
199 };
200 req_builder = req_builder.json(&p_body_nodes_certificates_create_custom_request);
201
202 let req = req_builder.build()?;
203 let resp = configuration.client.execute(req).await?;
204
205 let status = resp.status();
206 let content_type = resp
207 .headers()
208 .get("content-type")
209 .and_then(|v| v.to_str().ok())
210 .unwrap_or("application/octet-stream");
211 let content_type = super::ContentType::from(content_type);
212
213 if !status.is_client_error() && !status.is_server_error() {
214 let content = resp.text().await?;
215 match content_type {
216 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
217 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesCertificatesCreateCustomResponse`"))),
218 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::NodesCertificatesCreateCustomResponse`")))),
219 }
220 } else {
221 let content = resp.text().await?;
222 let entity: Option<NodesCertificatesCreateCustomError> = serde_json::from_str(&content).ok();
223 Err(Error::ResponseError(ResponseContent { status, content, entity }))
224 }
225}
226
227pub async fn nodes_certificates_delete_custom(configuration: &configuration::Configuration, node: &str, restart: Option<bool>) -> Result<models::NodesCertificatesDeleteCustomResponse, Error<NodesCertificatesDeleteCustomError>> {
229 let p_path_node = node;
231 let p_query_restart = restart;
232
233 let uri_str = format!("{}/nodes/{node}/certificates/custom", configuration.base_path, node=crate::apis::urlencode(p_path_node));
234 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
235
236 if let Some(ref param_value) = p_query_restart {
237 req_builder = req_builder.query(&[("restart", ¶m_value.to_string())]);
238 }
239 if let Some(ref user_agent) = configuration.user_agent {
240 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
241 }
242 if let Some(ref apikey) = configuration.api_key {
243 let key = apikey.key.clone();
244 let value = match apikey.prefix {
245 Some(ref prefix) => format!("{} {}", prefix, key),
246 None => key,
247 };
248 req_builder = req_builder.header("Authorization", value);
249 };
250 if let Some(ref apikey) = configuration.api_key {
251 let key = apikey.key.clone();
252 let value = match apikey.prefix {
253 Some(ref prefix) => format!("{} {}", prefix, key),
254 None => key,
255 };
256 req_builder = req_builder.header("CSRFPreventionToken", value);
257 };
258
259 let req = req_builder.build()?;
260 let resp = configuration.client.execute(req).await?;
261
262 let status = resp.status();
263 let content_type = resp
264 .headers()
265 .get("content-type")
266 .and_then(|v| v.to_str().ok())
267 .unwrap_or("application/octet-stream");
268 let content_type = super::ContentType::from(content_type);
269
270 if !status.is_client_error() && !status.is_server_error() {
271 let content = resp.text().await?;
272 match content_type {
273 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
274 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesCertificatesDeleteCustomResponse`"))),
275 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::NodesCertificatesDeleteCustomResponse`")))),
276 }
277 } else {
278 let content = resp.text().await?;
279 let entity: Option<NodesCertificatesDeleteCustomError> = serde_json::from_str(&content).ok();
280 Err(Error::ResponseError(ResponseContent { status, content, entity }))
281 }
282}
283
284pub async fn nodes_certificates_get_acme(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesCertificatesGetAcmeResponse, Error<NodesCertificatesGetAcmeError>> {
286 let p_path_node = node;
288
289 let uri_str = format!("{}/nodes/{node}/certificates/acme", configuration.base_path, node=crate::apis::urlencode(p_path_node));
290 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
291
292 if let Some(ref user_agent) = configuration.user_agent {
293 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
294 }
295 if let Some(ref apikey) = configuration.api_key {
296 let key = apikey.key.clone();
297 let value = match apikey.prefix {
298 Some(ref prefix) => format!("{} {}", prefix, key),
299 None => key,
300 };
301 req_builder = req_builder.header("Authorization", value);
302 };
303 if let Some(ref apikey) = configuration.api_key {
304 let key = apikey.key.clone();
305 let value = match apikey.prefix {
306 Some(ref prefix) => format!("{} {}", prefix, key),
307 None => key,
308 };
309 req_builder = req_builder.header("CSRFPreventionToken", value);
310 };
311
312 let req = req_builder.build()?;
313 let resp = configuration.client.execute(req).await?;
314
315 let status = resp.status();
316 let content_type = resp
317 .headers()
318 .get("content-type")
319 .and_then(|v| v.to_str().ok())
320 .unwrap_or("application/octet-stream");
321 let content_type = super::ContentType::from(content_type);
322
323 if !status.is_client_error() && !status.is_server_error() {
324 let content = resp.text().await?;
325 match content_type {
326 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
327 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesCertificatesGetAcmeResponse`"))),
328 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::NodesCertificatesGetAcmeResponse`")))),
329 }
330 } else {
331 let content = resp.text().await?;
332 let entity: Option<NodesCertificatesGetAcmeError> = serde_json::from_str(&content).ok();
333 Err(Error::ResponseError(ResponseContent { status, content, entity }))
334 }
335}
336
337pub async fn nodes_certificates_get_certificates(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesCertificatesGetCertificatesResponse, Error<NodesCertificatesGetCertificatesError>> {
339 let p_path_node = node;
341
342 let uri_str = format!("{}/nodes/{node}/certificates", configuration.base_path, 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::NodesCertificatesGetCertificatesResponse`"))),
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::NodesCertificatesGetCertificatesResponse`")))),
382 }
383 } else {
384 let content = resp.text().await?;
385 let entity: Option<NodesCertificatesGetCertificatesError> = serde_json::from_str(&content).ok();
386 Err(Error::ResponseError(ResponseContent { status, content, entity }))
387 }
388}
389
390pub async fn nodes_certificates_get_info(configuration: &configuration::Configuration, node: &str) -> Result<models::NodesCertificatesGetInfoResponse, Error<NodesCertificatesGetInfoError>> {
392 let p_path_node = node;
394
395 let uri_str = format!("{}/nodes/{node}/certificates/info", configuration.base_path, node=crate::apis::urlencode(p_path_node));
396 let mut req_builder = configuration.client.request(reqwest::Method::GET, &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::NodesCertificatesGetInfoResponse`"))),
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::NodesCertificatesGetInfoResponse`")))),
435 }
436 } else {
437 let content = resp.text().await?;
438 let entity: Option<NodesCertificatesGetInfoError> = serde_json::from_str(&content).ok();
439 Err(Error::ResponseError(ResponseContent { status, content, entity }))
440 }
441}
442
443pub async fn nodes_certificates_update_certificate(configuration: &configuration::Configuration, node: &str, nodes_certificates_create_certificate_request: Option<models::NodesCertificatesCreateCertificateRequest>) -> Result<models::NodesCertificatesUpdateCertificateResponse, Error<NodesCertificatesUpdateCertificateError>> {
445 let p_path_node = node;
447 let p_body_nodes_certificates_create_certificate_request = nodes_certificates_create_certificate_request;
448
449 let uri_str = format!("{}/nodes/{node}/certificates/acme/certificate", configuration.base_path, node=crate::apis::urlencode(p_path_node));
450 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
451
452 if let Some(ref user_agent) = configuration.user_agent {
453 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
454 }
455 if let Some(ref apikey) = configuration.api_key {
456 let key = apikey.key.clone();
457 let value = match apikey.prefix {
458 Some(ref prefix) => format!("{} {}", prefix, key),
459 None => key,
460 };
461 req_builder = req_builder.header("Authorization", value);
462 };
463 if let Some(ref apikey) = configuration.api_key {
464 let key = apikey.key.clone();
465 let value = match apikey.prefix {
466 Some(ref prefix) => format!("{} {}", prefix, key),
467 None => key,
468 };
469 req_builder = req_builder.header("CSRFPreventionToken", value);
470 };
471 req_builder = req_builder.json(&p_body_nodes_certificates_create_certificate_request);
472
473 let req = req_builder.build()?;
474 let resp = configuration.client.execute(req).await?;
475
476 let status = resp.status();
477 let content_type = resp
478 .headers()
479 .get("content-type")
480 .and_then(|v| v.to_str().ok())
481 .unwrap_or("application/octet-stream");
482 let content_type = super::ContentType::from(content_type);
483
484 if !status.is_client_error() && !status.is_server_error() {
485 let content = resp.text().await?;
486 match content_type {
487 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
488 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::NodesCertificatesUpdateCertificateResponse`"))),
489 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::NodesCertificatesUpdateCertificateResponse`")))),
490 }
491 } else {
492 let content = resp.text().await?;
493 let entity: Option<NodesCertificatesUpdateCertificateError> = serde_json::from_str(&content).ok();
494 Err(Error::ResponseError(ResponseContent { status, content, entity }))
495 }
496}
497