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 ClusterFirewallCreateAliasError {
22 Status400(models::PveError),
23 Status401(models::PveError),
24 Status403(models::PveError),
25 Status404(models::PveError),
26 Status500(models::PveError),
27 Status501(models::PveError),
28 Status503(models::PveError),
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum ClusterFirewallCreateIpError {
36 Status400(models::PveError),
37 Status401(models::PveError),
38 Status403(models::PveError),
39 Status404(models::PveError),
40 Status500(models::PveError),
41 Status501(models::PveError),
42 Status503(models::PveError),
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum ClusterFirewallCreateIpsetError {
50 Status400(models::PveError),
51 Status401(models::PveError),
52 Status403(models::PveError),
53 Status404(models::PveError),
54 Status500(models::PveError),
55 Status501(models::PveError),
56 Status503(models::PveError),
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum ClusterFirewallCreateRuleError {
64 Status400(models::PveError),
65 Status401(models::PveError),
66 Status403(models::PveError),
67 Status404(models::PveError),
68 Status500(models::PveError),
69 Status501(models::PveError),
70 Status503(models::PveError),
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum ClusterFirewallCreateRulesError {
78 Status400(models::PveError),
79 Status401(models::PveError),
80 Status403(models::PveError),
81 Status404(models::PveError),
82 Status500(models::PveError),
83 Status501(models::PveError),
84 Status503(models::PveError),
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum ClusterFirewallCreateSecurityGroupError {
92 Status400(models::PveError),
93 Status401(models::PveError),
94 Status403(models::PveError),
95 Status404(models::PveError),
96 Status500(models::PveError),
97 Status501(models::PveError),
98 Status503(models::PveError),
99 UnknownValue(serde_json::Value),
100}
101
102#[derive(Debug, Clone, Serialize, Deserialize)]
104#[serde(untagged)]
105pub enum ClusterFirewallDeleteIpsetError {
106 Status400(models::PveError),
107 Status401(models::PveError),
108 Status403(models::PveError),
109 Status404(models::PveError),
110 Status500(models::PveError),
111 Status501(models::PveError),
112 Status503(models::PveError),
113 UnknownValue(serde_json::Value),
114}
115
116#[derive(Debug, Clone, Serialize, Deserialize)]
118#[serde(untagged)]
119pub enum ClusterFirewallDeleteRuleError {
120 Status400(models::PveError),
121 Status401(models::PveError),
122 Status403(models::PveError),
123 Status404(models::PveError),
124 Status500(models::PveError),
125 Status501(models::PveError),
126 Status503(models::PveError),
127 UnknownValue(serde_json::Value),
128}
129
130#[derive(Debug, Clone, Serialize, Deserialize)]
132#[serde(untagged)]
133pub enum ClusterFirewallDeleteRulesError {
134 Status400(models::PveError),
135 Status401(models::PveError),
136 Status403(models::PveError),
137 Status404(models::PveError),
138 Status500(models::PveError),
139 Status501(models::PveError),
140 Status503(models::PveError),
141 UnknownValue(serde_json::Value),
142}
143
144#[derive(Debug, Clone, Serialize, Deserialize)]
146#[serde(untagged)]
147pub enum ClusterFirewallDeleteSecurityGroupError {
148 Status400(models::PveError),
149 Status401(models::PveError),
150 Status403(models::PveError),
151 Status404(models::PveError),
152 Status500(models::PveError),
153 Status501(models::PveError),
154 Status503(models::PveError),
155 UnknownValue(serde_json::Value),
156}
157
158#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum ClusterFirewallGetAliasesError {
162 Status400(models::PveError),
163 Status401(models::PveError),
164 Status403(models::PveError),
165 Status404(models::PveError),
166 Status500(models::PveError),
167 Status501(models::PveError),
168 Status503(models::PveError),
169 UnknownValue(serde_json::Value),
170}
171
172#[derive(Debug, Clone, Serialize, Deserialize)]
174#[serde(untagged)]
175pub enum ClusterFirewallGetFirewallError {
176 Status400(models::PveError),
177 Status401(models::PveError),
178 Status403(models::PveError),
179 Status404(models::PveError),
180 Status500(models::PveError),
181 Status501(models::PveError),
182 Status503(models::PveError),
183 UnknownValue(serde_json::Value),
184}
185
186#[derive(Debug, Clone, Serialize, Deserialize)]
188#[serde(untagged)]
189pub enum ClusterFirewallGetIpsetError {
190 Status400(models::PveError),
191 Status401(models::PveError),
192 Status403(models::PveError),
193 Status404(models::PveError),
194 Status500(models::PveError),
195 Status501(models::PveError),
196 Status503(models::PveError),
197 UnknownValue(serde_json::Value),
198}
199
200#[derive(Debug, Clone, Serialize, Deserialize)]
202#[serde(untagged)]
203pub enum ClusterFirewallGetMacrosError {
204 Status400(models::PveError),
205 Status401(models::PveError),
206 Status403(models::PveError),
207 Status404(models::PveError),
208 Status500(models::PveError),
209 Status501(models::PveError),
210 Status503(models::PveError),
211 UnknownValue(serde_json::Value),
212}
213
214#[derive(Debug, Clone, Serialize, Deserialize)]
216#[serde(untagged)]
217pub enum ClusterFirewallGetOptionsError {
218 Status400(models::PveError),
219 Status401(models::PveError),
220 Status403(models::PveError),
221 Status404(models::PveError),
222 Status500(models::PveError),
223 Status501(models::PveError),
224 Status503(models::PveError),
225 UnknownValue(serde_json::Value),
226}
227
228#[derive(Debug, Clone, Serialize, Deserialize)]
230#[serde(untagged)]
231pub enum ClusterFirewallGetRuleError {
232 Status400(models::PveError),
233 Status401(models::PveError),
234 Status403(models::PveError),
235 Status404(models::PveError),
236 Status500(models::PveError),
237 Status501(models::PveError),
238 Status503(models::PveError),
239 UnknownValue(serde_json::Value),
240}
241
242#[derive(Debug, Clone, Serialize, Deserialize)]
244#[serde(untagged)]
245pub enum ClusterFirewallGetRuleGetRulesError {
246 Status400(models::PveError),
247 Status401(models::PveError),
248 Status403(models::PveError),
249 Status404(models::PveError),
250 Status500(models::PveError),
251 Status501(models::PveError),
252 Status503(models::PveError),
253 UnknownValue(serde_json::Value),
254}
255
256#[derive(Debug, Clone, Serialize, Deserialize)]
258#[serde(untagged)]
259pub enum ClusterFirewallGetRulesError {
260 Status400(models::PveError),
261 Status401(models::PveError),
262 Status403(models::PveError),
263 Status404(models::PveError),
264 Status500(models::PveError),
265 Status501(models::PveError),
266 Status503(models::PveError),
267 UnknownValue(serde_json::Value),
268}
269
270#[derive(Debug, Clone, Serialize, Deserialize)]
272#[serde(untagged)]
273pub enum ClusterFirewallGetRulesGetRulesError {
274 Status400(models::PveError),
275 Status401(models::PveError),
276 Status403(models::PveError),
277 Status404(models::PveError),
278 Status500(models::PveError),
279 Status501(models::PveError),
280 Status503(models::PveError),
281 UnknownValue(serde_json::Value),
282}
283
284#[derive(Debug, Clone, Serialize, Deserialize)]
286#[serde(untagged)]
287pub enum ClusterFirewallIpsetIndexError {
288 Status400(models::PveError),
289 Status401(models::PveError),
290 Status403(models::PveError),
291 Status404(models::PveError),
292 Status500(models::PveError),
293 Status501(models::PveError),
294 Status503(models::PveError),
295 UnknownValue(serde_json::Value),
296}
297
298#[derive(Debug, Clone, Serialize, Deserialize)]
300#[serde(untagged)]
301pub enum ClusterFirewallListSecurityGroupsError {
302 Status400(models::PveError),
303 Status401(models::PveError),
304 Status403(models::PveError),
305 Status404(models::PveError),
306 Status500(models::PveError),
307 Status501(models::PveError),
308 Status503(models::PveError),
309 UnknownValue(serde_json::Value),
310}
311
312#[derive(Debug, Clone, Serialize, Deserialize)]
314#[serde(untagged)]
315pub enum ClusterFirewallReadAliasError {
316 Status400(models::PveError),
317 Status401(models::PveError),
318 Status403(models::PveError),
319 Status404(models::PveError),
320 Status500(models::PveError),
321 Status501(models::PveError),
322 Status503(models::PveError),
323 UnknownValue(serde_json::Value),
324}
325
326#[derive(Debug, Clone, Serialize, Deserialize)]
328#[serde(untagged)]
329pub enum ClusterFirewallReadIpError {
330 Status400(models::PveError),
331 Status401(models::PveError),
332 Status403(models::PveError),
333 Status404(models::PveError),
334 Status500(models::PveError),
335 Status501(models::PveError),
336 Status503(models::PveError),
337 UnknownValue(serde_json::Value),
338}
339
340#[derive(Debug, Clone, Serialize, Deserialize)]
342#[serde(untagged)]
343pub enum ClusterFirewallRefsError {
344 Status400(models::PveError),
345 Status401(models::PveError),
346 Status403(models::PveError),
347 Status404(models::PveError),
348 Status500(models::PveError),
349 Status501(models::PveError),
350 Status503(models::PveError),
351 UnknownValue(serde_json::Value),
352}
353
354#[derive(Debug, Clone, Serialize, Deserialize)]
356#[serde(untagged)]
357pub enum ClusterFirewallRemoveAliasError {
358 Status400(models::PveError),
359 Status401(models::PveError),
360 Status403(models::PveError),
361 Status404(models::PveError),
362 Status500(models::PveError),
363 Status501(models::PveError),
364 Status503(models::PveError),
365 UnknownValue(serde_json::Value),
366}
367
368#[derive(Debug, Clone, Serialize, Deserialize)]
370#[serde(untagged)]
371pub enum ClusterFirewallRemoveIpError {
372 Status400(models::PveError),
373 Status401(models::PveError),
374 Status403(models::PveError),
375 Status404(models::PveError),
376 Status500(models::PveError),
377 Status501(models::PveError),
378 Status503(models::PveError),
379 UnknownValue(serde_json::Value),
380}
381
382#[derive(Debug, Clone, Serialize, Deserialize)]
384#[serde(untagged)]
385pub enum ClusterFirewallSetOptionsError {
386 Status400(models::PveError),
387 Status401(models::PveError),
388 Status403(models::PveError),
389 Status404(models::PveError),
390 Status500(models::PveError),
391 Status501(models::PveError),
392 Status503(models::PveError),
393 UnknownValue(serde_json::Value),
394}
395
396#[derive(Debug, Clone, Serialize, Deserialize)]
398#[serde(untagged)]
399pub enum ClusterFirewallUpdateAliasError {
400 Status400(models::PveError),
401 Status401(models::PveError),
402 Status403(models::PveError),
403 Status404(models::PveError),
404 Status500(models::PveError),
405 Status501(models::PveError),
406 Status503(models::PveError),
407 UnknownValue(serde_json::Value),
408}
409
410#[derive(Debug, Clone, Serialize, Deserialize)]
412#[serde(untagged)]
413pub enum ClusterFirewallUpdateIpError {
414 Status400(models::PveError),
415 Status401(models::PveError),
416 Status403(models::PveError),
417 Status404(models::PveError),
418 Status500(models::PveError),
419 Status501(models::PveError),
420 Status503(models::PveError),
421 UnknownValue(serde_json::Value),
422}
423
424#[derive(Debug, Clone, Serialize, Deserialize)]
426#[serde(untagged)]
427pub enum ClusterFirewallUpdateRuleError {
428 Status400(models::PveError),
429 Status401(models::PveError),
430 Status403(models::PveError),
431 Status404(models::PveError),
432 Status500(models::PveError),
433 Status501(models::PveError),
434 Status503(models::PveError),
435 UnknownValue(serde_json::Value),
436}
437
438#[derive(Debug, Clone, Serialize, Deserialize)]
440#[serde(untagged)]
441pub enum ClusterFirewallUpdateRulesError {
442 Status400(models::PveError),
443 Status401(models::PveError),
444 Status403(models::PveError),
445 Status404(models::PveError),
446 Status500(models::PveError),
447 Status501(models::PveError),
448 Status503(models::PveError),
449 UnknownValue(serde_json::Value),
450}
451
452
453pub async fn cluster_firewall_create_alias(configuration: &configuration::Configuration, cluster_firewall_create_alias_request: models::ClusterFirewallCreateAliasRequest) -> Result<models::ClusterFirewallCreateAliasResponse, Error<ClusterFirewallCreateAliasError>> {
455 let p_body_cluster_firewall_create_alias_request = cluster_firewall_create_alias_request;
457
458 let uri_str = format!("{}/cluster/firewall/aliases", configuration.base_path);
459 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
460
461 if let Some(ref user_agent) = configuration.user_agent {
462 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
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("Authorization", value);
471 };
472 if let Some(ref apikey) = configuration.api_key {
473 let key = apikey.key.clone();
474 let value = match apikey.prefix {
475 Some(ref prefix) => format!("{} {}", prefix, key),
476 None => key,
477 };
478 req_builder = req_builder.header("CSRFPreventionToken", value);
479 };
480 req_builder = req_builder.json(&p_body_cluster_firewall_create_alias_request);
481
482 let req = req_builder.build()?;
483 let resp = configuration.client.execute(req).await?;
484
485 let status = resp.status();
486 let content_type = resp
487 .headers()
488 .get("content-type")
489 .and_then(|v| v.to_str().ok())
490 .unwrap_or("application/octet-stream");
491 let content_type = super::ContentType::from(content_type);
492
493 if !status.is_client_error() && !status.is_server_error() {
494 let content = resp.text().await?;
495 match content_type {
496 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
497 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateAliasResponse`"))),
498 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::ClusterFirewallCreateAliasResponse`")))),
499 }
500 } else {
501 let content = resp.text().await?;
502 let entity: Option<ClusterFirewallCreateAliasError> = serde_json::from_str(&content).ok();
503 Err(Error::ResponseError(ResponseContent { status, content, entity }))
504 }
505}
506
507pub async fn cluster_firewall_create_ip(configuration: &configuration::Configuration, name: &str, cluster_firewall_create_ip_request: models::ClusterFirewallCreateIpRequest) -> Result<models::ClusterFirewallCreateIpResponse, Error<ClusterFirewallCreateIpError>> {
509 let p_path_name = name;
511 let p_body_cluster_firewall_create_ip_request = cluster_firewall_create_ip_request;
512
513 let uri_str = format!("{}/cluster/firewall/ipset/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
514 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
515
516 if let Some(ref user_agent) = configuration.user_agent {
517 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
518 }
519 if let Some(ref apikey) = configuration.api_key {
520 let key = apikey.key.clone();
521 let value = match apikey.prefix {
522 Some(ref prefix) => format!("{} {}", prefix, key),
523 None => key,
524 };
525 req_builder = req_builder.header("Authorization", value);
526 };
527 if let Some(ref apikey) = configuration.api_key {
528 let key = apikey.key.clone();
529 let value = match apikey.prefix {
530 Some(ref prefix) => format!("{} {}", prefix, key),
531 None => key,
532 };
533 req_builder = req_builder.header("CSRFPreventionToken", value);
534 };
535 req_builder = req_builder.json(&p_body_cluster_firewall_create_ip_request);
536
537 let req = req_builder.build()?;
538 let resp = configuration.client.execute(req).await?;
539
540 let status = resp.status();
541 let content_type = resp
542 .headers()
543 .get("content-type")
544 .and_then(|v| v.to_str().ok())
545 .unwrap_or("application/octet-stream");
546 let content_type = super::ContentType::from(content_type);
547
548 if !status.is_client_error() && !status.is_server_error() {
549 let content = resp.text().await?;
550 match content_type {
551 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
552 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateIpResponse`"))),
553 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::ClusterFirewallCreateIpResponse`")))),
554 }
555 } else {
556 let content = resp.text().await?;
557 let entity: Option<ClusterFirewallCreateIpError> = serde_json::from_str(&content).ok();
558 Err(Error::ResponseError(ResponseContent { status, content, entity }))
559 }
560}
561
562pub async fn cluster_firewall_create_ipset(configuration: &configuration::Configuration, cluster_firewall_create_ipset_request: models::ClusterFirewallCreateIpsetRequest) -> Result<models::ClusterFirewallCreateIpsetResponse, Error<ClusterFirewallCreateIpsetError>> {
564 let p_body_cluster_firewall_create_ipset_request = cluster_firewall_create_ipset_request;
566
567 let uri_str = format!("{}/cluster/firewall/ipset", configuration.base_path);
568 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
569
570 if let Some(ref user_agent) = configuration.user_agent {
571 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
572 }
573 if let Some(ref apikey) = configuration.api_key {
574 let key = apikey.key.clone();
575 let value = match apikey.prefix {
576 Some(ref prefix) => format!("{} {}", prefix, key),
577 None => key,
578 };
579 req_builder = req_builder.header("Authorization", value);
580 };
581 if let Some(ref apikey) = configuration.api_key {
582 let key = apikey.key.clone();
583 let value = match apikey.prefix {
584 Some(ref prefix) => format!("{} {}", prefix, key),
585 None => key,
586 };
587 req_builder = req_builder.header("CSRFPreventionToken", value);
588 };
589 req_builder = req_builder.json(&p_body_cluster_firewall_create_ipset_request);
590
591 let req = req_builder.build()?;
592 let resp = configuration.client.execute(req).await?;
593
594 let status = resp.status();
595 let content_type = resp
596 .headers()
597 .get("content-type")
598 .and_then(|v| v.to_str().ok())
599 .unwrap_or("application/octet-stream");
600 let content_type = super::ContentType::from(content_type);
601
602 if !status.is_client_error() && !status.is_server_error() {
603 let content = resp.text().await?;
604 match content_type {
605 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
606 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateIpsetResponse`"))),
607 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::ClusterFirewallCreateIpsetResponse`")))),
608 }
609 } else {
610 let content = resp.text().await?;
611 let entity: Option<ClusterFirewallCreateIpsetError> = serde_json::from_str(&content).ok();
612 Err(Error::ResponseError(ResponseContent { status, content, entity }))
613 }
614}
615
616pub async fn cluster_firewall_create_rule(configuration: &configuration::Configuration, group: &str, cluster_firewall_create_rule_request: models::ClusterFirewallCreateRuleRequest) -> Result<models::ClusterFirewallCreateRuleResponse, Error<ClusterFirewallCreateRuleError>> {
618 let p_path_group = group;
620 let p_body_cluster_firewall_create_rule_request = cluster_firewall_create_rule_request;
621
622 let uri_str = format!("{}/cluster/firewall/groups/{group}", configuration.base_path, group=crate::apis::urlencode(p_path_group));
623 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
624
625 if let Some(ref user_agent) = configuration.user_agent {
626 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
627 }
628 if let Some(ref apikey) = configuration.api_key {
629 let key = apikey.key.clone();
630 let value = match apikey.prefix {
631 Some(ref prefix) => format!("{} {}", prefix, key),
632 None => key,
633 };
634 req_builder = req_builder.header("Authorization", value);
635 };
636 if let Some(ref apikey) = configuration.api_key {
637 let key = apikey.key.clone();
638 let value = match apikey.prefix {
639 Some(ref prefix) => format!("{} {}", prefix, key),
640 None => key,
641 };
642 req_builder = req_builder.header("CSRFPreventionToken", value);
643 };
644 req_builder = req_builder.json(&p_body_cluster_firewall_create_rule_request);
645
646 let req = req_builder.build()?;
647 let resp = configuration.client.execute(req).await?;
648
649 let status = resp.status();
650 let content_type = resp
651 .headers()
652 .get("content-type")
653 .and_then(|v| v.to_str().ok())
654 .unwrap_or("application/octet-stream");
655 let content_type = super::ContentType::from(content_type);
656
657 if !status.is_client_error() && !status.is_server_error() {
658 let content = resp.text().await?;
659 match content_type {
660 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
661 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateRuleResponse`"))),
662 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::ClusterFirewallCreateRuleResponse`")))),
663 }
664 } else {
665 let content = resp.text().await?;
666 let entity: Option<ClusterFirewallCreateRuleError> = serde_json::from_str(&content).ok();
667 Err(Error::ResponseError(ResponseContent { status, content, entity }))
668 }
669}
670
671pub async fn cluster_firewall_create_rules(configuration: &configuration::Configuration, cluster_firewall_create_rule_request: models::ClusterFirewallCreateRuleRequest) -> Result<models::ClusterFirewallCreateRulesResponse, Error<ClusterFirewallCreateRulesError>> {
673 let p_body_cluster_firewall_create_rule_request = cluster_firewall_create_rule_request;
675
676 let uri_str = format!("{}/cluster/firewall/rules", configuration.base_path);
677 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
678
679 if let Some(ref user_agent) = configuration.user_agent {
680 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
681 }
682 if let Some(ref apikey) = configuration.api_key {
683 let key = apikey.key.clone();
684 let value = match apikey.prefix {
685 Some(ref prefix) => format!("{} {}", prefix, key),
686 None => key,
687 };
688 req_builder = req_builder.header("Authorization", value);
689 };
690 if let Some(ref apikey) = configuration.api_key {
691 let key = apikey.key.clone();
692 let value = match apikey.prefix {
693 Some(ref prefix) => format!("{} {}", prefix, key),
694 None => key,
695 };
696 req_builder = req_builder.header("CSRFPreventionToken", value);
697 };
698 req_builder = req_builder.json(&p_body_cluster_firewall_create_rule_request);
699
700 let req = req_builder.build()?;
701 let resp = configuration.client.execute(req).await?;
702
703 let status = resp.status();
704 let content_type = resp
705 .headers()
706 .get("content-type")
707 .and_then(|v| v.to_str().ok())
708 .unwrap_or("application/octet-stream");
709 let content_type = super::ContentType::from(content_type);
710
711 if !status.is_client_error() && !status.is_server_error() {
712 let content = resp.text().await?;
713 match content_type {
714 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
715 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateRulesResponse`"))),
716 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::ClusterFirewallCreateRulesResponse`")))),
717 }
718 } else {
719 let content = resp.text().await?;
720 let entity: Option<ClusterFirewallCreateRulesError> = serde_json::from_str(&content).ok();
721 Err(Error::ResponseError(ResponseContent { status, content, entity }))
722 }
723}
724
725pub async fn cluster_firewall_create_security_group(configuration: &configuration::Configuration, cluster_firewall_create_security_group_request: models::ClusterFirewallCreateSecurityGroupRequest) -> Result<models::ClusterFirewallCreateSecurityGroupResponse, Error<ClusterFirewallCreateSecurityGroupError>> {
727 let p_body_cluster_firewall_create_security_group_request = cluster_firewall_create_security_group_request;
729
730 let uri_str = format!("{}/cluster/firewall/groups", configuration.base_path);
731 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
732
733 if let Some(ref user_agent) = configuration.user_agent {
734 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
735 }
736 if let Some(ref apikey) = configuration.api_key {
737 let key = apikey.key.clone();
738 let value = match apikey.prefix {
739 Some(ref prefix) => format!("{} {}", prefix, key),
740 None => key,
741 };
742 req_builder = req_builder.header("Authorization", value);
743 };
744 if let Some(ref apikey) = configuration.api_key {
745 let key = apikey.key.clone();
746 let value = match apikey.prefix {
747 Some(ref prefix) => format!("{} {}", prefix, key),
748 None => key,
749 };
750 req_builder = req_builder.header("CSRFPreventionToken", value);
751 };
752 req_builder = req_builder.json(&p_body_cluster_firewall_create_security_group_request);
753
754 let req = req_builder.build()?;
755 let resp = configuration.client.execute(req).await?;
756
757 let status = resp.status();
758 let content_type = resp
759 .headers()
760 .get("content-type")
761 .and_then(|v| v.to_str().ok())
762 .unwrap_or("application/octet-stream");
763 let content_type = super::ContentType::from(content_type);
764
765 if !status.is_client_error() && !status.is_server_error() {
766 let content = resp.text().await?;
767 match content_type {
768 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
769 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallCreateSecurityGroupResponse`"))),
770 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::ClusterFirewallCreateSecurityGroupResponse`")))),
771 }
772 } else {
773 let content = resp.text().await?;
774 let entity: Option<ClusterFirewallCreateSecurityGroupError> = serde_json::from_str(&content).ok();
775 Err(Error::ResponseError(ResponseContent { status, content, entity }))
776 }
777}
778
779pub async fn cluster_firewall_delete_ipset(configuration: &configuration::Configuration, name: &str, force: Option<&str>) -> Result<models::ClusterFirewallDeleteIpsetResponse, Error<ClusterFirewallDeleteIpsetError>> {
781 let p_path_name = name;
783 let p_query_force = force;
784
785 let uri_str = format!("{}/cluster/firewall/ipset/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
786 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
787
788 if let Some(ref param_value) = p_query_force {
789 req_builder = req_builder.query(&[("force", ¶m_value.to_string())]);
790 }
791 if let Some(ref user_agent) = configuration.user_agent {
792 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
793 }
794 if let Some(ref apikey) = configuration.api_key {
795 let key = apikey.key.clone();
796 let value = match apikey.prefix {
797 Some(ref prefix) => format!("{} {}", prefix, key),
798 None => key,
799 };
800 req_builder = req_builder.header("Authorization", value);
801 };
802 if let Some(ref apikey) = configuration.api_key {
803 let key = apikey.key.clone();
804 let value = match apikey.prefix {
805 Some(ref prefix) => format!("{} {}", prefix, key),
806 None => key,
807 };
808 req_builder = req_builder.header("CSRFPreventionToken", value);
809 };
810
811 let req = req_builder.build()?;
812 let resp = configuration.client.execute(req).await?;
813
814 let status = resp.status();
815 let content_type = resp
816 .headers()
817 .get("content-type")
818 .and_then(|v| v.to_str().ok())
819 .unwrap_or("application/octet-stream");
820 let content_type = super::ContentType::from(content_type);
821
822 if !status.is_client_error() && !status.is_server_error() {
823 let content = resp.text().await?;
824 match content_type {
825 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
826 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallDeleteIpsetResponse`"))),
827 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::ClusterFirewallDeleteIpsetResponse`")))),
828 }
829 } else {
830 let content = resp.text().await?;
831 let entity: Option<ClusterFirewallDeleteIpsetError> = serde_json::from_str(&content).ok();
832 Err(Error::ResponseError(ResponseContent { status, content, entity }))
833 }
834}
835
836pub async fn cluster_firewall_delete_rule(configuration: &configuration::Configuration, group: &str, pos: i64, digest: Option<&str>) -> Result<models::ClusterFirewallDeleteRuleResponse, Error<ClusterFirewallDeleteRuleError>> {
838 let p_path_group = group;
840 let p_path_pos = pos;
841 let p_query_digest = digest;
842
843 let uri_str = format!("{}/cluster/firewall/groups/{group}/{pos}", configuration.base_path, group=crate::apis::urlencode(p_path_group), pos=p_path_pos);
844 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
845
846 if let Some(ref param_value) = p_query_digest {
847 req_builder = req_builder.query(&[("digest", ¶m_value.to_string())]);
848 }
849 if let Some(ref user_agent) = configuration.user_agent {
850 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
851 }
852 if let Some(ref apikey) = configuration.api_key {
853 let key = apikey.key.clone();
854 let value = match apikey.prefix {
855 Some(ref prefix) => format!("{} {}", prefix, key),
856 None => key,
857 };
858 req_builder = req_builder.header("Authorization", value);
859 };
860 if let Some(ref apikey) = configuration.api_key {
861 let key = apikey.key.clone();
862 let value = match apikey.prefix {
863 Some(ref prefix) => format!("{} {}", prefix, key),
864 None => key,
865 };
866 req_builder = req_builder.header("CSRFPreventionToken", value);
867 };
868
869 let req = req_builder.build()?;
870 let resp = configuration.client.execute(req).await?;
871
872 let status = resp.status();
873 let content_type = resp
874 .headers()
875 .get("content-type")
876 .and_then(|v| v.to_str().ok())
877 .unwrap_or("application/octet-stream");
878 let content_type = super::ContentType::from(content_type);
879
880 if !status.is_client_error() && !status.is_server_error() {
881 let content = resp.text().await?;
882 match content_type {
883 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
884 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallDeleteRuleResponse`"))),
885 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::ClusterFirewallDeleteRuleResponse`")))),
886 }
887 } else {
888 let content = resp.text().await?;
889 let entity: Option<ClusterFirewallDeleteRuleError> = serde_json::from_str(&content).ok();
890 Err(Error::ResponseError(ResponseContent { status, content, entity }))
891 }
892}
893
894pub async fn cluster_firewall_delete_rules(configuration: &configuration::Configuration, pos: i64, digest: Option<&str>) -> Result<models::ClusterFirewallDeleteRulesResponse, Error<ClusterFirewallDeleteRulesError>> {
896 let p_path_pos = pos;
898 let p_query_digest = digest;
899
900 let uri_str = format!("{}/cluster/firewall/rules/{pos}", configuration.base_path, pos=p_path_pos);
901 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
902
903 if let Some(ref param_value) = p_query_digest {
904 req_builder = req_builder.query(&[("digest", ¶m_value.to_string())]);
905 }
906 if let Some(ref user_agent) = configuration.user_agent {
907 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
908 }
909 if let Some(ref apikey) = configuration.api_key {
910 let key = apikey.key.clone();
911 let value = match apikey.prefix {
912 Some(ref prefix) => format!("{} {}", prefix, key),
913 None => key,
914 };
915 req_builder = req_builder.header("Authorization", value);
916 };
917 if let Some(ref apikey) = configuration.api_key {
918 let key = apikey.key.clone();
919 let value = match apikey.prefix {
920 Some(ref prefix) => format!("{} {}", prefix, key),
921 None => key,
922 };
923 req_builder = req_builder.header("CSRFPreventionToken", value);
924 };
925
926 let req = req_builder.build()?;
927 let resp = configuration.client.execute(req).await?;
928
929 let status = resp.status();
930 let content_type = resp
931 .headers()
932 .get("content-type")
933 .and_then(|v| v.to_str().ok())
934 .unwrap_or("application/octet-stream");
935 let content_type = super::ContentType::from(content_type);
936
937 if !status.is_client_error() && !status.is_server_error() {
938 let content = resp.text().await?;
939 match content_type {
940 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
941 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallDeleteRulesResponse`"))),
942 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::ClusterFirewallDeleteRulesResponse`")))),
943 }
944 } else {
945 let content = resp.text().await?;
946 let entity: Option<ClusterFirewallDeleteRulesError> = serde_json::from_str(&content).ok();
947 Err(Error::ResponseError(ResponseContent { status, content, entity }))
948 }
949}
950
951pub async fn cluster_firewall_delete_security_group(configuration: &configuration::Configuration, group: &str) -> Result<models::ClusterFirewallDeleteSecurityGroupResponse, Error<ClusterFirewallDeleteSecurityGroupError>> {
953 let p_path_group = group;
955
956 let uri_str = format!("{}/cluster/firewall/groups/{group}", configuration.base_path, group=crate::apis::urlencode(p_path_group));
957 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
958
959 if let Some(ref user_agent) = configuration.user_agent {
960 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
961 }
962 if let Some(ref apikey) = configuration.api_key {
963 let key = apikey.key.clone();
964 let value = match apikey.prefix {
965 Some(ref prefix) => format!("{} {}", prefix, key),
966 None => key,
967 };
968 req_builder = req_builder.header("Authorization", value);
969 };
970 if let Some(ref apikey) = configuration.api_key {
971 let key = apikey.key.clone();
972 let value = match apikey.prefix {
973 Some(ref prefix) => format!("{} {}", prefix, key),
974 None => key,
975 };
976 req_builder = req_builder.header("CSRFPreventionToken", value);
977 };
978
979 let req = req_builder.build()?;
980 let resp = configuration.client.execute(req).await?;
981
982 let status = resp.status();
983 let content_type = resp
984 .headers()
985 .get("content-type")
986 .and_then(|v| v.to_str().ok())
987 .unwrap_or("application/octet-stream");
988 let content_type = super::ContentType::from(content_type);
989
990 if !status.is_client_error() && !status.is_server_error() {
991 let content = resp.text().await?;
992 match content_type {
993 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
994 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallDeleteSecurityGroupResponse`"))),
995 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::ClusterFirewallDeleteSecurityGroupResponse`")))),
996 }
997 } else {
998 let content = resp.text().await?;
999 let entity: Option<ClusterFirewallDeleteSecurityGroupError> = serde_json::from_str(&content).ok();
1000 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1001 }
1002}
1003
1004pub async fn cluster_firewall_get_aliases(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallGetAliasesResponse, Error<ClusterFirewallGetAliasesError>> {
1006
1007 let uri_str = format!("{}/cluster/firewall/aliases", configuration.base_path);
1008 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1009
1010 if let Some(ref user_agent) = configuration.user_agent {
1011 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1012 }
1013 if let Some(ref apikey) = configuration.api_key {
1014 let key = apikey.key.clone();
1015 let value = match apikey.prefix {
1016 Some(ref prefix) => format!("{} {}", prefix, key),
1017 None => key,
1018 };
1019 req_builder = req_builder.header("Authorization", value);
1020 };
1021 if let Some(ref apikey) = configuration.api_key {
1022 let key = apikey.key.clone();
1023 let value = match apikey.prefix {
1024 Some(ref prefix) => format!("{} {}", prefix, key),
1025 None => key,
1026 };
1027 req_builder = req_builder.header("CSRFPreventionToken", value);
1028 };
1029
1030 let req = req_builder.build()?;
1031 let resp = configuration.client.execute(req).await?;
1032
1033 let status = resp.status();
1034 let content_type = resp
1035 .headers()
1036 .get("content-type")
1037 .and_then(|v| v.to_str().ok())
1038 .unwrap_or("application/octet-stream");
1039 let content_type = super::ContentType::from(content_type);
1040
1041 if !status.is_client_error() && !status.is_server_error() {
1042 let content = resp.text().await?;
1043 match content_type {
1044 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1045 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetAliasesResponse`"))),
1046 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::ClusterFirewallGetAliasesResponse`")))),
1047 }
1048 } else {
1049 let content = resp.text().await?;
1050 let entity: Option<ClusterFirewallGetAliasesError> = serde_json::from_str(&content).ok();
1051 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1052 }
1053}
1054
1055pub async fn cluster_firewall_get_firewall(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallGetFirewallResponse, Error<ClusterFirewallGetFirewallError>> {
1057
1058 let uri_str = format!("{}/cluster/firewall", configuration.base_path);
1059 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1060
1061 if let Some(ref user_agent) = configuration.user_agent {
1062 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1063 }
1064 if let Some(ref apikey) = configuration.api_key {
1065 let key = apikey.key.clone();
1066 let value = match apikey.prefix {
1067 Some(ref prefix) => format!("{} {}", prefix, key),
1068 None => key,
1069 };
1070 req_builder = req_builder.header("Authorization", value);
1071 };
1072 if let Some(ref apikey) = configuration.api_key {
1073 let key = apikey.key.clone();
1074 let value = match apikey.prefix {
1075 Some(ref prefix) => format!("{} {}", prefix, key),
1076 None => key,
1077 };
1078 req_builder = req_builder.header("CSRFPreventionToken", value);
1079 };
1080
1081 let req = req_builder.build()?;
1082 let resp = configuration.client.execute(req).await?;
1083
1084 let status = resp.status();
1085 let content_type = resp
1086 .headers()
1087 .get("content-type")
1088 .and_then(|v| v.to_str().ok())
1089 .unwrap_or("application/octet-stream");
1090 let content_type = super::ContentType::from(content_type);
1091
1092 if !status.is_client_error() && !status.is_server_error() {
1093 let content = resp.text().await?;
1094 match content_type {
1095 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1096 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetFirewallResponse`"))),
1097 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::ClusterFirewallGetFirewallResponse`")))),
1098 }
1099 } else {
1100 let content = resp.text().await?;
1101 let entity: Option<ClusterFirewallGetFirewallError> = serde_json::from_str(&content).ok();
1102 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1103 }
1104}
1105
1106pub async fn cluster_firewall_get_ipset(configuration: &configuration::Configuration, name: &str) -> Result<models::ClusterFirewallGetIpsetResponse, Error<ClusterFirewallGetIpsetError>> {
1108 let p_path_name = name;
1110
1111 let uri_str = format!("{}/cluster/firewall/ipset/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
1112 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1113
1114 if let Some(ref user_agent) = configuration.user_agent {
1115 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1116 }
1117 if let Some(ref apikey) = configuration.api_key {
1118 let key = apikey.key.clone();
1119 let value = match apikey.prefix {
1120 Some(ref prefix) => format!("{} {}", prefix, key),
1121 None => key,
1122 };
1123 req_builder = req_builder.header("Authorization", value);
1124 };
1125 if let Some(ref apikey) = configuration.api_key {
1126 let key = apikey.key.clone();
1127 let value = match apikey.prefix {
1128 Some(ref prefix) => format!("{} {}", prefix, key),
1129 None => key,
1130 };
1131 req_builder = req_builder.header("CSRFPreventionToken", value);
1132 };
1133
1134 let req = req_builder.build()?;
1135 let resp = configuration.client.execute(req).await?;
1136
1137 let status = resp.status();
1138 let content_type = resp
1139 .headers()
1140 .get("content-type")
1141 .and_then(|v| v.to_str().ok())
1142 .unwrap_or("application/octet-stream");
1143 let content_type = super::ContentType::from(content_type);
1144
1145 if !status.is_client_error() && !status.is_server_error() {
1146 let content = resp.text().await?;
1147 match content_type {
1148 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1149 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetIpsetResponse`"))),
1150 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::ClusterFirewallGetIpsetResponse`")))),
1151 }
1152 } else {
1153 let content = resp.text().await?;
1154 let entity: Option<ClusterFirewallGetIpsetError> = serde_json::from_str(&content).ok();
1155 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1156 }
1157}
1158
1159pub async fn cluster_firewall_get_macros(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallGetMacrosResponse, Error<ClusterFirewallGetMacrosError>> {
1161
1162 let uri_str = format!("{}/cluster/firewall/macros", configuration.base_path);
1163 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1164
1165 if let Some(ref user_agent) = configuration.user_agent {
1166 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1167 }
1168 if let Some(ref apikey) = configuration.api_key {
1169 let key = apikey.key.clone();
1170 let value = match apikey.prefix {
1171 Some(ref prefix) => format!("{} {}", prefix, key),
1172 None => key,
1173 };
1174 req_builder = req_builder.header("Authorization", value);
1175 };
1176 if let Some(ref apikey) = configuration.api_key {
1177 let key = apikey.key.clone();
1178 let value = match apikey.prefix {
1179 Some(ref prefix) => format!("{} {}", prefix, key),
1180 None => key,
1181 };
1182 req_builder = req_builder.header("CSRFPreventionToken", value);
1183 };
1184
1185 let req = req_builder.build()?;
1186 let resp = configuration.client.execute(req).await?;
1187
1188 let status = resp.status();
1189 let content_type = resp
1190 .headers()
1191 .get("content-type")
1192 .and_then(|v| v.to_str().ok())
1193 .unwrap_or("application/octet-stream");
1194 let content_type = super::ContentType::from(content_type);
1195
1196 if !status.is_client_error() && !status.is_server_error() {
1197 let content = resp.text().await?;
1198 match content_type {
1199 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1200 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetMacrosResponse`"))),
1201 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::ClusterFirewallGetMacrosResponse`")))),
1202 }
1203 } else {
1204 let content = resp.text().await?;
1205 let entity: Option<ClusterFirewallGetMacrosError> = serde_json::from_str(&content).ok();
1206 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1207 }
1208}
1209
1210pub async fn cluster_firewall_get_options(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallGetOptionsResponse, Error<ClusterFirewallGetOptionsError>> {
1212
1213 let uri_str = format!("{}/cluster/firewall/options", configuration.base_path);
1214 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1215
1216 if let Some(ref user_agent) = configuration.user_agent {
1217 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1218 }
1219 if let Some(ref apikey) = configuration.api_key {
1220 let key = apikey.key.clone();
1221 let value = match apikey.prefix {
1222 Some(ref prefix) => format!("{} {}", prefix, key),
1223 None => key,
1224 };
1225 req_builder = req_builder.header("Authorization", value);
1226 };
1227 if let Some(ref apikey) = configuration.api_key {
1228 let key = apikey.key.clone();
1229 let value = match apikey.prefix {
1230 Some(ref prefix) => format!("{} {}", prefix, key),
1231 None => key,
1232 };
1233 req_builder = req_builder.header("CSRFPreventionToken", value);
1234 };
1235
1236 let req = req_builder.build()?;
1237 let resp = configuration.client.execute(req).await?;
1238
1239 let status = resp.status();
1240 let content_type = resp
1241 .headers()
1242 .get("content-type")
1243 .and_then(|v| v.to_str().ok())
1244 .unwrap_or("application/octet-stream");
1245 let content_type = super::ContentType::from(content_type);
1246
1247 if !status.is_client_error() && !status.is_server_error() {
1248 let content = resp.text().await?;
1249 match content_type {
1250 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1251 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetOptionsResponse`"))),
1252 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::ClusterFirewallGetOptionsResponse`")))),
1253 }
1254 } else {
1255 let content = resp.text().await?;
1256 let entity: Option<ClusterFirewallGetOptionsError> = serde_json::from_str(&content).ok();
1257 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1258 }
1259}
1260
1261pub async fn cluster_firewall_get_rule(configuration: &configuration::Configuration, group: &str, pos: i64) -> Result<models::ClusterFirewallGetRuleResponse, Error<ClusterFirewallGetRuleError>> {
1263 let p_path_group = group;
1265 let p_path_pos = pos;
1266
1267 let uri_str = format!("{}/cluster/firewall/groups/{group}/{pos}", configuration.base_path, group=crate::apis::urlencode(p_path_group), pos=p_path_pos);
1268 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1269
1270 if let Some(ref user_agent) = configuration.user_agent {
1271 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1272 }
1273 if let Some(ref apikey) = configuration.api_key {
1274 let key = apikey.key.clone();
1275 let value = match apikey.prefix {
1276 Some(ref prefix) => format!("{} {}", prefix, key),
1277 None => key,
1278 };
1279 req_builder = req_builder.header("Authorization", value);
1280 };
1281 if let Some(ref apikey) = configuration.api_key {
1282 let key = apikey.key.clone();
1283 let value = match apikey.prefix {
1284 Some(ref prefix) => format!("{} {}", prefix, key),
1285 None => key,
1286 };
1287 req_builder = req_builder.header("CSRFPreventionToken", value);
1288 };
1289
1290 let req = req_builder.build()?;
1291 let resp = configuration.client.execute(req).await?;
1292
1293 let status = resp.status();
1294 let content_type = resp
1295 .headers()
1296 .get("content-type")
1297 .and_then(|v| v.to_str().ok())
1298 .unwrap_or("application/octet-stream");
1299 let content_type = super::ContentType::from(content_type);
1300
1301 if !status.is_client_error() && !status.is_server_error() {
1302 let content = resp.text().await?;
1303 match content_type {
1304 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1305 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetRuleResponse`"))),
1306 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::ClusterFirewallGetRuleResponse`")))),
1307 }
1308 } else {
1309 let content = resp.text().await?;
1310 let entity: Option<ClusterFirewallGetRuleError> = serde_json::from_str(&content).ok();
1311 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1312 }
1313}
1314
1315pub async fn cluster_firewall_get_rule_get_rules(configuration: &configuration::Configuration, pos: i64) -> Result<models::ClusterFirewallGetRuleGetRulesResponse, Error<ClusterFirewallGetRuleGetRulesError>> {
1317 let p_path_pos = pos;
1319
1320 let uri_str = format!("{}/cluster/firewall/rules/{pos}", configuration.base_path, pos=p_path_pos);
1321 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1322
1323 if let Some(ref user_agent) = configuration.user_agent {
1324 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1325 }
1326 if let Some(ref apikey) = configuration.api_key {
1327 let key = apikey.key.clone();
1328 let value = match apikey.prefix {
1329 Some(ref prefix) => format!("{} {}", prefix, key),
1330 None => key,
1331 };
1332 req_builder = req_builder.header("Authorization", value);
1333 };
1334 if let Some(ref apikey) = configuration.api_key {
1335 let key = apikey.key.clone();
1336 let value = match apikey.prefix {
1337 Some(ref prefix) => format!("{} {}", prefix, key),
1338 None => key,
1339 };
1340 req_builder = req_builder.header("CSRFPreventionToken", value);
1341 };
1342
1343 let req = req_builder.build()?;
1344 let resp = configuration.client.execute(req).await?;
1345
1346 let status = resp.status();
1347 let content_type = resp
1348 .headers()
1349 .get("content-type")
1350 .and_then(|v| v.to_str().ok())
1351 .unwrap_or("application/octet-stream");
1352 let content_type = super::ContentType::from(content_type);
1353
1354 if !status.is_client_error() && !status.is_server_error() {
1355 let content = resp.text().await?;
1356 match content_type {
1357 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1358 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetRuleGetRulesResponse`"))),
1359 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::ClusterFirewallGetRuleGetRulesResponse`")))),
1360 }
1361 } else {
1362 let content = resp.text().await?;
1363 let entity: Option<ClusterFirewallGetRuleGetRulesError> = serde_json::from_str(&content).ok();
1364 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1365 }
1366}
1367
1368pub async fn cluster_firewall_get_rules(configuration: &configuration::Configuration, group: &str) -> Result<models::ClusterFirewallGetRulesResponse, Error<ClusterFirewallGetRulesError>> {
1370 let p_path_group = group;
1372
1373 let uri_str = format!("{}/cluster/firewall/groups/{group}", configuration.base_path, group=crate::apis::urlencode(p_path_group));
1374 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1375
1376 if let Some(ref user_agent) = configuration.user_agent {
1377 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1378 }
1379 if let Some(ref apikey) = configuration.api_key {
1380 let key = apikey.key.clone();
1381 let value = match apikey.prefix {
1382 Some(ref prefix) => format!("{} {}", prefix, key),
1383 None => key,
1384 };
1385 req_builder = req_builder.header("Authorization", value);
1386 };
1387 if let Some(ref apikey) = configuration.api_key {
1388 let key = apikey.key.clone();
1389 let value = match apikey.prefix {
1390 Some(ref prefix) => format!("{} {}", prefix, key),
1391 None => key,
1392 };
1393 req_builder = req_builder.header("CSRFPreventionToken", value);
1394 };
1395
1396 let req = req_builder.build()?;
1397 let resp = configuration.client.execute(req).await?;
1398
1399 let status = resp.status();
1400 let content_type = resp
1401 .headers()
1402 .get("content-type")
1403 .and_then(|v| v.to_str().ok())
1404 .unwrap_or("application/octet-stream");
1405 let content_type = super::ContentType::from(content_type);
1406
1407 if !status.is_client_error() && !status.is_server_error() {
1408 let content = resp.text().await?;
1409 match content_type {
1410 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1411 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetRulesResponse`"))),
1412 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::ClusterFirewallGetRulesResponse`")))),
1413 }
1414 } else {
1415 let content = resp.text().await?;
1416 let entity: Option<ClusterFirewallGetRulesError> = serde_json::from_str(&content).ok();
1417 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1418 }
1419}
1420
1421pub async fn cluster_firewall_get_rules_get_rules(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallGetRulesGetRulesResponse, Error<ClusterFirewallGetRulesGetRulesError>> {
1423
1424 let uri_str = format!("{}/cluster/firewall/rules", configuration.base_path);
1425 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1426
1427 if let Some(ref user_agent) = configuration.user_agent {
1428 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1429 }
1430 if let Some(ref apikey) = configuration.api_key {
1431 let key = apikey.key.clone();
1432 let value = match apikey.prefix {
1433 Some(ref prefix) => format!("{} {}", prefix, key),
1434 None => key,
1435 };
1436 req_builder = req_builder.header("Authorization", value);
1437 };
1438 if let Some(ref apikey) = configuration.api_key {
1439 let key = apikey.key.clone();
1440 let value = match apikey.prefix {
1441 Some(ref prefix) => format!("{} {}", prefix, key),
1442 None => key,
1443 };
1444 req_builder = req_builder.header("CSRFPreventionToken", value);
1445 };
1446
1447 let req = req_builder.build()?;
1448 let resp = configuration.client.execute(req).await?;
1449
1450 let status = resp.status();
1451 let content_type = resp
1452 .headers()
1453 .get("content-type")
1454 .and_then(|v| v.to_str().ok())
1455 .unwrap_or("application/octet-stream");
1456 let content_type = super::ContentType::from(content_type);
1457
1458 if !status.is_client_error() && !status.is_server_error() {
1459 let content = resp.text().await?;
1460 match content_type {
1461 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1462 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallGetRulesGetRulesResponse`"))),
1463 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::ClusterFirewallGetRulesGetRulesResponse`")))),
1464 }
1465 } else {
1466 let content = resp.text().await?;
1467 let entity: Option<ClusterFirewallGetRulesGetRulesError> = serde_json::from_str(&content).ok();
1468 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1469 }
1470}
1471
1472pub async fn cluster_firewall_ipset_index(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallIpsetIndexResponse, Error<ClusterFirewallIpsetIndexError>> {
1474
1475 let uri_str = format!("{}/cluster/firewall/ipset", configuration.base_path);
1476 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1477
1478 if let Some(ref user_agent) = configuration.user_agent {
1479 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1480 }
1481 if let Some(ref apikey) = configuration.api_key {
1482 let key = apikey.key.clone();
1483 let value = match apikey.prefix {
1484 Some(ref prefix) => format!("{} {}", prefix, key),
1485 None => key,
1486 };
1487 req_builder = req_builder.header("Authorization", value);
1488 };
1489 if let Some(ref apikey) = configuration.api_key {
1490 let key = apikey.key.clone();
1491 let value = match apikey.prefix {
1492 Some(ref prefix) => format!("{} {}", prefix, key),
1493 None => key,
1494 };
1495 req_builder = req_builder.header("CSRFPreventionToken", value);
1496 };
1497
1498 let req = req_builder.build()?;
1499 let resp = configuration.client.execute(req).await?;
1500
1501 let status = resp.status();
1502 let content_type = resp
1503 .headers()
1504 .get("content-type")
1505 .and_then(|v| v.to_str().ok())
1506 .unwrap_or("application/octet-stream");
1507 let content_type = super::ContentType::from(content_type);
1508
1509 if !status.is_client_error() && !status.is_server_error() {
1510 let content = resp.text().await?;
1511 match content_type {
1512 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1513 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallIpsetIndexResponse`"))),
1514 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::ClusterFirewallIpsetIndexResponse`")))),
1515 }
1516 } else {
1517 let content = resp.text().await?;
1518 let entity: Option<ClusterFirewallIpsetIndexError> = serde_json::from_str(&content).ok();
1519 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1520 }
1521}
1522
1523pub async fn cluster_firewall_list_security_groups(configuration: &configuration::Configuration, ) -> Result<models::ClusterFirewallListSecurityGroupsResponse, Error<ClusterFirewallListSecurityGroupsError>> {
1525
1526 let uri_str = format!("{}/cluster/firewall/groups", configuration.base_path);
1527 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1528
1529 if let Some(ref user_agent) = configuration.user_agent {
1530 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1531 }
1532 if let Some(ref apikey) = configuration.api_key {
1533 let key = apikey.key.clone();
1534 let value = match apikey.prefix {
1535 Some(ref prefix) => format!("{} {}", prefix, key),
1536 None => key,
1537 };
1538 req_builder = req_builder.header("Authorization", value);
1539 };
1540 if let Some(ref apikey) = configuration.api_key {
1541 let key = apikey.key.clone();
1542 let value = match apikey.prefix {
1543 Some(ref prefix) => format!("{} {}", prefix, key),
1544 None => key,
1545 };
1546 req_builder = req_builder.header("CSRFPreventionToken", value);
1547 };
1548
1549 let req = req_builder.build()?;
1550 let resp = configuration.client.execute(req).await?;
1551
1552 let status = resp.status();
1553 let content_type = resp
1554 .headers()
1555 .get("content-type")
1556 .and_then(|v| v.to_str().ok())
1557 .unwrap_or("application/octet-stream");
1558 let content_type = super::ContentType::from(content_type);
1559
1560 if !status.is_client_error() && !status.is_server_error() {
1561 let content = resp.text().await?;
1562 match content_type {
1563 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1564 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallListSecurityGroupsResponse`"))),
1565 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::ClusterFirewallListSecurityGroupsResponse`")))),
1566 }
1567 } else {
1568 let content = resp.text().await?;
1569 let entity: Option<ClusterFirewallListSecurityGroupsError> = serde_json::from_str(&content).ok();
1570 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1571 }
1572}
1573
1574pub async fn cluster_firewall_read_alias(configuration: &configuration::Configuration, name: &str) -> Result<models::ClusterFirewallReadAliasResponse, Error<ClusterFirewallReadAliasError>> {
1576 let p_path_name = name;
1578
1579 let uri_str = format!("{}/cluster/firewall/aliases/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
1580 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1581
1582 if let Some(ref user_agent) = configuration.user_agent {
1583 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1584 }
1585 if let Some(ref apikey) = configuration.api_key {
1586 let key = apikey.key.clone();
1587 let value = match apikey.prefix {
1588 Some(ref prefix) => format!("{} {}", prefix, key),
1589 None => key,
1590 };
1591 req_builder = req_builder.header("Authorization", value);
1592 };
1593 if let Some(ref apikey) = configuration.api_key {
1594 let key = apikey.key.clone();
1595 let value = match apikey.prefix {
1596 Some(ref prefix) => format!("{} {}", prefix, key),
1597 None => key,
1598 };
1599 req_builder = req_builder.header("CSRFPreventionToken", value);
1600 };
1601
1602 let req = req_builder.build()?;
1603 let resp = configuration.client.execute(req).await?;
1604
1605 let status = resp.status();
1606 let content_type = resp
1607 .headers()
1608 .get("content-type")
1609 .and_then(|v| v.to_str().ok())
1610 .unwrap_or("application/octet-stream");
1611 let content_type = super::ContentType::from(content_type);
1612
1613 if !status.is_client_error() && !status.is_server_error() {
1614 let content = resp.text().await?;
1615 match content_type {
1616 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1617 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallReadAliasResponse`"))),
1618 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::ClusterFirewallReadAliasResponse`")))),
1619 }
1620 } else {
1621 let content = resp.text().await?;
1622 let entity: Option<ClusterFirewallReadAliasError> = serde_json::from_str(&content).ok();
1623 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1624 }
1625}
1626
1627pub async fn cluster_firewall_read_ip(configuration: &configuration::Configuration, cidr: &str, name: &str) -> Result<models::ClusterFirewallReadIpResponse, Error<ClusterFirewallReadIpError>> {
1629 let p_path_cidr = cidr;
1631 let p_path_name = name;
1632
1633 let uri_str = format!("{}/cluster/firewall/ipset/{name}/{cidr}", configuration.base_path, cidr=crate::apis::urlencode(p_path_cidr), name=crate::apis::urlencode(p_path_name));
1634 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1635
1636 if let Some(ref user_agent) = configuration.user_agent {
1637 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1638 }
1639 if let Some(ref apikey) = configuration.api_key {
1640 let key = apikey.key.clone();
1641 let value = match apikey.prefix {
1642 Some(ref prefix) => format!("{} {}", prefix, key),
1643 None => key,
1644 };
1645 req_builder = req_builder.header("Authorization", value);
1646 };
1647 if let Some(ref apikey) = configuration.api_key {
1648 let key = apikey.key.clone();
1649 let value = match apikey.prefix {
1650 Some(ref prefix) => format!("{} {}", prefix, key),
1651 None => key,
1652 };
1653 req_builder = req_builder.header("CSRFPreventionToken", value);
1654 };
1655
1656 let req = req_builder.build()?;
1657 let resp = configuration.client.execute(req).await?;
1658
1659 let status = resp.status();
1660 let content_type = resp
1661 .headers()
1662 .get("content-type")
1663 .and_then(|v| v.to_str().ok())
1664 .unwrap_or("application/octet-stream");
1665 let content_type = super::ContentType::from(content_type);
1666
1667 if !status.is_client_error() && !status.is_server_error() {
1668 let content = resp.text().await?;
1669 match content_type {
1670 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1671 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallReadIpResponse`"))),
1672 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::ClusterFirewallReadIpResponse`")))),
1673 }
1674 } else {
1675 let content = resp.text().await?;
1676 let entity: Option<ClusterFirewallReadIpError> = serde_json::from_str(&content).ok();
1677 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1678 }
1679}
1680
1681pub async fn cluster_firewall_refs(configuration: &configuration::Configuration, r#type: Option<models::PveTypeTypeEnum>) -> Result<models::ClusterFirewallRefsResponse, Error<ClusterFirewallRefsError>> {
1683 let p_query_type = r#type;
1685
1686 let uri_str = format!("{}/cluster/firewall/refs", configuration.base_path);
1687 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
1688
1689 if let Some(ref param_value) = p_query_type {
1690 req_builder = req_builder.query(&[("type", ¶m_value.to_string())]);
1691 }
1692 if let Some(ref user_agent) = configuration.user_agent {
1693 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1694 }
1695 if let Some(ref apikey) = configuration.api_key {
1696 let key = apikey.key.clone();
1697 let value = match apikey.prefix {
1698 Some(ref prefix) => format!("{} {}", prefix, key),
1699 None => key,
1700 };
1701 req_builder = req_builder.header("Authorization", value);
1702 };
1703 if let Some(ref apikey) = configuration.api_key {
1704 let key = apikey.key.clone();
1705 let value = match apikey.prefix {
1706 Some(ref prefix) => format!("{} {}", prefix, key),
1707 None => key,
1708 };
1709 req_builder = req_builder.header("CSRFPreventionToken", value);
1710 };
1711
1712 let req = req_builder.build()?;
1713 let resp = configuration.client.execute(req).await?;
1714
1715 let status = resp.status();
1716 let content_type = resp
1717 .headers()
1718 .get("content-type")
1719 .and_then(|v| v.to_str().ok())
1720 .unwrap_or("application/octet-stream");
1721 let content_type = super::ContentType::from(content_type);
1722
1723 if !status.is_client_error() && !status.is_server_error() {
1724 let content = resp.text().await?;
1725 match content_type {
1726 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1727 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallRefsResponse`"))),
1728 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::ClusterFirewallRefsResponse`")))),
1729 }
1730 } else {
1731 let content = resp.text().await?;
1732 let entity: Option<ClusterFirewallRefsError> = serde_json::from_str(&content).ok();
1733 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1734 }
1735}
1736
1737pub async fn cluster_firewall_remove_alias(configuration: &configuration::Configuration, name: &str, digest: Option<&str>) -> Result<models::ClusterFirewallRemoveAliasResponse, Error<ClusterFirewallRemoveAliasError>> {
1739 let p_path_name = name;
1741 let p_query_digest = digest;
1742
1743 let uri_str = format!("{}/cluster/firewall/aliases/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
1744 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
1745
1746 if let Some(ref param_value) = p_query_digest {
1747 req_builder = req_builder.query(&[("digest", ¶m_value.to_string())]);
1748 }
1749 if let Some(ref user_agent) = configuration.user_agent {
1750 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1751 }
1752 if let Some(ref apikey) = configuration.api_key {
1753 let key = apikey.key.clone();
1754 let value = match apikey.prefix {
1755 Some(ref prefix) => format!("{} {}", prefix, key),
1756 None => key,
1757 };
1758 req_builder = req_builder.header("Authorization", value);
1759 };
1760 if let Some(ref apikey) = configuration.api_key {
1761 let key = apikey.key.clone();
1762 let value = match apikey.prefix {
1763 Some(ref prefix) => format!("{} {}", prefix, key),
1764 None => key,
1765 };
1766 req_builder = req_builder.header("CSRFPreventionToken", value);
1767 };
1768
1769 let req = req_builder.build()?;
1770 let resp = configuration.client.execute(req).await?;
1771
1772 let status = resp.status();
1773 let content_type = resp
1774 .headers()
1775 .get("content-type")
1776 .and_then(|v| v.to_str().ok())
1777 .unwrap_or("application/octet-stream");
1778 let content_type = super::ContentType::from(content_type);
1779
1780 if !status.is_client_error() && !status.is_server_error() {
1781 let content = resp.text().await?;
1782 match content_type {
1783 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1784 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallRemoveAliasResponse`"))),
1785 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::ClusterFirewallRemoveAliasResponse`")))),
1786 }
1787 } else {
1788 let content = resp.text().await?;
1789 let entity: Option<ClusterFirewallRemoveAliasError> = serde_json::from_str(&content).ok();
1790 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1791 }
1792}
1793
1794pub async fn cluster_firewall_remove_ip(configuration: &configuration::Configuration, cidr: &str, name: &str, digest: Option<&str>) -> Result<models::ClusterFirewallRemoveIpResponse, Error<ClusterFirewallRemoveIpError>> {
1796 let p_path_cidr = cidr;
1798 let p_path_name = name;
1799 let p_query_digest = digest;
1800
1801 let uri_str = format!("{}/cluster/firewall/ipset/{name}/{cidr}", configuration.base_path, cidr=crate::apis::urlencode(p_path_cidr), name=crate::apis::urlencode(p_path_name));
1802 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
1803
1804 if let Some(ref param_value) = p_query_digest {
1805 req_builder = req_builder.query(&[("digest", ¶m_value.to_string())]);
1806 }
1807 if let Some(ref user_agent) = configuration.user_agent {
1808 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1809 }
1810 if let Some(ref apikey) = configuration.api_key {
1811 let key = apikey.key.clone();
1812 let value = match apikey.prefix {
1813 Some(ref prefix) => format!("{} {}", prefix, key),
1814 None => key,
1815 };
1816 req_builder = req_builder.header("Authorization", value);
1817 };
1818 if let Some(ref apikey) = configuration.api_key {
1819 let key = apikey.key.clone();
1820 let value = match apikey.prefix {
1821 Some(ref prefix) => format!("{} {}", prefix, key),
1822 None => key,
1823 };
1824 req_builder = req_builder.header("CSRFPreventionToken", value);
1825 };
1826
1827 let req = req_builder.build()?;
1828 let resp = configuration.client.execute(req).await?;
1829
1830 let status = resp.status();
1831 let content_type = resp
1832 .headers()
1833 .get("content-type")
1834 .and_then(|v| v.to_str().ok())
1835 .unwrap_or("application/octet-stream");
1836 let content_type = super::ContentType::from(content_type);
1837
1838 if !status.is_client_error() && !status.is_server_error() {
1839 let content = resp.text().await?;
1840 match content_type {
1841 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1842 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallRemoveIpResponse`"))),
1843 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::ClusterFirewallRemoveIpResponse`")))),
1844 }
1845 } else {
1846 let content = resp.text().await?;
1847 let entity: Option<ClusterFirewallRemoveIpError> = serde_json::from_str(&content).ok();
1848 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1849 }
1850}
1851
1852pub async fn cluster_firewall_set_options(configuration: &configuration::Configuration, cluster_firewall_set_options_request: Option<models::ClusterFirewallSetOptionsRequest>) -> Result<models::ClusterFirewallSetOptionsResponse, Error<ClusterFirewallSetOptionsError>> {
1854 let p_body_cluster_firewall_set_options_request = cluster_firewall_set_options_request;
1856
1857 let uri_str = format!("{}/cluster/firewall/options", configuration.base_path);
1858 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
1859
1860 if let Some(ref user_agent) = configuration.user_agent {
1861 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1862 }
1863 if let Some(ref apikey) = configuration.api_key {
1864 let key = apikey.key.clone();
1865 let value = match apikey.prefix {
1866 Some(ref prefix) => format!("{} {}", prefix, key),
1867 None => key,
1868 };
1869 req_builder = req_builder.header("Authorization", value);
1870 };
1871 if let Some(ref apikey) = configuration.api_key {
1872 let key = apikey.key.clone();
1873 let value = match apikey.prefix {
1874 Some(ref prefix) => format!("{} {}", prefix, key),
1875 None => key,
1876 };
1877 req_builder = req_builder.header("CSRFPreventionToken", value);
1878 };
1879 req_builder = req_builder.json(&p_body_cluster_firewall_set_options_request);
1880
1881 let req = req_builder.build()?;
1882 let resp = configuration.client.execute(req).await?;
1883
1884 let status = resp.status();
1885 let content_type = resp
1886 .headers()
1887 .get("content-type")
1888 .and_then(|v| v.to_str().ok())
1889 .unwrap_or("application/octet-stream");
1890 let content_type = super::ContentType::from(content_type);
1891
1892 if !status.is_client_error() && !status.is_server_error() {
1893 let content = resp.text().await?;
1894 match content_type {
1895 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1896 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallSetOptionsResponse`"))),
1897 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::ClusterFirewallSetOptionsResponse`")))),
1898 }
1899 } else {
1900 let content = resp.text().await?;
1901 let entity: Option<ClusterFirewallSetOptionsError> = serde_json::from_str(&content).ok();
1902 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1903 }
1904}
1905
1906pub async fn cluster_firewall_update_alias(configuration: &configuration::Configuration, name: &str, cluster_firewall_update_alias_request: models::ClusterFirewallUpdateAliasRequest) -> Result<models::ClusterFirewallUpdateAliasResponse, Error<ClusterFirewallUpdateAliasError>> {
1908 let p_path_name = name;
1910 let p_body_cluster_firewall_update_alias_request = cluster_firewall_update_alias_request;
1911
1912 let uri_str = format!("{}/cluster/firewall/aliases/{name}", configuration.base_path, name=crate::apis::urlencode(p_path_name));
1913 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
1914
1915 if let Some(ref user_agent) = configuration.user_agent {
1916 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1917 }
1918 if let Some(ref apikey) = configuration.api_key {
1919 let key = apikey.key.clone();
1920 let value = match apikey.prefix {
1921 Some(ref prefix) => format!("{} {}", prefix, key),
1922 None => key,
1923 };
1924 req_builder = req_builder.header("Authorization", value);
1925 };
1926 if let Some(ref apikey) = configuration.api_key {
1927 let key = apikey.key.clone();
1928 let value = match apikey.prefix {
1929 Some(ref prefix) => format!("{} {}", prefix, key),
1930 None => key,
1931 };
1932 req_builder = req_builder.header("CSRFPreventionToken", value);
1933 };
1934 req_builder = req_builder.json(&p_body_cluster_firewall_update_alias_request);
1935
1936 let req = req_builder.build()?;
1937 let resp = configuration.client.execute(req).await?;
1938
1939 let status = resp.status();
1940 let content_type = resp
1941 .headers()
1942 .get("content-type")
1943 .and_then(|v| v.to_str().ok())
1944 .unwrap_or("application/octet-stream");
1945 let content_type = super::ContentType::from(content_type);
1946
1947 if !status.is_client_error() && !status.is_server_error() {
1948 let content = resp.text().await?;
1949 match content_type {
1950 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
1951 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallUpdateAliasResponse`"))),
1952 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::ClusterFirewallUpdateAliasResponse`")))),
1953 }
1954 } else {
1955 let content = resp.text().await?;
1956 let entity: Option<ClusterFirewallUpdateAliasError> = serde_json::from_str(&content).ok();
1957 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1958 }
1959}
1960
1961pub async fn cluster_firewall_update_ip(configuration: &configuration::Configuration, cidr: &str, name: &str, cluster_firewall_update_ip_request: Option<models::ClusterFirewallUpdateIpRequest>) -> Result<models::ClusterFirewallUpdateIpResponse, Error<ClusterFirewallUpdateIpError>> {
1963 let p_path_cidr = cidr;
1965 let p_path_name = name;
1966 let p_body_cluster_firewall_update_ip_request = cluster_firewall_update_ip_request;
1967
1968 let uri_str = format!("{}/cluster/firewall/ipset/{name}/{cidr}", configuration.base_path, cidr=crate::apis::urlencode(p_path_cidr), name=crate::apis::urlencode(p_path_name));
1969 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
1970
1971 if let Some(ref user_agent) = configuration.user_agent {
1972 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1973 }
1974 if let Some(ref apikey) = configuration.api_key {
1975 let key = apikey.key.clone();
1976 let value = match apikey.prefix {
1977 Some(ref prefix) => format!("{} {}", prefix, key),
1978 None => key,
1979 };
1980 req_builder = req_builder.header("Authorization", value);
1981 };
1982 if let Some(ref apikey) = configuration.api_key {
1983 let key = apikey.key.clone();
1984 let value = match apikey.prefix {
1985 Some(ref prefix) => format!("{} {}", prefix, key),
1986 None => key,
1987 };
1988 req_builder = req_builder.header("CSRFPreventionToken", value);
1989 };
1990 req_builder = req_builder.json(&p_body_cluster_firewall_update_ip_request);
1991
1992 let req = req_builder.build()?;
1993 let resp = configuration.client.execute(req).await?;
1994
1995 let status = resp.status();
1996 let content_type = resp
1997 .headers()
1998 .get("content-type")
1999 .and_then(|v| v.to_str().ok())
2000 .unwrap_or("application/octet-stream");
2001 let content_type = super::ContentType::from(content_type);
2002
2003 if !status.is_client_error() && !status.is_server_error() {
2004 let content = resp.text().await?;
2005 match content_type {
2006 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2007 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallUpdateIpResponse`"))),
2008 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::ClusterFirewallUpdateIpResponse`")))),
2009 }
2010 } else {
2011 let content = resp.text().await?;
2012 let entity: Option<ClusterFirewallUpdateIpError> = serde_json::from_str(&content).ok();
2013 Err(Error::ResponseError(ResponseContent { status, content, entity }))
2014 }
2015}
2016
2017pub async fn cluster_firewall_update_rule(configuration: &configuration::Configuration, group: &str, pos: i64, cluster_firewall_update_rule_request: Option<models::ClusterFirewallUpdateRuleRequest>) -> Result<models::ClusterFirewallUpdateRuleResponse, Error<ClusterFirewallUpdateRuleError>> {
2019 let p_path_group = group;
2021 let p_path_pos = pos;
2022 let p_body_cluster_firewall_update_rule_request = cluster_firewall_update_rule_request;
2023
2024 let uri_str = format!("{}/cluster/firewall/groups/{group}/{pos}", configuration.base_path, group=crate::apis::urlencode(p_path_group), pos=p_path_pos);
2025 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
2026
2027 if let Some(ref user_agent) = configuration.user_agent {
2028 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2029 }
2030 if let Some(ref apikey) = configuration.api_key {
2031 let key = apikey.key.clone();
2032 let value = match apikey.prefix {
2033 Some(ref prefix) => format!("{} {}", prefix, key),
2034 None => key,
2035 };
2036 req_builder = req_builder.header("Authorization", value);
2037 };
2038 if let Some(ref apikey) = configuration.api_key {
2039 let key = apikey.key.clone();
2040 let value = match apikey.prefix {
2041 Some(ref prefix) => format!("{} {}", prefix, key),
2042 None => key,
2043 };
2044 req_builder = req_builder.header("CSRFPreventionToken", value);
2045 };
2046 req_builder = req_builder.json(&p_body_cluster_firewall_update_rule_request);
2047
2048 let req = req_builder.build()?;
2049 let resp = configuration.client.execute(req).await?;
2050
2051 let status = resp.status();
2052 let content_type = resp
2053 .headers()
2054 .get("content-type")
2055 .and_then(|v| v.to_str().ok())
2056 .unwrap_or("application/octet-stream");
2057 let content_type = super::ContentType::from(content_type);
2058
2059 if !status.is_client_error() && !status.is_server_error() {
2060 let content = resp.text().await?;
2061 match content_type {
2062 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2063 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallUpdateRuleResponse`"))),
2064 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::ClusterFirewallUpdateRuleResponse`")))),
2065 }
2066 } else {
2067 let content = resp.text().await?;
2068 let entity: Option<ClusterFirewallUpdateRuleError> = serde_json::from_str(&content).ok();
2069 Err(Error::ResponseError(ResponseContent { status, content, entity }))
2070 }
2071}
2072
2073pub async fn cluster_firewall_update_rules(configuration: &configuration::Configuration, pos: i64, cluster_firewall_update_rule_request: Option<models::ClusterFirewallUpdateRuleRequest>) -> Result<models::ClusterFirewallUpdateRulesResponse, Error<ClusterFirewallUpdateRulesError>> {
2075 let p_path_pos = pos;
2077 let p_body_cluster_firewall_update_rule_request = cluster_firewall_update_rule_request;
2078
2079 let uri_str = format!("{}/cluster/firewall/rules/{pos}", configuration.base_path, pos=p_path_pos);
2080 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
2081
2082 if let Some(ref user_agent) = configuration.user_agent {
2083 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2084 }
2085 if let Some(ref apikey) = configuration.api_key {
2086 let key = apikey.key.clone();
2087 let value = match apikey.prefix {
2088 Some(ref prefix) => format!("{} {}", prefix, key),
2089 None => key,
2090 };
2091 req_builder = req_builder.header("Authorization", value);
2092 };
2093 if let Some(ref apikey) = configuration.api_key {
2094 let key = apikey.key.clone();
2095 let value = match apikey.prefix {
2096 Some(ref prefix) => format!("{} {}", prefix, key),
2097 None => key,
2098 };
2099 req_builder = req_builder.header("CSRFPreventionToken", value);
2100 };
2101 req_builder = req_builder.json(&p_body_cluster_firewall_update_rule_request);
2102
2103 let req = req_builder.build()?;
2104 let resp = configuration.client.execute(req).await?;
2105
2106 let status = resp.status();
2107 let content_type = resp
2108 .headers()
2109 .get("content-type")
2110 .and_then(|v| v.to_str().ok())
2111 .unwrap_or("application/octet-stream");
2112 let content_type = super::ContentType::from(content_type);
2113
2114 if !status.is_client_error() && !status.is_server_error() {
2115 let content = resp.text().await?;
2116 match content_type {
2117 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
2118 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ClusterFirewallUpdateRulesResponse`"))),
2119 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::ClusterFirewallUpdateRulesResponse`")))),
2120 }
2121 } else {
2122 let content = resp.text().await?;
2123 let entity: Option<ClusterFirewallUpdateRulesError> = serde_json::from_str(&content).ok();
2124 Err(Error::ResponseError(ResponseContent { status, content, entity }))
2125 }
2126}
2127