1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct CreateServerPoolParams {
17 pub service_id: String,
19 pub version_id: i32,
21 pub tls_ca_cert: Option<String>,
23 pub tls_client_cert: Option<String>,
25 pub tls_client_key: Option<String>,
27 pub tls_cert_hostname: Option<String>,
29 pub use_tls: Option<i32>,
31 pub created_at: Option<String>,
33 pub deleted_at: Option<String>,
35 pub updated_at: Option<String>,
37 pub service_id2: Option<String>,
38 pub version: Option<String>,
39 pub name: Option<String>,
41 pub shield: Option<String>,
43 pub request_condition: Option<String>,
45 pub tls_ciphers: Option<String>,
47 pub tls_sni_hostname: Option<String>,
49 pub min_tls_version: Option<i32>,
51 pub max_tls_version: Option<i32>,
53 pub healthcheck: Option<String>,
55 pub comment: Option<String>,
57 pub _type: Option<String>,
59 pub override_host: Option<String>,
61 pub between_bytes_timeout: Option<i32>,
63 pub connect_timeout: Option<i32>,
65 pub first_byte_timeout: Option<i32>,
67 pub max_conn_default: Option<i32>,
69 pub quorum: Option<i32>,
71 pub tls_check_cert: Option<i32>
73}
74
75#[derive(Clone, Debug, Default)]
77pub struct DeleteServerPoolParams {
78 pub service_id: String,
80 pub version_id: i32,
82 pub pool_name: String
84}
85
86#[derive(Clone, Debug, Default)]
88pub struct GetServerPoolParams {
89 pub service_id: String,
91 pub version_id: i32,
93 pub pool_name: String
95}
96
97#[derive(Clone, Debug, Default)]
99pub struct ListServerPoolsParams {
100 pub service_id: String,
102 pub version_id: i32
104}
105
106#[derive(Clone, Debug, Default)]
108pub struct UpdateServerPoolParams {
109 pub service_id: String,
111 pub version_id: i32,
113 pub pool_name: String,
115 pub tls_ca_cert: Option<String>,
117 pub tls_client_cert: Option<String>,
119 pub tls_client_key: Option<String>,
121 pub tls_cert_hostname: Option<String>,
123 pub use_tls: Option<i32>,
125 pub created_at: Option<String>,
127 pub deleted_at: Option<String>,
129 pub updated_at: Option<String>,
131 pub service_id2: Option<String>,
132 pub version: Option<String>,
133 pub name: Option<String>,
135 pub shield: Option<String>,
137 pub request_condition: Option<String>,
139 pub tls_ciphers: Option<String>,
141 pub tls_sni_hostname: Option<String>,
143 pub min_tls_version: Option<i32>,
145 pub max_tls_version: Option<i32>,
147 pub healthcheck: Option<String>,
149 pub comment: Option<String>,
151 pub _type: Option<String>,
153 pub override_host: Option<String>,
155 pub between_bytes_timeout: Option<i32>,
157 pub connect_timeout: Option<i32>,
159 pub first_byte_timeout: Option<i32>,
161 pub max_conn_default: Option<i32>,
163 pub quorum: Option<i32>,
165 pub tls_check_cert: Option<i32>
167}
168
169
170#[derive(Debug, Clone, Serialize, Deserialize)]
172#[serde(untagged)]
173pub enum CreateServerPoolError {
174 UnknownValue(serde_json::Value),
175}
176
177#[derive(Debug, Clone, Serialize, Deserialize)]
179#[serde(untagged)]
180pub enum DeleteServerPoolError {
181 UnknownValue(serde_json::Value),
182}
183
184#[derive(Debug, Clone, Serialize, Deserialize)]
186#[serde(untagged)]
187pub enum GetServerPoolError {
188 UnknownValue(serde_json::Value),
189}
190
191#[derive(Debug, Clone, Serialize, Deserialize)]
193#[serde(untagged)]
194pub enum ListServerPoolsError {
195 UnknownValue(serde_json::Value),
196}
197
198#[derive(Debug, Clone, Serialize, Deserialize)]
200#[serde(untagged)]
201pub enum UpdateServerPoolError {
202 UnknownValue(serde_json::Value),
203}
204
205
206pub async fn create_server_pool(configuration: &mut configuration::Configuration, params: CreateServerPoolParams) -> Result<crate::models::PoolResponsePost, Error<CreateServerPoolError>> {
208 let local_var_configuration = configuration;
209
210 let service_id = params.service_id;
212 let version_id = params.version_id;
213 let tls_ca_cert = params.tls_ca_cert;
214 let tls_client_cert = params.tls_client_cert;
215 let tls_client_key = params.tls_client_key;
216 let tls_cert_hostname = params.tls_cert_hostname;
217 let use_tls = params.use_tls;
218 let created_at = params.created_at;
219 let deleted_at = params.deleted_at;
220 let updated_at = params.updated_at;
221 let service_id2 = params.service_id2;
222 let version = params.version;
223 let name = params.name;
224 let shield = params.shield;
225 let request_condition = params.request_condition;
226 let tls_ciphers = params.tls_ciphers;
227 let tls_sni_hostname = params.tls_sni_hostname;
228 let min_tls_version = params.min_tls_version;
229 let max_tls_version = params.max_tls_version;
230 let healthcheck = params.healthcheck;
231 let comment = params.comment;
232 let _type = params._type;
233 let override_host = params.override_host;
234 let between_bytes_timeout = params.between_bytes_timeout;
235 let connect_timeout = params.connect_timeout;
236 let first_byte_timeout = params.first_byte_timeout;
237 let max_conn_default = params.max_conn_default;
238 let quorum = params.quorum;
239 let tls_check_cert = params.tls_check_cert;
240
241
242 let local_var_client = &local_var_configuration.client;
243
244 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/pool", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
245 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
246
247 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
248 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
249 }
250 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
251 let local_var_key = local_var_apikey.key.clone();
252 let local_var_value = match local_var_apikey.prefix {
253 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
254 None => local_var_key,
255 };
256 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
257 };
258 let mut local_var_form_params = std::collections::HashMap::new();
259 if let Some(local_var_param_value) = tls_ca_cert {
260 local_var_form_params.insert("tls_ca_cert", local_var_param_value.to_string());
261 }
262 if let Some(local_var_param_value) = tls_client_cert {
263 local_var_form_params.insert("tls_client_cert", local_var_param_value.to_string());
264 }
265 if let Some(local_var_param_value) = tls_client_key {
266 local_var_form_params.insert("tls_client_key", local_var_param_value.to_string());
267 }
268 if let Some(local_var_param_value) = tls_cert_hostname {
269 local_var_form_params.insert("tls_cert_hostname", local_var_param_value.to_string());
270 }
271 if let Some(local_var_param_value) = use_tls {
272 local_var_form_params.insert("use_tls", local_var_param_value.to_string());
273 }
274 if let Some(local_var_param_value) = created_at {
275 local_var_form_params.insert("created_at", local_var_param_value.to_string());
276 }
277 if let Some(local_var_param_value) = deleted_at {
278 local_var_form_params.insert("deleted_at", local_var_param_value.to_string());
279 }
280 if let Some(local_var_param_value) = updated_at {
281 local_var_form_params.insert("updated_at", local_var_param_value.to_string());
282 }
283 if let Some(local_var_param_value) = service_id2 {
284 local_var_form_params.insert("service_id", local_var_param_value.to_string());
285 }
286 if let Some(local_var_param_value) = version {
287 local_var_form_params.insert("version", local_var_param_value.to_string());
288 }
289 if let Some(local_var_param_value) = name {
290 local_var_form_params.insert("name", local_var_param_value.to_string());
291 }
292 if let Some(local_var_param_value) = shield {
293 local_var_form_params.insert("shield", local_var_param_value.to_string());
294 }
295 if let Some(local_var_param_value) = request_condition {
296 local_var_form_params.insert("request_condition", local_var_param_value.to_string());
297 }
298 if let Some(local_var_param_value) = tls_ciphers {
299 local_var_form_params.insert("tls_ciphers", local_var_param_value.to_string());
300 }
301 if let Some(local_var_param_value) = tls_sni_hostname {
302 local_var_form_params.insert("tls_sni_hostname", local_var_param_value.to_string());
303 }
304 if let Some(local_var_param_value) = min_tls_version {
305 local_var_form_params.insert("min_tls_version", local_var_param_value.to_string());
306 }
307 if let Some(local_var_param_value) = max_tls_version {
308 local_var_form_params.insert("max_tls_version", local_var_param_value.to_string());
309 }
310 if let Some(local_var_param_value) = healthcheck {
311 local_var_form_params.insert("healthcheck", local_var_param_value.to_string());
312 }
313 if let Some(local_var_param_value) = comment {
314 local_var_form_params.insert("comment", local_var_param_value.to_string());
315 }
316 if let Some(local_var_param_value) = _type {
317 local_var_form_params.insert("type", local_var_param_value.to_string());
318 }
319 if let Some(local_var_param_value) = override_host {
320 local_var_form_params.insert("override_host", local_var_param_value.to_string());
321 }
322 if let Some(local_var_param_value) = between_bytes_timeout {
323 local_var_form_params.insert("between_bytes_timeout", local_var_param_value.to_string());
324 }
325 if let Some(local_var_param_value) = connect_timeout {
326 local_var_form_params.insert("connect_timeout", local_var_param_value.to_string());
327 }
328 if let Some(local_var_param_value) = first_byte_timeout {
329 local_var_form_params.insert("first_byte_timeout", local_var_param_value.to_string());
330 }
331 if let Some(local_var_param_value) = max_conn_default {
332 local_var_form_params.insert("max_conn_default", local_var_param_value.to_string());
333 }
334 if let Some(local_var_param_value) = quorum {
335 local_var_form_params.insert("quorum", local_var_param_value.to_string());
336 }
337 if let Some(local_var_param_value) = tls_check_cert {
338 local_var_form_params.insert("tls_check_cert", local_var_param_value.to_string());
339 }
340 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
341
342 let local_var_req = local_var_req_builder.build()?;
343 let local_var_resp = local_var_client.execute(local_var_req).await?;
344
345 if "POST" != "GET" && "POST" != "HEAD" {
346 let headers = local_var_resp.headers();
347 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
348 Some(v) => v.to_str().unwrap().parse().unwrap(),
349 None => configuration::DEFAULT_RATELIMIT,
350 };
351 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
352 Some(v) => v.to_str().unwrap().parse().unwrap(),
353 None => 0,
354 };
355 }
356
357 let local_var_status = local_var_resp.status();
358 let local_var_content = local_var_resp.text().await?;
359
360 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
361 serde_json::from_str(&local_var_content).map_err(Error::from)
362 } else {
363 let local_var_entity: Option<CreateServerPoolError> = serde_json::from_str(&local_var_content).ok();
364 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
365 Err(Error::ResponseError(local_var_error))
366 }
367}
368
369pub async fn delete_server_pool(configuration: &mut configuration::Configuration, params: DeleteServerPoolParams) -> Result<crate::models::InlineResponse200, Error<DeleteServerPoolError>> {
371 let local_var_configuration = configuration;
372
373 let service_id = params.service_id;
375 let version_id = params.version_id;
376 let pool_name = params.pool_name;
377
378
379 let local_var_client = &local_var_configuration.client;
380
381 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/pool/{pool_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, pool_name=crate::apis::urlencode(pool_name));
382 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
383
384 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
385 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
386 }
387 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
388 let local_var_key = local_var_apikey.key.clone();
389 let local_var_value = match local_var_apikey.prefix {
390 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
391 None => local_var_key,
392 };
393 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
394 };
395
396 let local_var_req = local_var_req_builder.build()?;
397 let local_var_resp = local_var_client.execute(local_var_req).await?;
398
399 if "DELETE" != "GET" && "DELETE" != "HEAD" {
400 let headers = local_var_resp.headers();
401 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
402 Some(v) => v.to_str().unwrap().parse().unwrap(),
403 None => configuration::DEFAULT_RATELIMIT,
404 };
405 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
406 Some(v) => v.to_str().unwrap().parse().unwrap(),
407 None => 0,
408 };
409 }
410
411 let local_var_status = local_var_resp.status();
412 let local_var_content = local_var_resp.text().await?;
413
414 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
415 serde_json::from_str(&local_var_content).map_err(Error::from)
416 } else {
417 let local_var_entity: Option<DeleteServerPoolError> = serde_json::from_str(&local_var_content).ok();
418 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
419 Err(Error::ResponseError(local_var_error))
420 }
421}
422
423pub async fn get_server_pool(configuration: &mut configuration::Configuration, params: GetServerPoolParams) -> Result<crate::models::PoolResponse, Error<GetServerPoolError>> {
425 let local_var_configuration = configuration;
426
427 let service_id = params.service_id;
429 let version_id = params.version_id;
430 let pool_name = params.pool_name;
431
432
433 let local_var_client = &local_var_configuration.client;
434
435 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/pool/{pool_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, pool_name=crate::apis::urlencode(pool_name));
436 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
437
438 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
439 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
440 }
441 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
442 let local_var_key = local_var_apikey.key.clone();
443 let local_var_value = match local_var_apikey.prefix {
444 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
445 None => local_var_key,
446 };
447 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
448 };
449
450 let local_var_req = local_var_req_builder.build()?;
451 let local_var_resp = local_var_client.execute(local_var_req).await?;
452
453 if "GET" != "GET" && "GET" != "HEAD" {
454 let headers = local_var_resp.headers();
455 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
456 Some(v) => v.to_str().unwrap().parse().unwrap(),
457 None => configuration::DEFAULT_RATELIMIT,
458 };
459 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
460 Some(v) => v.to_str().unwrap().parse().unwrap(),
461 None => 0,
462 };
463 }
464
465 let local_var_status = local_var_resp.status();
466 let local_var_content = local_var_resp.text().await?;
467
468 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
469 serde_json::from_str(&local_var_content).map_err(Error::from)
470 } else {
471 let local_var_entity: Option<GetServerPoolError> = serde_json::from_str(&local_var_content).ok();
472 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
473 Err(Error::ResponseError(local_var_error))
474 }
475}
476
477pub async fn list_server_pools(configuration: &mut configuration::Configuration, params: ListServerPoolsParams) -> Result<Vec<crate::models::PoolResponse>, Error<ListServerPoolsError>> {
479 let local_var_configuration = configuration;
480
481 let service_id = params.service_id;
483 let version_id = params.version_id;
484
485
486 let local_var_client = &local_var_configuration.client;
487
488 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/pool", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
489 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
490
491 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
492 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
493 }
494 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
495 let local_var_key = local_var_apikey.key.clone();
496 let local_var_value = match local_var_apikey.prefix {
497 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
498 None => local_var_key,
499 };
500 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
501 };
502
503 let local_var_req = local_var_req_builder.build()?;
504 let local_var_resp = local_var_client.execute(local_var_req).await?;
505
506 if "GET" != "GET" && "GET" != "HEAD" {
507 let headers = local_var_resp.headers();
508 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
509 Some(v) => v.to_str().unwrap().parse().unwrap(),
510 None => configuration::DEFAULT_RATELIMIT,
511 };
512 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
513 Some(v) => v.to_str().unwrap().parse().unwrap(),
514 None => 0,
515 };
516 }
517
518 let local_var_status = local_var_resp.status();
519 let local_var_content = local_var_resp.text().await?;
520
521 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
522 serde_json::from_str(&local_var_content).map_err(Error::from)
523 } else {
524 let local_var_entity: Option<ListServerPoolsError> = serde_json::from_str(&local_var_content).ok();
525 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
526 Err(Error::ResponseError(local_var_error))
527 }
528}
529
530pub async fn update_server_pool(configuration: &mut configuration::Configuration, params: UpdateServerPoolParams) -> Result<crate::models::PoolResponse, Error<UpdateServerPoolError>> {
532 let local_var_configuration = configuration;
533
534 let service_id = params.service_id;
536 let version_id = params.version_id;
537 let pool_name = params.pool_name;
538 let tls_ca_cert = params.tls_ca_cert;
539 let tls_client_cert = params.tls_client_cert;
540 let tls_client_key = params.tls_client_key;
541 let tls_cert_hostname = params.tls_cert_hostname;
542 let use_tls = params.use_tls;
543 let created_at = params.created_at;
544 let deleted_at = params.deleted_at;
545 let updated_at = params.updated_at;
546 let service_id2 = params.service_id2;
547 let version = params.version;
548 let name = params.name;
549 let shield = params.shield;
550 let request_condition = params.request_condition;
551 let tls_ciphers = params.tls_ciphers;
552 let tls_sni_hostname = params.tls_sni_hostname;
553 let min_tls_version = params.min_tls_version;
554 let max_tls_version = params.max_tls_version;
555 let healthcheck = params.healthcheck;
556 let comment = params.comment;
557 let _type = params._type;
558 let override_host = params.override_host;
559 let between_bytes_timeout = params.between_bytes_timeout;
560 let connect_timeout = params.connect_timeout;
561 let first_byte_timeout = params.first_byte_timeout;
562 let max_conn_default = params.max_conn_default;
563 let quorum = params.quorum;
564 let tls_check_cert = params.tls_check_cert;
565
566
567 let local_var_client = &local_var_configuration.client;
568
569 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/pool/{pool_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, pool_name=crate::apis::urlencode(pool_name));
570 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
571
572 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
573 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
574 }
575 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
576 let local_var_key = local_var_apikey.key.clone();
577 let local_var_value = match local_var_apikey.prefix {
578 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
579 None => local_var_key,
580 };
581 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
582 };
583 let mut local_var_form_params = std::collections::HashMap::new();
584 if let Some(local_var_param_value) = tls_ca_cert {
585 local_var_form_params.insert("tls_ca_cert", local_var_param_value.to_string());
586 }
587 if let Some(local_var_param_value) = tls_client_cert {
588 local_var_form_params.insert("tls_client_cert", local_var_param_value.to_string());
589 }
590 if let Some(local_var_param_value) = tls_client_key {
591 local_var_form_params.insert("tls_client_key", local_var_param_value.to_string());
592 }
593 if let Some(local_var_param_value) = tls_cert_hostname {
594 local_var_form_params.insert("tls_cert_hostname", local_var_param_value.to_string());
595 }
596 if let Some(local_var_param_value) = use_tls {
597 local_var_form_params.insert("use_tls", local_var_param_value.to_string());
598 }
599 if let Some(local_var_param_value) = created_at {
600 local_var_form_params.insert("created_at", local_var_param_value.to_string());
601 }
602 if let Some(local_var_param_value) = deleted_at {
603 local_var_form_params.insert("deleted_at", local_var_param_value.to_string());
604 }
605 if let Some(local_var_param_value) = updated_at {
606 local_var_form_params.insert("updated_at", local_var_param_value.to_string());
607 }
608 if let Some(local_var_param_value) = service_id2 {
609 local_var_form_params.insert("service_id", local_var_param_value.to_string());
610 }
611 if let Some(local_var_param_value) = version {
612 local_var_form_params.insert("version", local_var_param_value.to_string());
613 }
614 if let Some(local_var_param_value) = name {
615 local_var_form_params.insert("name", local_var_param_value.to_string());
616 }
617 if let Some(local_var_param_value) = shield {
618 local_var_form_params.insert("shield", local_var_param_value.to_string());
619 }
620 if let Some(local_var_param_value) = request_condition {
621 local_var_form_params.insert("request_condition", local_var_param_value.to_string());
622 }
623 if let Some(local_var_param_value) = tls_ciphers {
624 local_var_form_params.insert("tls_ciphers", local_var_param_value.to_string());
625 }
626 if let Some(local_var_param_value) = tls_sni_hostname {
627 local_var_form_params.insert("tls_sni_hostname", local_var_param_value.to_string());
628 }
629 if let Some(local_var_param_value) = min_tls_version {
630 local_var_form_params.insert("min_tls_version", local_var_param_value.to_string());
631 }
632 if let Some(local_var_param_value) = max_tls_version {
633 local_var_form_params.insert("max_tls_version", local_var_param_value.to_string());
634 }
635 if let Some(local_var_param_value) = healthcheck {
636 local_var_form_params.insert("healthcheck", local_var_param_value.to_string());
637 }
638 if let Some(local_var_param_value) = comment {
639 local_var_form_params.insert("comment", local_var_param_value.to_string());
640 }
641 if let Some(local_var_param_value) = _type {
642 local_var_form_params.insert("type", local_var_param_value.to_string());
643 }
644 if let Some(local_var_param_value) = override_host {
645 local_var_form_params.insert("override_host", local_var_param_value.to_string());
646 }
647 if let Some(local_var_param_value) = between_bytes_timeout {
648 local_var_form_params.insert("between_bytes_timeout", local_var_param_value.to_string());
649 }
650 if let Some(local_var_param_value) = connect_timeout {
651 local_var_form_params.insert("connect_timeout", local_var_param_value.to_string());
652 }
653 if let Some(local_var_param_value) = first_byte_timeout {
654 local_var_form_params.insert("first_byte_timeout", local_var_param_value.to_string());
655 }
656 if let Some(local_var_param_value) = max_conn_default {
657 local_var_form_params.insert("max_conn_default", local_var_param_value.to_string());
658 }
659 if let Some(local_var_param_value) = quorum {
660 local_var_form_params.insert("quorum", local_var_param_value.to_string());
661 }
662 if let Some(local_var_param_value) = tls_check_cert {
663 local_var_form_params.insert("tls_check_cert", local_var_param_value.to_string());
664 }
665 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
666
667 let local_var_req = local_var_req_builder.build()?;
668 let local_var_resp = local_var_client.execute(local_var_req).await?;
669
670 if "PUT" != "GET" && "PUT" != "HEAD" {
671 let headers = local_var_resp.headers();
672 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
673 Some(v) => v.to_str().unwrap().parse().unwrap(),
674 None => configuration::DEFAULT_RATELIMIT,
675 };
676 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
677 Some(v) => v.to_str().unwrap().parse().unwrap(),
678 None => 0,
679 };
680 }
681
682 let local_var_status = local_var_resp.status();
683 let local_var_content = local_var_resp.text().await?;
684
685 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
686 serde_json::from_str(&local_var_content).map_err(Error::from)
687 } else {
688 let local_var_entity: Option<UpdateServerPoolError> = serde_json::from_str(&local_var_content).ok();
689 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
690 Err(Error::ResponseError(local_var_error))
691 }
692}
693