fastly_api/apis/
logging_syslog_api.rs

1/*
2 * Fastly API
3 *
4 * Via the Fastly API you can perform any of the operations that are possible within the management console,  including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/) 
5 *
6 */
7
8
9use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14/// struct for passing parameters to the method [`create_log_syslog`]
15#[derive(Clone, Debug, Default)]
16pub struct CreateLogSyslogParams {
17    /// Alphanumeric string identifying the service.
18    pub service_id: String,
19    /// Integer identifying a service version.
20    pub version_id: i32,
21    /// The name for the real-time logging configuration.
22    pub name: Option<String>,
23    /// Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. 
24    pub placement: Option<String>,
25    /// The name of an existing condition in the configured endpoint, or leave blank to always execute.
26    pub response_condition: Option<String>,
27    /// A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/).
28    pub format: Option<String>,
29    /// The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global.
30    pub log_processing_region: Option<String>,
31    /// The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. 
32    pub format_version: Option<i32>,
33    /// A secure certificate to authenticate a server with. Must be in PEM format.
34    pub tls_ca_cert: Option<String>,
35    /// The client certificate used to make authenticated requests. Must be in PEM format.
36    pub tls_client_cert: Option<String>,
37    /// The client private key used to make authenticated requests. Must be in PEM format.
38    pub tls_client_key: Option<String>,
39    /// The hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
40    pub tls_hostname: Option<String>,
41    /// A hostname or IPv4 address.
42    pub address: Option<String>,
43    /// The port number.
44    pub port: Option<i32>,
45    pub message_type: Option<crate::models::LoggingMessageType>,
46    /// The hostname used for the syslog endpoint.
47    pub hostname: Option<String>,
48    /// The IPv4 address used for the syslog endpoint.
49    pub ipv4: Option<String>,
50    /// Whether to prepend each message with a specific token.
51    pub token: Option<String>,
52    pub use_tls: Option<crate::models::LoggingUseTlsString>
53}
54
55/// struct for passing parameters to the method [`delete_log_syslog`]
56#[derive(Clone, Debug, Default)]
57pub struct DeleteLogSyslogParams {
58    /// Alphanumeric string identifying the service.
59    pub service_id: String,
60    /// Integer identifying a service version.
61    pub version_id: i32,
62    /// The name for the real-time logging configuration.
63    pub logging_syslog_name: String
64}
65
66/// struct for passing parameters to the method [`get_log_syslog`]
67#[derive(Clone, Debug, Default)]
68pub struct GetLogSyslogParams {
69    /// Alphanumeric string identifying the service.
70    pub service_id: String,
71    /// Integer identifying a service version.
72    pub version_id: i32,
73    /// The name for the real-time logging configuration.
74    pub logging_syslog_name: String
75}
76
77/// struct for passing parameters to the method [`list_log_syslog`]
78#[derive(Clone, Debug, Default)]
79pub struct ListLogSyslogParams {
80    /// Alphanumeric string identifying the service.
81    pub service_id: String,
82    /// Integer identifying a service version.
83    pub version_id: i32
84}
85
86/// struct for passing parameters to the method [`update_log_syslog`]
87#[derive(Clone, Debug, Default)]
88pub struct UpdateLogSyslogParams {
89    /// Alphanumeric string identifying the service.
90    pub service_id: String,
91    /// Integer identifying a service version.
92    pub version_id: i32,
93    /// The name for the real-time logging configuration.
94    pub logging_syslog_name: String,
95    /// The name for the real-time logging configuration.
96    pub name: Option<String>,
97    /// Where in the generated VCL the logging call should be placed. If not set, endpoints with `format_version` of 2 are placed in `vcl_log` and those with `format_version` of 1 are placed in `vcl_deliver`. 
98    pub placement: Option<String>,
99    /// The name of an existing condition in the configured endpoint, or leave blank to always execute.
100    pub response_condition: Option<String>,
101    /// A Fastly [log format string](https://www.fastly.com/documentation/guides/integrations/streaming-logs/custom-log-formats/).
102    pub format: Option<String>,
103    /// The geographic region where the logs will be processed before streaming. Valid values are `us`, `eu`, and `none` for global.
104    pub log_processing_region: Option<String>,
105    /// The version of the custom logging format used for the configured endpoint. The logging call gets placed by default in `vcl_log` if `format_version` is set to `2` and in `vcl_deliver` if `format_version` is set to `1`. 
106    pub format_version: Option<i32>,
107    /// A secure certificate to authenticate a server with. Must be in PEM format.
108    pub tls_ca_cert: Option<String>,
109    /// The client certificate used to make authenticated requests. Must be in PEM format.
110    pub tls_client_cert: Option<String>,
111    /// The client private key used to make authenticated requests. Must be in PEM format.
112    pub tls_client_key: Option<String>,
113    /// The hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
114    pub tls_hostname: Option<String>,
115    /// A hostname or IPv4 address.
116    pub address: Option<String>,
117    /// The port number.
118    pub port: Option<i32>,
119    pub message_type: Option<crate::models::LoggingMessageType>,
120    /// The hostname used for the syslog endpoint.
121    pub hostname: Option<String>,
122    /// The IPv4 address used for the syslog endpoint.
123    pub ipv4: Option<String>,
124    /// Whether to prepend each message with a specific token.
125    pub token: Option<String>,
126    pub use_tls: Option<crate::models::LoggingUseTlsString>
127}
128
129
130/// struct for typed errors of method [`create_log_syslog`]
131#[derive(Debug, Clone, Serialize, Deserialize)]
132#[serde(untagged)]
133pub enum CreateLogSyslogError {
134    UnknownValue(serde_json::Value),
135}
136
137/// struct for typed errors of method [`delete_log_syslog`]
138#[derive(Debug, Clone, Serialize, Deserialize)]
139#[serde(untagged)]
140pub enum DeleteLogSyslogError {
141    UnknownValue(serde_json::Value),
142}
143
144/// struct for typed errors of method [`get_log_syslog`]
145#[derive(Debug, Clone, Serialize, Deserialize)]
146#[serde(untagged)]
147pub enum GetLogSyslogError {
148    UnknownValue(serde_json::Value),
149}
150
151/// struct for typed errors of method [`list_log_syslog`]
152#[derive(Debug, Clone, Serialize, Deserialize)]
153#[serde(untagged)]
154pub enum ListLogSyslogError {
155    UnknownValue(serde_json::Value),
156}
157
158/// struct for typed errors of method [`update_log_syslog`]
159#[derive(Debug, Clone, Serialize, Deserialize)]
160#[serde(untagged)]
161pub enum UpdateLogSyslogError {
162    UnknownValue(serde_json::Value),
163}
164
165
166/// Create a Syslog for a particular service and version.
167pub async fn create_log_syslog(configuration: &mut configuration::Configuration, params: CreateLogSyslogParams) -> Result<crate::models::LoggingSyslogResponse, Error<CreateLogSyslogError>> {
168    let local_var_configuration = configuration;
169
170    // unbox the parameters
171    let service_id = params.service_id;
172    let version_id = params.version_id;
173    let name = params.name;
174    let placement = params.placement;
175    let response_condition = params.response_condition;
176    let format = params.format;
177    let log_processing_region = params.log_processing_region;
178    let format_version = params.format_version;
179    let tls_ca_cert = params.tls_ca_cert;
180    let tls_client_cert = params.tls_client_cert;
181    let tls_client_key = params.tls_client_key;
182    let tls_hostname = params.tls_hostname;
183    let address = params.address;
184    let port = params.port;
185    let message_type = params.message_type;
186    let hostname = params.hostname;
187    let ipv4 = params.ipv4;
188    let token = params.token;
189    let use_tls = params.use_tls;
190
191
192    let local_var_client = &local_var_configuration.client;
193
194    let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/syslog", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
195    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
196
197    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
198        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
199    }
200    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
201        let local_var_key = local_var_apikey.key.clone();
202        let local_var_value = match local_var_apikey.prefix {
203            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
204            None => local_var_key,
205        };
206        local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
207    };
208    let mut local_var_form_params = std::collections::HashMap::new();
209    if let Some(local_var_param_value) = name {
210        local_var_form_params.insert("name", local_var_param_value.to_string());
211    }
212    if let Some(local_var_param_value) = placement {
213        local_var_form_params.insert("placement", local_var_param_value.to_string());
214    }
215    if let Some(local_var_param_value) = response_condition {
216        local_var_form_params.insert("response_condition", local_var_param_value.to_string());
217    }
218    if let Some(local_var_param_value) = format {
219        local_var_form_params.insert("format", local_var_param_value.to_string());
220    }
221    if let Some(local_var_param_value) = log_processing_region {
222        local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
223    }
224    if let Some(local_var_param_value) = format_version {
225        local_var_form_params.insert("format_version", local_var_param_value.to_string());
226    }
227    if let Some(local_var_param_value) = tls_ca_cert {
228        local_var_form_params.insert("tls_ca_cert", local_var_param_value.to_string());
229    }
230    if let Some(local_var_param_value) = tls_client_cert {
231        local_var_form_params.insert("tls_client_cert", local_var_param_value.to_string());
232    }
233    if let Some(local_var_param_value) = tls_client_key {
234        local_var_form_params.insert("tls_client_key", local_var_param_value.to_string());
235    }
236    if let Some(local_var_param_value) = tls_hostname {
237        local_var_form_params.insert("tls_hostname", local_var_param_value.to_string());
238    }
239    if let Some(local_var_param_value) = address {
240        local_var_form_params.insert("address", local_var_param_value.to_string());
241    }
242    if let Some(local_var_param_value) = port {
243        local_var_form_params.insert("port", local_var_param_value.to_string());
244    }
245    if let Some(local_var_param_value) = message_type {
246        local_var_form_params.insert("message_type", local_var_param_value.to_string());
247    }
248    if let Some(local_var_param_value) = hostname {
249        local_var_form_params.insert("hostname", local_var_param_value.to_string());
250    }
251    if let Some(local_var_param_value) = ipv4 {
252        local_var_form_params.insert("ipv4", local_var_param_value.to_string());
253    }
254    if let Some(local_var_param_value) = token {
255        local_var_form_params.insert("token", local_var_param_value.to_string());
256    }
257    if let Some(local_var_param_value) = use_tls {
258        local_var_form_params.insert("use_tls", local_var_param_value.to_string());
259    }
260    local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
261
262    let local_var_req = local_var_req_builder.build()?;
263    let local_var_resp = local_var_client.execute(local_var_req).await?;
264
265    if "POST" != "GET" && "POST" != "HEAD" {
266      let headers = local_var_resp.headers();
267      local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
268          Some(v) => v.to_str().unwrap().parse().unwrap(),
269          None => configuration::DEFAULT_RATELIMIT,
270      };
271      local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
272          Some(v) => v.to_str().unwrap().parse().unwrap(),
273          None => 0,
274      };
275    }
276
277    let local_var_status = local_var_resp.status();
278    let local_var_content = local_var_resp.text().await?;
279
280    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
281        serde_json::from_str(&local_var_content).map_err(Error::from)
282    } else {
283        let local_var_entity: Option<CreateLogSyslogError> = serde_json::from_str(&local_var_content).ok();
284        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
285        Err(Error::ResponseError(local_var_error))
286    }
287}
288
289/// Delete the Syslog for a particular service and version.
290pub async fn delete_log_syslog(configuration: &mut configuration::Configuration, params: DeleteLogSyslogParams) -> Result<crate::models::InlineResponse200, Error<DeleteLogSyslogError>> {
291    let local_var_configuration = configuration;
292
293    // unbox the parameters
294    let service_id = params.service_id;
295    let version_id = params.version_id;
296    let logging_syslog_name = params.logging_syslog_name;
297
298
299    let local_var_client = &local_var_configuration.client;
300
301    let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/syslog/{logging_syslog_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_syslog_name=crate::apis::urlencode(logging_syslog_name));
302    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
303
304    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
305        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
306    }
307    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
308        let local_var_key = local_var_apikey.key.clone();
309        let local_var_value = match local_var_apikey.prefix {
310            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
311            None => local_var_key,
312        };
313        local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
314    };
315
316    let local_var_req = local_var_req_builder.build()?;
317    let local_var_resp = local_var_client.execute(local_var_req).await?;
318
319    if "DELETE" != "GET" && "DELETE" != "HEAD" {
320      let headers = local_var_resp.headers();
321      local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
322          Some(v) => v.to_str().unwrap().parse().unwrap(),
323          None => configuration::DEFAULT_RATELIMIT,
324      };
325      local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
326          Some(v) => v.to_str().unwrap().parse().unwrap(),
327          None => 0,
328      };
329    }
330
331    let local_var_status = local_var_resp.status();
332    let local_var_content = local_var_resp.text().await?;
333
334    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
335        serde_json::from_str(&local_var_content).map_err(Error::from)
336    } else {
337        let local_var_entity: Option<DeleteLogSyslogError> = serde_json::from_str(&local_var_content).ok();
338        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
339        Err(Error::ResponseError(local_var_error))
340    }
341}
342
343/// Get the Syslog for a particular service and version.
344pub async fn get_log_syslog(configuration: &mut configuration::Configuration, params: GetLogSyslogParams) -> Result<crate::models::LoggingSyslogResponse, Error<GetLogSyslogError>> {
345    let local_var_configuration = configuration;
346
347    // unbox the parameters
348    let service_id = params.service_id;
349    let version_id = params.version_id;
350    let logging_syslog_name = params.logging_syslog_name;
351
352
353    let local_var_client = &local_var_configuration.client;
354
355    let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/syslog/{logging_syslog_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_syslog_name=crate::apis::urlencode(logging_syslog_name));
356    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
357
358    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
359        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
360    }
361    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
362        let local_var_key = local_var_apikey.key.clone();
363        let local_var_value = match local_var_apikey.prefix {
364            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
365            None => local_var_key,
366        };
367        local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
368    };
369
370    let local_var_req = local_var_req_builder.build()?;
371    let local_var_resp = local_var_client.execute(local_var_req).await?;
372
373    if "GET" != "GET" && "GET" != "HEAD" {
374      let headers = local_var_resp.headers();
375      local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
376          Some(v) => v.to_str().unwrap().parse().unwrap(),
377          None => configuration::DEFAULT_RATELIMIT,
378      };
379      local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
380          Some(v) => v.to_str().unwrap().parse().unwrap(),
381          None => 0,
382      };
383    }
384
385    let local_var_status = local_var_resp.status();
386    let local_var_content = local_var_resp.text().await?;
387
388    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
389        serde_json::from_str(&local_var_content).map_err(Error::from)
390    } else {
391        let local_var_entity: Option<GetLogSyslogError> = serde_json::from_str(&local_var_content).ok();
392        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
393        Err(Error::ResponseError(local_var_error))
394    }
395}
396
397/// List all of the Syslogs for a particular service and version.
398pub async fn list_log_syslog(configuration: &mut configuration::Configuration, params: ListLogSyslogParams) -> Result<Vec<crate::models::LoggingSyslogResponse>, Error<ListLogSyslogError>> {
399    let local_var_configuration = configuration;
400
401    // unbox the parameters
402    let service_id = params.service_id;
403    let version_id = params.version_id;
404
405
406    let local_var_client = &local_var_configuration.client;
407
408    let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/syslog", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
409    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
410
411    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
412        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
413    }
414    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
415        let local_var_key = local_var_apikey.key.clone();
416        let local_var_value = match local_var_apikey.prefix {
417            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
418            None => local_var_key,
419        };
420        local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
421    };
422
423    let local_var_req = local_var_req_builder.build()?;
424    let local_var_resp = local_var_client.execute(local_var_req).await?;
425
426    if "GET" != "GET" && "GET" != "HEAD" {
427      let headers = local_var_resp.headers();
428      local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
429          Some(v) => v.to_str().unwrap().parse().unwrap(),
430          None => configuration::DEFAULT_RATELIMIT,
431      };
432      local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
433          Some(v) => v.to_str().unwrap().parse().unwrap(),
434          None => 0,
435      };
436    }
437
438    let local_var_status = local_var_resp.status();
439    let local_var_content = local_var_resp.text().await?;
440
441    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
442        serde_json::from_str(&local_var_content).map_err(Error::from)
443    } else {
444        let local_var_entity: Option<ListLogSyslogError> = serde_json::from_str(&local_var_content).ok();
445        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
446        Err(Error::ResponseError(local_var_error))
447    }
448}
449
450/// Update the Syslog for a particular service and version.
451pub async fn update_log_syslog(configuration: &mut configuration::Configuration, params: UpdateLogSyslogParams) -> Result<crate::models::LoggingSyslogResponse, Error<UpdateLogSyslogError>> {
452    let local_var_configuration = configuration;
453
454    // unbox the parameters
455    let service_id = params.service_id;
456    let version_id = params.version_id;
457    let logging_syslog_name = params.logging_syslog_name;
458    let name = params.name;
459    let placement = params.placement;
460    let response_condition = params.response_condition;
461    let format = params.format;
462    let log_processing_region = params.log_processing_region;
463    let format_version = params.format_version;
464    let tls_ca_cert = params.tls_ca_cert;
465    let tls_client_cert = params.tls_client_cert;
466    let tls_client_key = params.tls_client_key;
467    let tls_hostname = params.tls_hostname;
468    let address = params.address;
469    let port = params.port;
470    let message_type = params.message_type;
471    let hostname = params.hostname;
472    let ipv4 = params.ipv4;
473    let token = params.token;
474    let use_tls = params.use_tls;
475
476
477    let local_var_client = &local_var_configuration.client;
478
479    let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/syslog/{logging_syslog_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_syslog_name=crate::apis::urlencode(logging_syslog_name));
480    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
481
482    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
483        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
484    }
485    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
486        let local_var_key = local_var_apikey.key.clone();
487        let local_var_value = match local_var_apikey.prefix {
488            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
489            None => local_var_key,
490        };
491        local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
492    };
493    let mut local_var_form_params = std::collections::HashMap::new();
494    if let Some(local_var_param_value) = name {
495        local_var_form_params.insert("name", local_var_param_value.to_string());
496    }
497    if let Some(local_var_param_value) = placement {
498        local_var_form_params.insert("placement", local_var_param_value.to_string());
499    }
500    if let Some(local_var_param_value) = response_condition {
501        local_var_form_params.insert("response_condition", local_var_param_value.to_string());
502    }
503    if let Some(local_var_param_value) = format {
504        local_var_form_params.insert("format", local_var_param_value.to_string());
505    }
506    if let Some(local_var_param_value) = log_processing_region {
507        local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
508    }
509    if let Some(local_var_param_value) = format_version {
510        local_var_form_params.insert("format_version", local_var_param_value.to_string());
511    }
512    if let Some(local_var_param_value) = tls_ca_cert {
513        local_var_form_params.insert("tls_ca_cert", local_var_param_value.to_string());
514    }
515    if let Some(local_var_param_value) = tls_client_cert {
516        local_var_form_params.insert("tls_client_cert", local_var_param_value.to_string());
517    }
518    if let Some(local_var_param_value) = tls_client_key {
519        local_var_form_params.insert("tls_client_key", local_var_param_value.to_string());
520    }
521    if let Some(local_var_param_value) = tls_hostname {
522        local_var_form_params.insert("tls_hostname", local_var_param_value.to_string());
523    }
524    if let Some(local_var_param_value) = address {
525        local_var_form_params.insert("address", local_var_param_value.to_string());
526    }
527    if let Some(local_var_param_value) = port {
528        local_var_form_params.insert("port", local_var_param_value.to_string());
529    }
530    if let Some(local_var_param_value) = message_type {
531        local_var_form_params.insert("message_type", local_var_param_value.to_string());
532    }
533    if let Some(local_var_param_value) = hostname {
534        local_var_form_params.insert("hostname", local_var_param_value.to_string());
535    }
536    if let Some(local_var_param_value) = ipv4 {
537        local_var_form_params.insert("ipv4", local_var_param_value.to_string());
538    }
539    if let Some(local_var_param_value) = token {
540        local_var_form_params.insert("token", local_var_param_value.to_string());
541    }
542    if let Some(local_var_param_value) = use_tls {
543        local_var_form_params.insert("use_tls", local_var_param_value.to_string());
544    }
545    local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
546
547    let local_var_req = local_var_req_builder.build()?;
548    let local_var_resp = local_var_client.execute(local_var_req).await?;
549
550    if "PUT" != "GET" && "PUT" != "HEAD" {
551      let headers = local_var_resp.headers();
552      local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
553          Some(v) => v.to_str().unwrap().parse().unwrap(),
554          None => configuration::DEFAULT_RATELIMIT,
555      };
556      local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
557          Some(v) => v.to_str().unwrap().parse().unwrap(),
558          None => 0,
559      };
560    }
561
562    let local_var_status = local_var_resp.status();
563    let local_var_content = local_var_resp.text().await?;
564
565    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
566        serde_json::from_str(&local_var_content).map_err(Error::from)
567    } else {
568        let local_var_entity: Option<UpdateLogSyslogError> = serde_json::from_str(&local_var_content).ok();
569        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
570        Err(Error::ResponseError(local_var_error))
571    }
572}
573