1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct CreateLogLogentriesParams {
17 pub service_id: String,
19 pub version_id: i32,
21 pub name: Option<String>,
23 pub placement: Option<String>,
25 pub response_condition: Option<String>,
27 pub format: Option<String>,
29 pub log_processing_region: Option<String>,
31 pub format_version: Option<i32>,
33 pub port: Option<i32>,
35 pub token: Option<String>,
37 pub use_tls: Option<crate::models::LoggingUseTlsString>,
38 pub region: Option<String>
40}
41
42#[derive(Clone, Debug, Default)]
44pub struct DeleteLogLogentriesParams {
45 pub service_id: String,
47 pub version_id: i32,
49 pub logging_logentries_name: String
51}
52
53#[derive(Clone, Debug, Default)]
55pub struct GetLogLogentriesParams {
56 pub service_id: String,
58 pub version_id: i32,
60 pub logging_logentries_name: String
62}
63
64#[derive(Clone, Debug, Default)]
66pub struct ListLogLogentriesParams {
67 pub service_id: String,
69 pub version_id: i32
71}
72
73#[derive(Clone, Debug, Default)]
75pub struct UpdateLogLogentriesParams {
76 pub service_id: String,
78 pub version_id: i32,
80 pub logging_logentries_name: String,
82 pub name: Option<String>,
84 pub placement: Option<String>,
86 pub response_condition: Option<String>,
88 pub format: Option<String>,
90 pub log_processing_region: Option<String>,
92 pub format_version: Option<i32>,
94 pub port: Option<i32>,
96 pub token: Option<String>,
98 pub use_tls: Option<crate::models::LoggingUseTlsString>,
99 pub region: Option<String>
101}
102
103
104#[derive(Debug, Clone, Serialize, Deserialize)]
106#[serde(untagged)]
107pub enum CreateLogLogentriesError {
108 UnknownValue(serde_json::Value),
109}
110
111#[derive(Debug, Clone, Serialize, Deserialize)]
113#[serde(untagged)]
114pub enum DeleteLogLogentriesError {
115 UnknownValue(serde_json::Value),
116}
117
118#[derive(Debug, Clone, Serialize, Deserialize)]
120#[serde(untagged)]
121pub enum GetLogLogentriesError {
122 UnknownValue(serde_json::Value),
123}
124
125#[derive(Debug, Clone, Serialize, Deserialize)]
127#[serde(untagged)]
128pub enum ListLogLogentriesError {
129 UnknownValue(serde_json::Value),
130}
131
132#[derive(Debug, Clone, Serialize, Deserialize)]
134#[serde(untagged)]
135pub enum UpdateLogLogentriesError {
136 UnknownValue(serde_json::Value),
137}
138
139
140pub async fn create_log_logentries(configuration: &mut configuration::Configuration, params: CreateLogLogentriesParams) -> Result<crate::models::LoggingLogentriesResponse, Error<CreateLogLogentriesError>> {
142 let local_var_configuration = configuration;
143
144 let service_id = params.service_id;
146 let version_id = params.version_id;
147 let name = params.name;
148 let placement = params.placement;
149 let response_condition = params.response_condition;
150 let format = params.format;
151 let log_processing_region = params.log_processing_region;
152 let format_version = params.format_version;
153 let port = params.port;
154 let token = params.token;
155 let use_tls = params.use_tls;
156 let region = params.region;
157
158
159 let local_var_client = &local_var_configuration.client;
160
161 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/logentries", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
162 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
163
164 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
165 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
166 }
167 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
168 let local_var_key = local_var_apikey.key.clone();
169 let local_var_value = match local_var_apikey.prefix {
170 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
171 None => local_var_key,
172 };
173 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
174 };
175 let mut local_var_form_params = std::collections::HashMap::new();
176 if let Some(local_var_param_value) = name {
177 local_var_form_params.insert("name", local_var_param_value.to_string());
178 }
179 if let Some(local_var_param_value) = placement {
180 local_var_form_params.insert("placement", local_var_param_value.to_string());
181 }
182 if let Some(local_var_param_value) = response_condition {
183 local_var_form_params.insert("response_condition", local_var_param_value.to_string());
184 }
185 if let Some(local_var_param_value) = format {
186 local_var_form_params.insert("format", local_var_param_value.to_string());
187 }
188 if let Some(local_var_param_value) = log_processing_region {
189 local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
190 }
191 if let Some(local_var_param_value) = format_version {
192 local_var_form_params.insert("format_version", local_var_param_value.to_string());
193 }
194 if let Some(local_var_param_value) = port {
195 local_var_form_params.insert("port", local_var_param_value.to_string());
196 }
197 if let Some(local_var_param_value) = token {
198 local_var_form_params.insert("token", local_var_param_value.to_string());
199 }
200 if let Some(local_var_param_value) = use_tls {
201 local_var_form_params.insert("use_tls", local_var_param_value.to_string());
202 }
203 if let Some(local_var_param_value) = region {
204 local_var_form_params.insert("region", local_var_param_value.to_string());
205 }
206 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
207
208 let local_var_req = local_var_req_builder.build()?;
209 let local_var_resp = local_var_client.execute(local_var_req).await?;
210
211 if "POST" != "GET" && "POST" != "HEAD" {
212 let headers = local_var_resp.headers();
213 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
214 Some(v) => v.to_str().unwrap().parse().unwrap(),
215 None => configuration::DEFAULT_RATELIMIT,
216 };
217 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
218 Some(v) => v.to_str().unwrap().parse().unwrap(),
219 None => 0,
220 };
221 }
222
223 let local_var_status = local_var_resp.status();
224 let local_var_content = local_var_resp.text().await?;
225
226 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
227 serde_json::from_str(&local_var_content).map_err(Error::from)
228 } else {
229 let local_var_entity: Option<CreateLogLogentriesError> = serde_json::from_str(&local_var_content).ok();
230 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
231 Err(Error::ResponseError(local_var_error))
232 }
233}
234
235pub async fn delete_log_logentries(configuration: &mut configuration::Configuration, params: DeleteLogLogentriesParams) -> Result<crate::models::InlineResponse200, Error<DeleteLogLogentriesError>> {
237 let local_var_configuration = configuration;
238
239 let service_id = params.service_id;
241 let version_id = params.version_id;
242 let logging_logentries_name = params.logging_logentries_name;
243
244
245 let local_var_client = &local_var_configuration.client;
246
247 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/logentries/{logging_logentries_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_logentries_name=crate::apis::urlencode(logging_logentries_name));
248 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
249
250 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
251 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
252 }
253 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
254 let local_var_key = local_var_apikey.key.clone();
255 let local_var_value = match local_var_apikey.prefix {
256 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
257 None => local_var_key,
258 };
259 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
260 };
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 "DELETE" != "GET" && "DELETE" != "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<DeleteLogLogentriesError> = 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
289pub async fn get_log_logentries(configuration: &mut configuration::Configuration, params: GetLogLogentriesParams) -> Result<crate::models::LoggingLogentriesResponse, Error<GetLogLogentriesError>> {
291 let local_var_configuration = configuration;
292
293 let service_id = params.service_id;
295 let version_id = params.version_id;
296 let logging_logentries_name = params.logging_logentries_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/logentries/{logging_logentries_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_logentries_name=crate::apis::urlencode(logging_logentries_name));
302 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, 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 "GET" != "GET" && "GET" != "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<GetLogLogentriesError> = 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
343pub async fn list_log_logentries(configuration: &mut configuration::Configuration, params: ListLogLogentriesParams) -> Result<Vec<crate::models::LoggingLogentriesResponse>, Error<ListLogLogentriesError>> {
345 let local_var_configuration = configuration;
346
347 let service_id = params.service_id;
349 let version_id = params.version_id;
350
351
352 let local_var_client = &local_var_configuration.client;
353
354 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/logentries", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id);
355 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
356
357 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
358 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
359 }
360 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
361 let local_var_key = local_var_apikey.key.clone();
362 let local_var_value = match local_var_apikey.prefix {
363 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
364 None => local_var_key,
365 };
366 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
367 };
368
369 let local_var_req = local_var_req_builder.build()?;
370 let local_var_resp = local_var_client.execute(local_var_req).await?;
371
372 if "GET" != "GET" && "GET" != "HEAD" {
373 let headers = local_var_resp.headers();
374 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
375 Some(v) => v.to_str().unwrap().parse().unwrap(),
376 None => configuration::DEFAULT_RATELIMIT,
377 };
378 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
379 Some(v) => v.to_str().unwrap().parse().unwrap(),
380 None => 0,
381 };
382 }
383
384 let local_var_status = local_var_resp.status();
385 let local_var_content = local_var_resp.text().await?;
386
387 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
388 serde_json::from_str(&local_var_content).map_err(Error::from)
389 } else {
390 let local_var_entity: Option<ListLogLogentriesError> = serde_json::from_str(&local_var_content).ok();
391 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
392 Err(Error::ResponseError(local_var_error))
393 }
394}
395
396pub async fn update_log_logentries(configuration: &mut configuration::Configuration, params: UpdateLogLogentriesParams) -> Result<crate::models::LoggingLogentriesResponse, Error<UpdateLogLogentriesError>> {
398 let local_var_configuration = configuration;
399
400 let service_id = params.service_id;
402 let version_id = params.version_id;
403 let logging_logentries_name = params.logging_logentries_name;
404 let name = params.name;
405 let placement = params.placement;
406 let response_condition = params.response_condition;
407 let format = params.format;
408 let log_processing_region = params.log_processing_region;
409 let format_version = params.format_version;
410 let port = params.port;
411 let token = params.token;
412 let use_tls = params.use_tls;
413 let region = params.region;
414
415
416 let local_var_client = &local_var_configuration.client;
417
418 let local_var_uri_str = format!("{}/service/{service_id}/version/{version_id}/logging/logentries/{logging_logentries_name}", local_var_configuration.base_path, service_id=crate::apis::urlencode(service_id), version_id=version_id, logging_logentries_name=crate::apis::urlencode(logging_logentries_name));
419 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
420
421 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
422 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
423 }
424 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
425 let local_var_key = local_var_apikey.key.clone();
426 let local_var_value = match local_var_apikey.prefix {
427 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
428 None => local_var_key,
429 };
430 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
431 };
432 let mut local_var_form_params = std::collections::HashMap::new();
433 if let Some(local_var_param_value) = name {
434 local_var_form_params.insert("name", local_var_param_value.to_string());
435 }
436 if let Some(local_var_param_value) = placement {
437 local_var_form_params.insert("placement", local_var_param_value.to_string());
438 }
439 if let Some(local_var_param_value) = response_condition {
440 local_var_form_params.insert("response_condition", local_var_param_value.to_string());
441 }
442 if let Some(local_var_param_value) = format {
443 local_var_form_params.insert("format", local_var_param_value.to_string());
444 }
445 if let Some(local_var_param_value) = log_processing_region {
446 local_var_form_params.insert("log_processing_region", local_var_param_value.to_string());
447 }
448 if let Some(local_var_param_value) = format_version {
449 local_var_form_params.insert("format_version", local_var_param_value.to_string());
450 }
451 if let Some(local_var_param_value) = port {
452 local_var_form_params.insert("port", local_var_param_value.to_string());
453 }
454 if let Some(local_var_param_value) = token {
455 local_var_form_params.insert("token", local_var_param_value.to_string());
456 }
457 if let Some(local_var_param_value) = use_tls {
458 local_var_form_params.insert("use_tls", local_var_param_value.to_string());
459 }
460 if let Some(local_var_param_value) = region {
461 local_var_form_params.insert("region", local_var_param_value.to_string());
462 }
463 local_var_req_builder = local_var_req_builder.form(&local_var_form_params);
464
465 let local_var_req = local_var_req_builder.build()?;
466 let local_var_resp = local_var_client.execute(local_var_req).await?;
467
468 if "PUT" != "GET" && "PUT" != "HEAD" {
469 let headers = local_var_resp.headers();
470 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
471 Some(v) => v.to_str().unwrap().parse().unwrap(),
472 None => configuration::DEFAULT_RATELIMIT,
473 };
474 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
475 Some(v) => v.to_str().unwrap().parse().unwrap(),
476 None => 0,
477 };
478 }
479
480 let local_var_status = local_var_resp.status();
481 let local_var_content = local_var_resp.text().await?;
482
483 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
484 serde_json::from_str(&local_var_content).map_err(Error::from)
485 } else {
486 let local_var_entity: Option<UpdateLogLogentriesError> = serde_json::from_str(&local_var_content).ok();
487 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
488 Err(Error::ResponseError(local_var_error))
489 }
490}
491