1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct DeleteBulkTlsCertParams {
17 pub certificate_id: String
19}
20
21#[derive(Clone, Debug, Default)]
23pub struct GetTlsBulkCertParams {
24 pub certificate_id: String
26}
27
28#[derive(Clone, Debug, Default)]
30pub struct ListTlsBulkCertsParams {
31 pub filter_tls_domain_id: Option<String>,
33 pub filter_not_before: Option<String>,
35 pub filter_not_after: Option<String>,
37 pub page_number: Option<i32>,
39 pub page_size: Option<i32>,
41 pub sort: Option<String>
43}
44
45#[derive(Clone, Debug, Default)]
47pub struct UpdateBulkTlsCertParams {
48 pub certificate_id: String,
50 pub tls_bulk_certificate: Option<crate::models::TlsBulkCertificate>
51}
52
53#[derive(Clone, Debug, Default)]
55pub struct UploadTlsBulkCertParams {
56 pub tls_bulk_certificate: Option<crate::models::TlsBulkCertificate>
57}
58
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum DeleteBulkTlsCertError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum GetTlsBulkCertError {
71 UnknownValue(serde_json::Value),
72}
73
74#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum ListTlsBulkCertsError {
78 UnknownValue(serde_json::Value),
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum UpdateBulkTlsCertError {
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum UploadTlsBulkCertError {
92 UnknownValue(serde_json::Value),
93}
94
95
96pub async fn delete_bulk_tls_cert(configuration: &mut configuration::Configuration, params: DeleteBulkTlsCertParams) -> Result<(), Error<DeleteBulkTlsCertError>> {
98 let local_var_configuration = configuration;
99
100 let certificate_id = params.certificate_id;
102
103
104 let local_var_client = &local_var_configuration.client;
105
106 let local_var_uri_str = format!("{}/tls/bulk/certificates/{certificate_id}", local_var_configuration.base_path, certificate_id=crate::apis::urlencode(certificate_id));
107 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
108
109 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
110 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
111 }
112 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
113 let local_var_key = local_var_apikey.key.clone();
114 let local_var_value = match local_var_apikey.prefix {
115 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
116 None => local_var_key,
117 };
118 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
119 };
120
121 let local_var_req = local_var_req_builder.build()?;
122 let local_var_resp = local_var_client.execute(local_var_req).await?;
123
124 if "DELETE" != "GET" && "DELETE" != "HEAD" {
125 let headers = local_var_resp.headers();
126 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
127 Some(v) => v.to_str().unwrap().parse().unwrap(),
128 None => configuration::DEFAULT_RATELIMIT,
129 };
130 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
131 Some(v) => v.to_str().unwrap().parse().unwrap(),
132 None => 0,
133 };
134 }
135
136 let local_var_status = local_var_resp.status();
137 let local_var_content = local_var_resp.text().await?;
138
139 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
140 Ok(())
141 } else {
142 let local_var_entity: Option<DeleteBulkTlsCertError> = serde_json::from_str(&local_var_content).ok();
143 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
144 Err(Error::ResponseError(local_var_error))
145 }
146}
147
148pub async fn get_tls_bulk_cert(configuration: &mut configuration::Configuration, params: GetTlsBulkCertParams) -> Result<crate::models::TlsBulkCertificateResponse, Error<GetTlsBulkCertError>> {
150 let local_var_configuration = configuration;
151
152 let certificate_id = params.certificate_id;
154
155
156 let local_var_client = &local_var_configuration.client;
157
158 let local_var_uri_str = format!("{}/tls/bulk/certificates/{certificate_id}", local_var_configuration.base_path, certificate_id=crate::apis::urlencode(certificate_id));
159 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
160
161 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
162 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
163 }
164 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
165 let local_var_key = local_var_apikey.key.clone();
166 let local_var_value = match local_var_apikey.prefix {
167 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
168 None => local_var_key,
169 };
170 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
171 };
172
173 let local_var_req = local_var_req_builder.build()?;
174 let local_var_resp = local_var_client.execute(local_var_req).await?;
175
176 if "GET" != "GET" && "GET" != "HEAD" {
177 let headers = local_var_resp.headers();
178 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
179 Some(v) => v.to_str().unwrap().parse().unwrap(),
180 None => configuration::DEFAULT_RATELIMIT,
181 };
182 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
183 Some(v) => v.to_str().unwrap().parse().unwrap(),
184 None => 0,
185 };
186 }
187
188 let local_var_status = local_var_resp.status();
189 let local_var_content = local_var_resp.text().await?;
190
191 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
192 serde_json::from_str(&local_var_content).map_err(Error::from)
193 } else {
194 let local_var_entity: Option<GetTlsBulkCertError> = serde_json::from_str(&local_var_content).ok();
195 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
196 Err(Error::ResponseError(local_var_error))
197 }
198}
199
200pub async fn list_tls_bulk_certs(configuration: &mut configuration::Configuration, params: ListTlsBulkCertsParams) -> Result<crate::models::TlsBulkCertificatesResponse, Error<ListTlsBulkCertsError>> {
202 let local_var_configuration = configuration;
203
204 let filter_tls_domain_id = params.filter_tls_domain_id;
206 let filter_not_before = params.filter_not_before;
207 let filter_not_after = params.filter_not_after;
208 let page_number = params.page_number;
209 let page_size = params.page_size;
210 let sort = params.sort;
211
212
213 let local_var_client = &local_var_configuration.client;
214
215 let local_var_uri_str = format!("{}/tls/bulk/certificates", local_var_configuration.base_path);
216 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
217
218 if let Some(ref local_var_str) = filter_tls_domain_id {
219 local_var_req_builder = local_var_req_builder.query(&[("filter[tls_domain.id]", &local_var_str.to_string())]);
220 }
221 if let Some(ref local_var_str) = filter_not_before {
222 local_var_req_builder = local_var_req_builder.query(&[("filter[not_before]", &local_var_str.to_string())]);
223 }
224 if let Some(ref local_var_str) = filter_not_after {
225 local_var_req_builder = local_var_req_builder.query(&[("filter[not_after]", &local_var_str.to_string())]);
226 }
227 if let Some(ref local_var_str) = page_number {
228 local_var_req_builder = local_var_req_builder.query(&[("page[number]", &local_var_str.to_string())]);
229 }
230 if let Some(ref local_var_str) = page_size {
231 local_var_req_builder = local_var_req_builder.query(&[("page[size]", &local_var_str.to_string())]);
232 }
233 if let Some(ref local_var_str) = sort {
234 local_var_req_builder = local_var_req_builder.query(&[("sort", &local_var_str.to_string())]);
235 }
236 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
237 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
238 }
239 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
240 let local_var_key = local_var_apikey.key.clone();
241 let local_var_value = match local_var_apikey.prefix {
242 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
243 None => local_var_key,
244 };
245 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
246 };
247
248 let local_var_req = local_var_req_builder.build()?;
249 let local_var_resp = local_var_client.execute(local_var_req).await?;
250
251 if "GET" != "GET" && "GET" != "HEAD" {
252 let headers = local_var_resp.headers();
253 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
254 Some(v) => v.to_str().unwrap().parse().unwrap(),
255 None => configuration::DEFAULT_RATELIMIT,
256 };
257 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
258 Some(v) => v.to_str().unwrap().parse().unwrap(),
259 None => 0,
260 };
261 }
262
263 let local_var_status = local_var_resp.status();
264 let local_var_content = local_var_resp.text().await?;
265
266 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
267 serde_json::from_str(&local_var_content).map_err(Error::from)
268 } else {
269 let local_var_entity: Option<ListTlsBulkCertsError> = serde_json::from_str(&local_var_content).ok();
270 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
271 Err(Error::ResponseError(local_var_error))
272 }
273}
274
275pub async fn update_bulk_tls_cert(configuration: &mut configuration::Configuration, params: UpdateBulkTlsCertParams) -> Result<crate::models::TlsBulkCertificateResponse, Error<UpdateBulkTlsCertError>> {
277 let local_var_configuration = configuration;
278
279 let certificate_id = params.certificate_id;
281 let tls_bulk_certificate = params.tls_bulk_certificate;
282
283
284 let local_var_client = &local_var_configuration.client;
285
286 let local_var_uri_str = format!("{}/tls/bulk/certificates/{certificate_id}", local_var_configuration.base_path, certificate_id=crate::apis::urlencode(certificate_id));
287 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
288
289 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
290 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
291 }
292 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
293 let local_var_key = local_var_apikey.key.clone();
294 let local_var_value = match local_var_apikey.prefix {
295 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
296 None => local_var_key,
297 };
298 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
299 };
300 local_var_req_builder = local_var_req_builder.json(&tls_bulk_certificate);
301
302 let local_var_req = local_var_req_builder.build()?;
303 let local_var_resp = local_var_client.execute(local_var_req).await?;
304
305 if "PATCH" != "GET" && "PATCH" != "HEAD" {
306 let headers = local_var_resp.headers();
307 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
308 Some(v) => v.to_str().unwrap().parse().unwrap(),
309 None => configuration::DEFAULT_RATELIMIT,
310 };
311 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
312 Some(v) => v.to_str().unwrap().parse().unwrap(),
313 None => 0,
314 };
315 }
316
317 let local_var_status = local_var_resp.status();
318 let local_var_content = local_var_resp.text().await?;
319
320 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
321 serde_json::from_str(&local_var_content).map_err(Error::from)
322 } else {
323 let local_var_entity: Option<UpdateBulkTlsCertError> = serde_json::from_str(&local_var_content).ok();
324 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
325 Err(Error::ResponseError(local_var_error))
326 }
327}
328
329pub async fn upload_tls_bulk_cert(configuration: &mut configuration::Configuration, params: UploadTlsBulkCertParams) -> Result<crate::models::TlsBulkCertificateResponse, Error<UploadTlsBulkCertError>> {
331 let local_var_configuration = configuration;
332
333 let tls_bulk_certificate = params.tls_bulk_certificate;
335
336
337 let local_var_client = &local_var_configuration.client;
338
339 let local_var_uri_str = format!("{}/tls/bulk/certificates", local_var_configuration.base_path);
340 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
341
342 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
343 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
344 }
345 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
346 let local_var_key = local_var_apikey.key.clone();
347 let local_var_value = match local_var_apikey.prefix {
348 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
349 None => local_var_key,
350 };
351 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
352 };
353 local_var_req_builder = local_var_req_builder.json(&tls_bulk_certificate);
354
355 let local_var_req = local_var_req_builder.build()?;
356 let local_var_resp = local_var_client.execute(local_var_req).await?;
357
358 if "POST" != "GET" && "POST" != "HEAD" {
359 let headers = local_var_resp.headers();
360 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
361 Some(v) => v.to_str().unwrap().parse().unwrap(),
362 None => configuration::DEFAULT_RATELIMIT,
363 };
364 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
365 Some(v) => v.to_str().unwrap().parse().unwrap(),
366 None => 0,
367 };
368 }
369
370 let local_var_status = local_var_resp.status();
371 let local_var_content = local_var_resp.text().await?;
372
373 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
374 serde_json::from_str(&local_var_content).map_err(Error::from)
375 } else {
376 let local_var_entity: Option<UploadTlsBulkCertError> = serde_json::from_str(&local_var_content).ok();
377 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
378 Err(Error::ResponseError(local_var_error))
379 }
380}
381