1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct ActivateDmRoutingConfigDraftParams {
17 pub config_id: String
18}
19
20#[derive(Clone, Debug, Default)]
22pub struct CreateDmRoutingConfigParams {
23 pub routing_config: Option<crate::models::RoutingConfig>
24}
25
26#[derive(Clone, Debug, Default)]
28pub struct CreateDmRoutingConfigPathParams {
29 pub config_id: String,
30 pub path_create: Option<crate::models::PathCreate>
31}
32
33#[derive(Clone, Debug, Default)]
35pub struct CreateDmRoutingConfigRuleParams {
36 pub config_id: String,
37 pub path_id: String,
38 pub rule_create: Option<crate::models::RuleCreate>
39}
40
41#[derive(Clone, Debug, Default)]
43pub struct DeactivateDmRoutingConfigParams {
44 pub config_id: String
45}
46
47#[derive(Clone, Debug, Default)]
49pub struct DeleteDmRoutingConfigParams {
50 pub config_id: String,
51 pub force: Option<bool>
53}
54
55#[derive(Clone, Debug, Default)]
57pub struct DeleteDmRoutingConfigInactiveVersionsParams {
58 pub config_id: String
59}
60
61#[derive(Clone, Debug, Default)]
63pub struct DeleteDmRoutingConfigPathParams {
64 pub config_id: String,
65 pub path_id: String
66}
67
68#[derive(Clone, Debug, Default)]
70pub struct DeleteDmRoutingConfigRuleParams {
71 pub config_id: String,
72 pub path_id: String,
73 pub rule_id: String
74}
75
76#[derive(Clone, Debug, Default)]
78pub struct DiscardDmRoutingConfigDraftParams {
79 pub config_id: String
80}
81
82#[derive(Clone, Debug, Default)]
84pub struct GetDmRoutingConfigParams {
85 pub config_id: String
86}
87
88#[derive(Clone, Debug, Default)]
90pub struct GetDmRoutingConfigDraftDiffParams {
91 pub config_id: String
92}
93
94#[derive(Clone, Debug, Default)]
96pub struct GetDmRoutingConfigPathParams {
97 pub config_id: String,
98 pub path_id: String
99}
100
101#[derive(Clone, Debug, Default)]
103pub struct GetDmRoutingConfigRuleParams {
104 pub config_id: String,
105 pub path_id: String,
106 pub rule_id: String
107}
108
109#[derive(Clone, Debug, Default)]
111pub struct ListDmRoutingConfigPathsParams {
112 pub config_id: String,
113 pub path: Option<String>,
115 pub _match: Option<String>,
117 pub sort: Option<String>,
119 pub cursor: Option<String>,
121 pub limit: Option<i32>
123}
124
125#[derive(Clone, Debug, Default)]
127pub struct ListDmRoutingConfigRulesParams {
128 pub config_id: String,
129 pub path_id: String,
130 pub sort: Option<String>,
132 pub cursor: Option<String>,
134 pub limit: Option<i32>
136}
137
138#[derive(Clone, Debug, Default)]
140pub struct ListDmRoutingConfigVersionsParams {
141 pub config_id: String,
142 pub sort: Option<String>,
144 pub cursor: Option<String>,
146 pub limit: Option<i32>
148}
149
150#[derive(Clone, Debug, Default)]
152pub struct ListDmRoutingConfigsParams {
153 pub state: Option<Vec<String>>,
155 pub sort: Option<String>,
157 pub cursor: Option<String>,
159 pub limit: Option<i32>
161}
162
163#[derive(Clone, Debug, Default)]
165pub struct ReactivateDmRoutingConfigVersionParams {
166 pub config_id: String,
167 pub version_id: String
168}
169
170#[derive(Clone, Debug, Default)]
172pub struct UpdateDmRoutingConfigDraftParams {
173 pub config_id: String,
174 pub draft_update: Option<crate::models::DraftUpdate>
175}
176
177#[derive(Clone, Debug, Default)]
179pub struct UpdateDmRoutingConfigPathParams {
180 pub config_id: String,
181 pub path_id: String,
182 pub path_update: Option<crate::models::PathUpdate>
183}
184
185#[derive(Clone, Debug, Default)]
187pub struct UpdateDmRoutingConfigRuleParams {
188 pub config_id: String,
189 pub path_id: String,
190 pub rule_id: String,
191 pub rule_update: Option<crate::models::RuleUpdate>
192}
193
194
195#[derive(Debug, Clone, Serialize, Deserialize)]
197#[serde(untagged)]
198pub enum ActivateDmRoutingConfigDraftError {
199 UnknownValue(serde_json::Value),
200}
201
202#[derive(Debug, Clone, Serialize, Deserialize)]
204#[serde(untagged)]
205pub enum CreateDmRoutingConfigError {
206 UnknownValue(serde_json::Value),
207}
208
209#[derive(Debug, Clone, Serialize, Deserialize)]
211#[serde(untagged)]
212pub enum CreateDmRoutingConfigPathError {
213 UnknownValue(serde_json::Value),
214}
215
216#[derive(Debug, Clone, Serialize, Deserialize)]
218#[serde(untagged)]
219pub enum CreateDmRoutingConfigRuleError {
220 UnknownValue(serde_json::Value),
221}
222
223#[derive(Debug, Clone, Serialize, Deserialize)]
225#[serde(untagged)]
226pub enum DeactivateDmRoutingConfigError {
227 UnknownValue(serde_json::Value),
228}
229
230#[derive(Debug, Clone, Serialize, Deserialize)]
232#[serde(untagged)]
233pub enum DeleteDmRoutingConfigError {
234 Status409(),
235 UnknownValue(serde_json::Value),
236}
237
238#[derive(Debug, Clone, Serialize, Deserialize)]
240#[serde(untagged)]
241pub enum DeleteDmRoutingConfigInactiveVersionsError {
242 UnknownValue(serde_json::Value),
243}
244
245#[derive(Debug, Clone, Serialize, Deserialize)]
247#[serde(untagged)]
248pub enum DeleteDmRoutingConfigPathError {
249 UnknownValue(serde_json::Value),
250}
251
252#[derive(Debug, Clone, Serialize, Deserialize)]
254#[serde(untagged)]
255pub enum DeleteDmRoutingConfigRuleError {
256 UnknownValue(serde_json::Value),
257}
258
259#[derive(Debug, Clone, Serialize, Deserialize)]
261#[serde(untagged)]
262pub enum DiscardDmRoutingConfigDraftError {
263 UnknownValue(serde_json::Value),
264}
265
266#[derive(Debug, Clone, Serialize, Deserialize)]
268#[serde(untagged)]
269pub enum GetDmRoutingConfigError {
270 UnknownValue(serde_json::Value),
271}
272
273#[derive(Debug, Clone, Serialize, Deserialize)]
275#[serde(untagged)]
276pub enum GetDmRoutingConfigDraftDiffError {
277 UnknownValue(serde_json::Value),
278}
279
280#[derive(Debug, Clone, Serialize, Deserialize)]
282#[serde(untagged)]
283pub enum GetDmRoutingConfigPathError {
284 UnknownValue(serde_json::Value),
285}
286
287#[derive(Debug, Clone, Serialize, Deserialize)]
289#[serde(untagged)]
290pub enum GetDmRoutingConfigRuleError {
291 UnknownValue(serde_json::Value),
292}
293
294#[derive(Debug, Clone, Serialize, Deserialize)]
296#[serde(untagged)]
297pub enum ListDmRoutingConfigPathsError {
298 UnknownValue(serde_json::Value),
299}
300
301#[derive(Debug, Clone, Serialize, Deserialize)]
303#[serde(untagged)]
304pub enum ListDmRoutingConfigRulesError {
305 UnknownValue(serde_json::Value),
306}
307
308#[derive(Debug, Clone, Serialize, Deserialize)]
310#[serde(untagged)]
311pub enum ListDmRoutingConfigVersionsError {
312 UnknownValue(serde_json::Value),
313}
314
315#[derive(Debug, Clone, Serialize, Deserialize)]
317#[serde(untagged)]
318pub enum ListDmRoutingConfigsError {
319 UnknownValue(serde_json::Value),
320}
321
322#[derive(Debug, Clone, Serialize, Deserialize)]
324#[serde(untagged)]
325pub enum ReactivateDmRoutingConfigVersionError {
326 UnknownValue(serde_json::Value),
327}
328
329#[derive(Debug, Clone, Serialize, Deserialize)]
331#[serde(untagged)]
332pub enum UpdateDmRoutingConfigDraftError {
333 UnknownValue(serde_json::Value),
334}
335
336#[derive(Debug, Clone, Serialize, Deserialize)]
338#[serde(untagged)]
339pub enum UpdateDmRoutingConfigPathError {
340 UnknownValue(serde_json::Value),
341}
342
343#[derive(Debug, Clone, Serialize, Deserialize)]
345#[serde(untagged)]
346pub enum UpdateDmRoutingConfigRuleError {
347 UnknownValue(serde_json::Value),
348}
349
350
351pub async fn activate_dm_routing_config_draft(configuration: &mut configuration::Configuration, params: ActivateDmRoutingConfigDraftParams) -> Result<crate::models::RoutingConfigVersionResponse, Error<ActivateDmRoutingConfigDraftError>> {
353 let local_var_configuration = configuration;
354
355 let config_id = params.config_id;
357
358
359 let local_var_client = &local_var_configuration.client;
360
361 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/activate", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
362 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
363
364 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
365 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
366 }
367 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
368 let local_var_key = local_var_apikey.key.clone();
369 let local_var_value = match local_var_apikey.prefix {
370 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
371 None => local_var_key,
372 };
373 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
374 };
375
376 let local_var_req = local_var_req_builder.build()?;
377 let local_var_resp = local_var_client.execute(local_var_req).await?;
378
379 if "POST" != "GET" && "POST" != "HEAD" {
380 let headers = local_var_resp.headers();
381 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
382 Some(v) => v.to_str().unwrap().parse().unwrap(),
383 None => configuration::DEFAULT_RATELIMIT,
384 };
385 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
386 Some(v) => v.to_str().unwrap().parse().unwrap(),
387 None => 0,
388 };
389 }
390
391 let local_var_status = local_var_resp.status();
392 let local_var_content = local_var_resp.text().await?;
393
394 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
395 serde_json::from_str(&local_var_content).map_err(Error::from)
396 } else {
397 let local_var_entity: Option<ActivateDmRoutingConfigDraftError> = serde_json::from_str(&local_var_content).ok();
398 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
399 Err(Error::ResponseError(local_var_error))
400 }
401}
402
403pub async fn create_dm_routing_config(configuration: &mut configuration::Configuration, params: CreateDmRoutingConfigParams) -> Result<crate::models::RoutingConfigResponse, Error<CreateDmRoutingConfigError>> {
405 let local_var_configuration = configuration;
406
407 let routing_config = params.routing_config;
409
410
411 let local_var_client = &local_var_configuration.client;
412
413 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs", local_var_configuration.base_path);
414 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
415
416 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
417 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
418 }
419 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
420 let local_var_key = local_var_apikey.key.clone();
421 let local_var_value = match local_var_apikey.prefix {
422 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
423 None => local_var_key,
424 };
425 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
426 };
427 local_var_req_builder = local_var_req_builder.json(&routing_config);
428
429 let local_var_req = local_var_req_builder.build()?;
430 let local_var_resp = local_var_client.execute(local_var_req).await?;
431
432 if "POST" != "GET" && "POST" != "HEAD" {
433 let headers = local_var_resp.headers();
434 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
435 Some(v) => v.to_str().unwrap().parse().unwrap(),
436 None => configuration::DEFAULT_RATELIMIT,
437 };
438 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
439 Some(v) => v.to_str().unwrap().parse().unwrap(),
440 None => 0,
441 };
442 }
443
444 let local_var_status = local_var_resp.status();
445 let local_var_content = local_var_resp.text().await?;
446
447 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
448 serde_json::from_str(&local_var_content).map_err(Error::from)
449 } else {
450 let local_var_entity: Option<CreateDmRoutingConfigError> = serde_json::from_str(&local_var_content).ok();
451 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
452 Err(Error::ResponseError(local_var_error))
453 }
454}
455
456pub async fn create_dm_routing_config_path(configuration: &mut configuration::Configuration, params: CreateDmRoutingConfigPathParams) -> Result<crate::models::PathResponse, Error<CreateDmRoutingConfigPathError>> {
458 let local_var_configuration = configuration;
459
460 let config_id = params.config_id;
462 let path_create = params.path_create;
463
464
465 let local_var_client = &local_var_configuration.client;
466
467 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
468 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
469
470 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
471 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
472 }
473 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
474 let local_var_key = local_var_apikey.key.clone();
475 let local_var_value = match local_var_apikey.prefix {
476 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
477 None => local_var_key,
478 };
479 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
480 };
481 local_var_req_builder = local_var_req_builder.json(&path_create);
482
483 let local_var_req = local_var_req_builder.build()?;
484 let local_var_resp = local_var_client.execute(local_var_req).await?;
485
486 if "POST" != "GET" && "POST" != "HEAD" {
487 let headers = local_var_resp.headers();
488 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
489 Some(v) => v.to_str().unwrap().parse().unwrap(),
490 None => configuration::DEFAULT_RATELIMIT,
491 };
492 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
493 Some(v) => v.to_str().unwrap().parse().unwrap(),
494 None => 0,
495 };
496 }
497
498 let local_var_status = local_var_resp.status();
499 let local_var_content = local_var_resp.text().await?;
500
501 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
502 serde_json::from_str(&local_var_content).map_err(Error::from)
503 } else {
504 let local_var_entity: Option<CreateDmRoutingConfigPathError> = serde_json::from_str(&local_var_content).ok();
505 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
506 Err(Error::ResponseError(local_var_error))
507 }
508}
509
510pub async fn create_dm_routing_config_rule(configuration: &mut configuration::Configuration, params: CreateDmRoutingConfigRuleParams) -> Result<crate::models::RuleResponse, Error<CreateDmRoutingConfigRuleError>> {
512 let local_var_configuration = configuration;
513
514 let config_id = params.config_id;
516 let path_id = params.path_id;
517 let rule_create = params.rule_create;
518
519
520 let local_var_client = &local_var_configuration.client;
521
522 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}/rules", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id));
523 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
524
525 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
526 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
527 }
528 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
529 let local_var_key = local_var_apikey.key.clone();
530 let local_var_value = match local_var_apikey.prefix {
531 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
532 None => local_var_key,
533 };
534 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
535 };
536 local_var_req_builder = local_var_req_builder.json(&rule_create);
537
538 let local_var_req = local_var_req_builder.build()?;
539 let local_var_resp = local_var_client.execute(local_var_req).await?;
540
541 if "POST" != "GET" && "POST" != "HEAD" {
542 let headers = local_var_resp.headers();
543 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
544 Some(v) => v.to_str().unwrap().parse().unwrap(),
545 None => configuration::DEFAULT_RATELIMIT,
546 };
547 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
548 Some(v) => v.to_str().unwrap().parse().unwrap(),
549 None => 0,
550 };
551 }
552
553 let local_var_status = local_var_resp.status();
554 let local_var_content = local_var_resp.text().await?;
555
556 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
557 serde_json::from_str(&local_var_content).map_err(Error::from)
558 } else {
559 let local_var_entity: Option<CreateDmRoutingConfigRuleError> = serde_json::from_str(&local_var_content).ok();
560 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
561 Err(Error::ResponseError(local_var_error))
562 }
563}
564
565pub async fn deactivate_dm_routing_config(configuration: &mut configuration::Configuration, params: DeactivateDmRoutingConfigParams) -> Result<crate::models::RoutingConfigResponse, Error<DeactivateDmRoutingConfigError>> {
567 let local_var_configuration = configuration;
568
569 let config_id = params.config_id;
571
572
573 let local_var_client = &local_var_configuration.client;
574
575 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/deactivate", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
576 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
577
578 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
579 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
580 }
581 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
582 let local_var_key = local_var_apikey.key.clone();
583 let local_var_value = match local_var_apikey.prefix {
584 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
585 None => local_var_key,
586 };
587 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
588 };
589
590 let local_var_req = local_var_req_builder.build()?;
591 let local_var_resp = local_var_client.execute(local_var_req).await?;
592
593 if "POST" != "GET" && "POST" != "HEAD" {
594 let headers = local_var_resp.headers();
595 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
596 Some(v) => v.to_str().unwrap().parse().unwrap(),
597 None => configuration::DEFAULT_RATELIMIT,
598 };
599 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
600 Some(v) => v.to_str().unwrap().parse().unwrap(),
601 None => 0,
602 };
603 }
604
605 let local_var_status = local_var_resp.status();
606 let local_var_content = local_var_resp.text().await?;
607
608 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
609 serde_json::from_str(&local_var_content).map_err(Error::from)
610 } else {
611 let local_var_entity: Option<DeactivateDmRoutingConfigError> = serde_json::from_str(&local_var_content).ok();
612 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
613 Err(Error::ResponseError(local_var_error))
614 }
615}
616
617pub async fn delete_dm_routing_config(configuration: &mut configuration::Configuration, params: DeleteDmRoutingConfigParams) -> Result<(), Error<DeleteDmRoutingConfigError>> {
619 let local_var_configuration = configuration;
620
621 let config_id = params.config_id;
623 let force = params.force;
624
625
626 let local_var_client = &local_var_configuration.client;
627
628 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
629 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
630
631 if let Some(ref local_var_str) = force {
632 local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
633 }
634 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
635 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
636 }
637 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
638 let local_var_key = local_var_apikey.key.clone();
639 let local_var_value = match local_var_apikey.prefix {
640 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
641 None => local_var_key,
642 };
643 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
644 };
645
646 let local_var_req = local_var_req_builder.build()?;
647 let local_var_resp = local_var_client.execute(local_var_req).await?;
648
649 if "DELETE" != "GET" && "DELETE" != "HEAD" {
650 let headers = local_var_resp.headers();
651 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
652 Some(v) => v.to_str().unwrap().parse().unwrap(),
653 None => configuration::DEFAULT_RATELIMIT,
654 };
655 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
656 Some(v) => v.to_str().unwrap().parse().unwrap(),
657 None => 0,
658 };
659 }
660
661 let local_var_status = local_var_resp.status();
662 let local_var_content = local_var_resp.text().await?;
663
664 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
665 Ok(())
666 } else {
667 let local_var_entity: Option<DeleteDmRoutingConfigError> = serde_json::from_str(&local_var_content).ok();
668 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
669 Err(Error::ResponseError(local_var_error))
670 }
671}
672
673pub async fn delete_dm_routing_config_inactive_versions(configuration: &mut configuration::Configuration, params: DeleteDmRoutingConfigInactiveVersionsParams) -> Result<(), Error<DeleteDmRoutingConfigInactiveVersionsError>> {
675 let local_var_configuration = configuration;
676
677 let config_id = params.config_id;
679
680
681 let local_var_client = &local_var_configuration.client;
682
683 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/versions/inactive", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
684 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
685
686 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
687 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
688 }
689 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
690 let local_var_key = local_var_apikey.key.clone();
691 let local_var_value = match local_var_apikey.prefix {
692 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
693 None => local_var_key,
694 };
695 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
696 };
697
698 let local_var_req = local_var_req_builder.build()?;
699 let local_var_resp = local_var_client.execute(local_var_req).await?;
700
701 if "DELETE" != "GET" && "DELETE" != "HEAD" {
702 let headers = local_var_resp.headers();
703 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
704 Some(v) => v.to_str().unwrap().parse().unwrap(),
705 None => configuration::DEFAULT_RATELIMIT,
706 };
707 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
708 Some(v) => v.to_str().unwrap().parse().unwrap(),
709 None => 0,
710 };
711 }
712
713 let local_var_status = local_var_resp.status();
714 let local_var_content = local_var_resp.text().await?;
715
716 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
717 Ok(())
718 } else {
719 let local_var_entity: Option<DeleteDmRoutingConfigInactiveVersionsError> = serde_json::from_str(&local_var_content).ok();
720 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
721 Err(Error::ResponseError(local_var_error))
722 }
723}
724
725pub async fn delete_dm_routing_config_path(configuration: &mut configuration::Configuration, params: DeleteDmRoutingConfigPathParams) -> Result<(), Error<DeleteDmRoutingConfigPathError>> {
727 let local_var_configuration = configuration;
728
729 let config_id = params.config_id;
731 let path_id = params.path_id;
732
733
734 let local_var_client = &local_var_configuration.client;
735
736 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id));
737 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
738
739 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
740 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
741 }
742 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
743 let local_var_key = local_var_apikey.key.clone();
744 let local_var_value = match local_var_apikey.prefix {
745 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
746 None => local_var_key,
747 };
748 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
749 };
750
751 let local_var_req = local_var_req_builder.build()?;
752 let local_var_resp = local_var_client.execute(local_var_req).await?;
753
754 if "DELETE" != "GET" && "DELETE" != "HEAD" {
755 let headers = local_var_resp.headers();
756 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
757 Some(v) => v.to_str().unwrap().parse().unwrap(),
758 None => configuration::DEFAULT_RATELIMIT,
759 };
760 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
761 Some(v) => v.to_str().unwrap().parse().unwrap(),
762 None => 0,
763 };
764 }
765
766 let local_var_status = local_var_resp.status();
767 let local_var_content = local_var_resp.text().await?;
768
769 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
770 Ok(())
771 } else {
772 let local_var_entity: Option<DeleteDmRoutingConfigPathError> = serde_json::from_str(&local_var_content).ok();
773 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
774 Err(Error::ResponseError(local_var_error))
775 }
776}
777
778pub async fn delete_dm_routing_config_rule(configuration: &mut configuration::Configuration, params: DeleteDmRoutingConfigRuleParams) -> Result<(), Error<DeleteDmRoutingConfigRuleError>> {
780 let local_var_configuration = configuration;
781
782 let config_id = params.config_id;
784 let path_id = params.path_id;
785 let rule_id = params.rule_id;
786
787
788 let local_var_client = &local_var_configuration.client;
789
790 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}/rules/{rule_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id), rule_id=crate::apis::urlencode(rule_id));
791 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
792
793 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
794 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
795 }
796 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
797 let local_var_key = local_var_apikey.key.clone();
798 let local_var_value = match local_var_apikey.prefix {
799 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
800 None => local_var_key,
801 };
802 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
803 };
804
805 let local_var_req = local_var_req_builder.build()?;
806 let local_var_resp = local_var_client.execute(local_var_req).await?;
807
808 if "DELETE" != "GET" && "DELETE" != "HEAD" {
809 let headers = local_var_resp.headers();
810 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
811 Some(v) => v.to_str().unwrap().parse().unwrap(),
812 None => configuration::DEFAULT_RATELIMIT,
813 };
814 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
815 Some(v) => v.to_str().unwrap().parse().unwrap(),
816 None => 0,
817 };
818 }
819
820 let local_var_status = local_var_resp.status();
821 let local_var_content = local_var_resp.text().await?;
822
823 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
824 Ok(())
825 } else {
826 let local_var_entity: Option<DeleteDmRoutingConfigRuleError> = serde_json::from_str(&local_var_content).ok();
827 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
828 Err(Error::ResponseError(local_var_error))
829 }
830}
831
832pub async fn discard_dm_routing_config_draft(configuration: &mut configuration::Configuration, params: DiscardDmRoutingConfigDraftParams) -> Result<(), Error<DiscardDmRoutingConfigDraftError>> {
834 let local_var_configuration = configuration;
835
836 let config_id = params.config_id;
838
839
840 let local_var_client = &local_var_configuration.client;
841
842 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/draft", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
843 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
844
845 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
846 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
847 }
848 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
849 let local_var_key = local_var_apikey.key.clone();
850 let local_var_value = match local_var_apikey.prefix {
851 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
852 None => local_var_key,
853 };
854 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
855 };
856
857 let local_var_req = local_var_req_builder.build()?;
858 let local_var_resp = local_var_client.execute(local_var_req).await?;
859
860 if "DELETE" != "GET" && "DELETE" != "HEAD" {
861 let headers = local_var_resp.headers();
862 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
863 Some(v) => v.to_str().unwrap().parse().unwrap(),
864 None => configuration::DEFAULT_RATELIMIT,
865 };
866 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
867 Some(v) => v.to_str().unwrap().parse().unwrap(),
868 None => 0,
869 };
870 }
871
872 let local_var_status = local_var_resp.status();
873 let local_var_content = local_var_resp.text().await?;
874
875 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
876 Ok(())
877 } else {
878 let local_var_entity: Option<DiscardDmRoutingConfigDraftError> = serde_json::from_str(&local_var_content).ok();
879 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
880 Err(Error::ResponseError(local_var_error))
881 }
882}
883
884pub async fn get_dm_routing_config(configuration: &mut configuration::Configuration, params: GetDmRoutingConfigParams) -> Result<crate::models::RoutingConfigResponse, Error<GetDmRoutingConfigError>> {
886 let local_var_configuration = configuration;
887
888 let config_id = params.config_id;
890
891
892 let local_var_client = &local_var_configuration.client;
893
894 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
895 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
896
897 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
898 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
899 }
900 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
901 let local_var_key = local_var_apikey.key.clone();
902 let local_var_value = match local_var_apikey.prefix {
903 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
904 None => local_var_key,
905 };
906 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
907 };
908
909 let local_var_req = local_var_req_builder.build()?;
910 let local_var_resp = local_var_client.execute(local_var_req).await?;
911
912 if "GET" != "GET" && "GET" != "HEAD" {
913 let headers = local_var_resp.headers();
914 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
915 Some(v) => v.to_str().unwrap().parse().unwrap(),
916 None => configuration::DEFAULT_RATELIMIT,
917 };
918 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
919 Some(v) => v.to_str().unwrap().parse().unwrap(),
920 None => 0,
921 };
922 }
923
924 let local_var_status = local_var_resp.status();
925 let local_var_content = local_var_resp.text().await?;
926
927 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
928 serde_json::from_str(&local_var_content).map_err(Error::from)
929 } else {
930 let local_var_entity: Option<GetDmRoutingConfigError> = serde_json::from_str(&local_var_content).ok();
931 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
932 Err(Error::ResponseError(local_var_error))
933 }
934}
935
936pub async fn get_dm_routing_config_draft_diff(configuration: &mut configuration::Configuration, params: GetDmRoutingConfigDraftDiffParams) -> Result<crate::models::DraftDiff, Error<GetDmRoutingConfigDraftDiffError>> {
938 let local_var_configuration = configuration;
939
940 let config_id = params.config_id;
942
943
944 let local_var_client = &local_var_configuration.client;
945
946 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/draft/diff", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
947 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
948
949 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
950 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
951 }
952 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
953 let local_var_key = local_var_apikey.key.clone();
954 let local_var_value = match local_var_apikey.prefix {
955 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
956 None => local_var_key,
957 };
958 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
959 };
960
961 let local_var_req = local_var_req_builder.build()?;
962 let local_var_resp = local_var_client.execute(local_var_req).await?;
963
964 if "GET" != "GET" && "GET" != "HEAD" {
965 let headers = local_var_resp.headers();
966 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
967 Some(v) => v.to_str().unwrap().parse().unwrap(),
968 None => configuration::DEFAULT_RATELIMIT,
969 };
970 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
971 Some(v) => v.to_str().unwrap().parse().unwrap(),
972 None => 0,
973 };
974 }
975
976 let local_var_status = local_var_resp.status();
977 let local_var_content = local_var_resp.text().await?;
978
979 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
980 serde_json::from_str(&local_var_content).map_err(Error::from)
981 } else {
982 let local_var_entity: Option<GetDmRoutingConfigDraftDiffError> = serde_json::from_str(&local_var_content).ok();
983 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
984 Err(Error::ResponseError(local_var_error))
985 }
986}
987
988pub async fn get_dm_routing_config_path(configuration: &mut configuration::Configuration, params: GetDmRoutingConfigPathParams) -> Result<crate::models::PathResponse, Error<GetDmRoutingConfigPathError>> {
990 let local_var_configuration = configuration;
991
992 let config_id = params.config_id;
994 let path_id = params.path_id;
995
996
997 let local_var_client = &local_var_configuration.client;
998
999 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id));
1000 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1001
1002 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1003 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1004 }
1005 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1006 let local_var_key = local_var_apikey.key.clone();
1007 let local_var_value = match local_var_apikey.prefix {
1008 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1009 None => local_var_key,
1010 };
1011 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1012 };
1013
1014 let local_var_req = local_var_req_builder.build()?;
1015 let local_var_resp = local_var_client.execute(local_var_req).await?;
1016
1017 if "GET" != "GET" && "GET" != "HEAD" {
1018 let headers = local_var_resp.headers();
1019 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1020 Some(v) => v.to_str().unwrap().parse().unwrap(),
1021 None => configuration::DEFAULT_RATELIMIT,
1022 };
1023 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1024 Some(v) => v.to_str().unwrap().parse().unwrap(),
1025 None => 0,
1026 };
1027 }
1028
1029 let local_var_status = local_var_resp.status();
1030 let local_var_content = local_var_resp.text().await?;
1031
1032 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1033 serde_json::from_str(&local_var_content).map_err(Error::from)
1034 } else {
1035 let local_var_entity: Option<GetDmRoutingConfigPathError> = serde_json::from_str(&local_var_content).ok();
1036 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1037 Err(Error::ResponseError(local_var_error))
1038 }
1039}
1040
1041pub async fn get_dm_routing_config_rule(configuration: &mut configuration::Configuration, params: GetDmRoutingConfigRuleParams) -> Result<crate::models::RuleResponse, Error<GetDmRoutingConfigRuleError>> {
1043 let local_var_configuration = configuration;
1044
1045 let config_id = params.config_id;
1047 let path_id = params.path_id;
1048 let rule_id = params.rule_id;
1049
1050
1051 let local_var_client = &local_var_configuration.client;
1052
1053 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}/rules/{rule_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id), rule_id=crate::apis::urlencode(rule_id));
1054 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1055
1056 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1057 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1058 }
1059 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1060 let local_var_key = local_var_apikey.key.clone();
1061 let local_var_value = match local_var_apikey.prefix {
1062 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1063 None => local_var_key,
1064 };
1065 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1066 };
1067
1068 let local_var_req = local_var_req_builder.build()?;
1069 let local_var_resp = local_var_client.execute(local_var_req).await?;
1070
1071 if "GET" != "GET" && "GET" != "HEAD" {
1072 let headers = local_var_resp.headers();
1073 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1074 Some(v) => v.to_str().unwrap().parse().unwrap(),
1075 None => configuration::DEFAULT_RATELIMIT,
1076 };
1077 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1078 Some(v) => v.to_str().unwrap().parse().unwrap(),
1079 None => 0,
1080 };
1081 }
1082
1083 let local_var_status = local_var_resp.status();
1084 let local_var_content = local_var_resp.text().await?;
1085
1086 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1087 serde_json::from_str(&local_var_content).map_err(Error::from)
1088 } else {
1089 let local_var_entity: Option<GetDmRoutingConfigRuleError> = serde_json::from_str(&local_var_content).ok();
1090 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1091 Err(Error::ResponseError(local_var_error))
1092 }
1093}
1094
1095pub async fn list_dm_routing_config_paths(configuration: &mut configuration::Configuration, params: ListDmRoutingConfigPathsParams) -> Result<crate::models::PathsResponse, Error<ListDmRoutingConfigPathsError>> {
1097 let local_var_configuration = configuration;
1098
1099 let config_id = params.config_id;
1101 let path = params.path;
1102 let _match = params._match;
1103 let sort = params.sort;
1104 let cursor = params.cursor;
1105 let limit = params.limit;
1106
1107
1108 let local_var_client = &local_var_configuration.client;
1109
1110 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
1111 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1112
1113 if let Some(ref local_var_str) = path {
1114 local_var_req_builder = local_var_req_builder.query(&[("path", &local_var_str.to_string())]);
1115 }
1116 if let Some(ref local_var_str) = _match {
1117 local_var_req_builder = local_var_req_builder.query(&[("match", &local_var_str.to_string())]);
1118 }
1119 if let Some(ref local_var_str) = sort {
1120 local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
1121 }
1122 if let Some(ref local_var_str) = cursor {
1123 local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]);
1124 }
1125 if let Some(ref local_var_str) = limit {
1126 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
1127 }
1128 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1129 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1130 }
1131 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1132 let local_var_key = local_var_apikey.key.clone();
1133 let local_var_value = match local_var_apikey.prefix {
1134 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1135 None => local_var_key,
1136 };
1137 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1138 };
1139
1140 let local_var_req = local_var_req_builder.build()?;
1141 let local_var_resp = local_var_client.execute(local_var_req).await?;
1142
1143 if "GET" != "GET" && "GET" != "HEAD" {
1144 let headers = local_var_resp.headers();
1145 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1146 Some(v) => v.to_str().unwrap().parse().unwrap(),
1147 None => configuration::DEFAULT_RATELIMIT,
1148 };
1149 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1150 Some(v) => v.to_str().unwrap().parse().unwrap(),
1151 None => 0,
1152 };
1153 }
1154
1155 let local_var_status = local_var_resp.status();
1156 let local_var_content = local_var_resp.text().await?;
1157
1158 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1159 serde_json::from_str(&local_var_content).map_err(Error::from)
1160 } else {
1161 let local_var_entity: Option<ListDmRoutingConfigPathsError> = serde_json::from_str(&local_var_content).ok();
1162 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1163 Err(Error::ResponseError(local_var_error))
1164 }
1165}
1166
1167pub async fn list_dm_routing_config_rules(configuration: &mut configuration::Configuration, params: ListDmRoutingConfigRulesParams) -> Result<crate::models::RulesResponse, Error<ListDmRoutingConfigRulesError>> {
1169 let local_var_configuration = configuration;
1170
1171 let config_id = params.config_id;
1173 let path_id = params.path_id;
1174 let sort = params.sort;
1175 let cursor = params.cursor;
1176 let limit = params.limit;
1177
1178
1179 let local_var_client = &local_var_configuration.client;
1180
1181 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}/rules", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id));
1182 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1183
1184 if let Some(ref local_var_str) = sort {
1185 local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
1186 }
1187 if let Some(ref local_var_str) = cursor {
1188 local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]);
1189 }
1190 if let Some(ref local_var_str) = limit {
1191 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
1192 }
1193 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1194 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1195 }
1196 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1197 let local_var_key = local_var_apikey.key.clone();
1198 let local_var_value = match local_var_apikey.prefix {
1199 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1200 None => local_var_key,
1201 };
1202 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1203 };
1204
1205 let local_var_req = local_var_req_builder.build()?;
1206 let local_var_resp = local_var_client.execute(local_var_req).await?;
1207
1208 if "GET" != "GET" && "GET" != "HEAD" {
1209 let headers = local_var_resp.headers();
1210 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1211 Some(v) => v.to_str().unwrap().parse().unwrap(),
1212 None => configuration::DEFAULT_RATELIMIT,
1213 };
1214 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1215 Some(v) => v.to_str().unwrap().parse().unwrap(),
1216 None => 0,
1217 };
1218 }
1219
1220 let local_var_status = local_var_resp.status();
1221 let local_var_content = local_var_resp.text().await?;
1222
1223 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1224 serde_json::from_str(&local_var_content).map_err(Error::from)
1225 } else {
1226 let local_var_entity: Option<ListDmRoutingConfigRulesError> = serde_json::from_str(&local_var_content).ok();
1227 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1228 Err(Error::ResponseError(local_var_error))
1229 }
1230}
1231
1232pub async fn list_dm_routing_config_versions(configuration: &mut configuration::Configuration, params: ListDmRoutingConfigVersionsParams) -> Result<crate::models::VersionsResponse, Error<ListDmRoutingConfigVersionsError>> {
1234 let local_var_configuration = configuration;
1235
1236 let config_id = params.config_id;
1238 let sort = params.sort;
1239 let cursor = params.cursor;
1240 let limit = params.limit;
1241
1242
1243 let local_var_client = &local_var_configuration.client;
1244
1245 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/versions", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
1246 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1247
1248 if let Some(ref local_var_str) = sort {
1249 local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
1250 }
1251 if let Some(ref local_var_str) = cursor {
1252 local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]);
1253 }
1254 if let Some(ref local_var_str) = limit {
1255 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
1256 }
1257 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1258 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1259 }
1260 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1261 let local_var_key = local_var_apikey.key.clone();
1262 let local_var_value = match local_var_apikey.prefix {
1263 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1264 None => local_var_key,
1265 };
1266 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1267 };
1268
1269 let local_var_req = local_var_req_builder.build()?;
1270 let local_var_resp = local_var_client.execute(local_var_req).await?;
1271
1272 if "GET" != "GET" && "GET" != "HEAD" {
1273 let headers = local_var_resp.headers();
1274 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1275 Some(v) => v.to_str().unwrap().parse().unwrap(),
1276 None => configuration::DEFAULT_RATELIMIT,
1277 };
1278 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1279 Some(v) => v.to_str().unwrap().parse().unwrap(),
1280 None => 0,
1281 };
1282 }
1283
1284 let local_var_status = local_var_resp.status();
1285 let local_var_content = local_var_resp.text().await?;
1286
1287 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1288 serde_json::from_str(&local_var_content).map_err(Error::from)
1289 } else {
1290 let local_var_entity: Option<ListDmRoutingConfigVersionsError> = serde_json::from_str(&local_var_content).ok();
1291 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1292 Err(Error::ResponseError(local_var_error))
1293 }
1294}
1295
1296pub async fn list_dm_routing_configs(configuration: &mut configuration::Configuration, params: ListDmRoutingConfigsParams) -> Result<crate::models::RoutingConfigsResponse, Error<ListDmRoutingConfigsError>> {
1298 let local_var_configuration = configuration;
1299
1300 let state = params.state;
1302 let sort = params.sort;
1303 let cursor = params.cursor;
1304 let limit = params.limit;
1305
1306
1307 let local_var_client = &local_var_configuration.client;
1308
1309 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs", local_var_configuration.base_path);
1310 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1311
1312 if let Some(ref local_var_str) = state {
1313 local_var_req_builder = match "csv" {
1314 "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("state".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
1315 _ => local_var_req_builder.query(&[("state", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
1316 };
1317 }
1318 if let Some(ref local_var_str) = sort {
1319 local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
1320 }
1321 if let Some(ref local_var_str) = cursor {
1322 local_var_req_builder = local_var_req_builder.query(&[("cursor", &local_var_str.to_string())]);
1323 }
1324 if let Some(ref local_var_str) = limit {
1325 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
1326 }
1327 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1328 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1329 }
1330 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1331 let local_var_key = local_var_apikey.key.clone();
1332 let local_var_value = match local_var_apikey.prefix {
1333 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1334 None => local_var_key,
1335 };
1336 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1337 };
1338
1339 let local_var_req = local_var_req_builder.build()?;
1340 let local_var_resp = local_var_client.execute(local_var_req).await?;
1341
1342 if "GET" != "GET" && "GET" != "HEAD" {
1343 let headers = local_var_resp.headers();
1344 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1345 Some(v) => v.to_str().unwrap().parse().unwrap(),
1346 None => configuration::DEFAULT_RATELIMIT,
1347 };
1348 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1349 Some(v) => v.to_str().unwrap().parse().unwrap(),
1350 None => 0,
1351 };
1352 }
1353
1354 let local_var_status = local_var_resp.status();
1355 let local_var_content = local_var_resp.text().await?;
1356
1357 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1358 serde_json::from_str(&local_var_content).map_err(Error::from)
1359 } else {
1360 let local_var_entity: Option<ListDmRoutingConfigsError> = serde_json::from_str(&local_var_content).ok();
1361 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1362 Err(Error::ResponseError(local_var_error))
1363 }
1364}
1365
1366pub async fn reactivate_dm_routing_config_version(configuration: &mut configuration::Configuration, params: ReactivateDmRoutingConfigVersionParams) -> Result<crate::models::RoutingConfigVersionResponse, Error<ReactivateDmRoutingConfigVersionError>> {
1368 let local_var_configuration = configuration;
1369
1370 let config_id = params.config_id;
1372 let version_id = params.version_id;
1373
1374
1375 let local_var_client = &local_var_configuration.client;
1376
1377 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/versions/{version_id}/activate", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), version_id=crate::apis::urlencode(version_id));
1378 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1379
1380 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1381 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1382 }
1383 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1384 let local_var_key = local_var_apikey.key.clone();
1385 let local_var_value = match local_var_apikey.prefix {
1386 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1387 None => local_var_key,
1388 };
1389 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1390 };
1391
1392 let local_var_req = local_var_req_builder.build()?;
1393 let local_var_resp = local_var_client.execute(local_var_req).await?;
1394
1395 if "POST" != "GET" && "POST" != "HEAD" {
1396 let headers = local_var_resp.headers();
1397 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1398 Some(v) => v.to_str().unwrap().parse().unwrap(),
1399 None => configuration::DEFAULT_RATELIMIT,
1400 };
1401 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1402 Some(v) => v.to_str().unwrap().parse().unwrap(),
1403 None => 0,
1404 };
1405 }
1406
1407 let local_var_status = local_var_resp.status();
1408 let local_var_content = local_var_resp.text().await?;
1409
1410 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1411 serde_json::from_str(&local_var_content).map_err(Error::from)
1412 } else {
1413 let local_var_entity: Option<ReactivateDmRoutingConfigVersionError> = serde_json::from_str(&local_var_content).ok();
1414 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1415 Err(Error::ResponseError(local_var_error))
1416 }
1417}
1418
1419pub async fn update_dm_routing_config_draft(configuration: &mut configuration::Configuration, params: UpdateDmRoutingConfigDraftParams) -> Result<crate::models::RoutingConfigVersionResponse, Error<UpdateDmRoutingConfigDraftError>> {
1421 let local_var_configuration = configuration;
1422
1423 let config_id = params.config_id;
1425 let draft_update = params.draft_update;
1426
1427
1428 let local_var_client = &local_var_configuration.client;
1429
1430 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/draft", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id));
1431 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
1432
1433 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1434 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1435 }
1436 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1437 let local_var_key = local_var_apikey.key.clone();
1438 let local_var_value = match local_var_apikey.prefix {
1439 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1440 None => local_var_key,
1441 };
1442 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1443 };
1444 local_var_req_builder = local_var_req_builder.json(&draft_update);
1445
1446 let local_var_req = local_var_req_builder.build()?;
1447 let local_var_resp = local_var_client.execute(local_var_req).await?;
1448
1449 if "PATCH" != "GET" && "PATCH" != "HEAD" {
1450 let headers = local_var_resp.headers();
1451 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1452 Some(v) => v.to_str().unwrap().parse().unwrap(),
1453 None => configuration::DEFAULT_RATELIMIT,
1454 };
1455 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1456 Some(v) => v.to_str().unwrap().parse().unwrap(),
1457 None => 0,
1458 };
1459 }
1460
1461 let local_var_status = local_var_resp.status();
1462 let local_var_content = local_var_resp.text().await?;
1463
1464 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1465 serde_json::from_str(&local_var_content).map_err(Error::from)
1466 } else {
1467 let local_var_entity: Option<UpdateDmRoutingConfigDraftError> = serde_json::from_str(&local_var_content).ok();
1468 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1469 Err(Error::ResponseError(local_var_error))
1470 }
1471}
1472
1473pub async fn update_dm_routing_config_path(configuration: &mut configuration::Configuration, params: UpdateDmRoutingConfigPathParams) -> Result<crate::models::PathResponse, Error<UpdateDmRoutingConfigPathError>> {
1475 let local_var_configuration = configuration;
1476
1477 let config_id = params.config_id;
1479 let path_id = params.path_id;
1480 let path_update = params.path_update;
1481
1482
1483 let local_var_client = &local_var_configuration.client;
1484
1485 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id));
1486 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
1487
1488 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1489 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1490 }
1491 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1492 let local_var_key = local_var_apikey.key.clone();
1493 let local_var_value = match local_var_apikey.prefix {
1494 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1495 None => local_var_key,
1496 };
1497 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1498 };
1499 local_var_req_builder = local_var_req_builder.json(&path_update);
1500
1501 let local_var_req = local_var_req_builder.build()?;
1502 let local_var_resp = local_var_client.execute(local_var_req).await?;
1503
1504 if "PATCH" != "GET" && "PATCH" != "HEAD" {
1505 let headers = local_var_resp.headers();
1506 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1507 Some(v) => v.to_str().unwrap().parse().unwrap(),
1508 None => configuration::DEFAULT_RATELIMIT,
1509 };
1510 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1511 Some(v) => v.to_str().unwrap().parse().unwrap(),
1512 None => 0,
1513 };
1514 }
1515
1516 let local_var_status = local_var_resp.status();
1517 let local_var_content = local_var_resp.text().await?;
1518
1519 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1520 serde_json::from_str(&local_var_content).map_err(Error::from)
1521 } else {
1522 let local_var_entity: Option<UpdateDmRoutingConfigPathError> = serde_json::from_str(&local_var_content).ok();
1523 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1524 Err(Error::ResponseError(local_var_error))
1525 }
1526}
1527
1528pub async fn update_dm_routing_config_rule(configuration: &mut configuration::Configuration, params: UpdateDmRoutingConfigRuleParams) -> Result<crate::models::RuleResponse, Error<UpdateDmRoutingConfigRuleError>> {
1530 let local_var_configuration = configuration;
1531
1532 let config_id = params.config_id;
1534 let path_id = params.path_id;
1535 let rule_id = params.rule_id;
1536 let rule_update = params.rule_update;
1537
1538
1539 let local_var_client = &local_var_configuration.client;
1540
1541 let local_var_uri_str = format!("{}/domain-management/v1/routing-configs/{config_id}/paths/{path_id}/rules/{rule_id}", local_var_configuration.base_path, config_id=crate::apis::urlencode(config_id), path_id=crate::apis::urlencode(path_id), rule_id=crate::apis::urlencode(rule_id));
1542 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
1543
1544 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1545 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1546 }
1547 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
1548 let local_var_key = local_var_apikey.key.clone();
1549 let local_var_value = match local_var_apikey.prefix {
1550 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
1551 None => local_var_key,
1552 };
1553 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
1554 };
1555 local_var_req_builder = local_var_req_builder.json(&rule_update);
1556
1557 let local_var_req = local_var_req_builder.build()?;
1558 let local_var_resp = local_var_client.execute(local_var_req).await?;
1559
1560 if "PATCH" != "GET" && "PATCH" != "HEAD" {
1561 let headers = local_var_resp.headers();
1562 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
1563 Some(v) => v.to_str().unwrap().parse().unwrap(),
1564 None => configuration::DEFAULT_RATELIMIT,
1565 };
1566 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
1567 Some(v) => v.to_str().unwrap().parse().unwrap(),
1568 None => 0,
1569 };
1570 }
1571
1572 let local_var_status = local_var_resp.status();
1573 let local_var_content = local_var_resp.text().await?;
1574
1575 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1576 serde_json::from_str(&local_var_content).map_err(Error::from)
1577 } else {
1578 let local_var_entity: Option<UpdateDmRoutingConfigRuleError> = serde_json::from_str(&local_var_content).ok();
1579 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1580 Err(Error::ResponseError(local_var_error))
1581 }
1582}
1583