1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct CreateTlsActivationParams {
17 pub tls_activation: Option<crate::models::TlsActivation>
18}
19
20#[derive(Clone, Debug, Default)]
22pub struct DeleteTlsActivationParams {
23 pub tls_activation_id: String
25}
26
27#[derive(Clone, Debug, Default)]
29pub struct GetTlsActivationParams {
30 pub tls_activation_id: String,
32 pub include: Option<String>
34}
35
36#[derive(Clone, Debug, Default)]
38pub struct ListTlsActivationsParams {
39 pub filter_tls_certificate_id: Option<String>,
41 pub filter_tls_configuration_id: Option<String>,
43 pub filter_tls_domain_id: Option<String>,
45 pub include: Option<String>,
47 pub page_number: Option<i32>,
49 pub page_size: Option<i32>
51}
52
53#[derive(Clone, Debug, Default)]
55pub struct UpdateTlsActivationParams {
56 pub tls_activation_id: String,
58 pub tls_activation: Option<crate::models::TlsActivation>
59}
60
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum CreateTlsActivationError {
66 UnknownValue(serde_json::Value),
67}
68
69#[derive(Debug, Clone, Serialize, Deserialize)]
71#[serde(untagged)]
72pub enum DeleteTlsActivationError {
73 UnknownValue(serde_json::Value),
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
78#[serde(untagged)]
79pub enum GetTlsActivationError {
80 UnknownValue(serde_json::Value),
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize)]
85#[serde(untagged)]
86pub enum ListTlsActivationsError {
87 UnknownValue(serde_json::Value),
88}
89
90#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum UpdateTlsActivationError {
94 UnknownValue(serde_json::Value),
95}
96
97
98pub async fn create_tls_activation(configuration: &mut configuration::Configuration, params: CreateTlsActivationParams) -> Result<crate::models::TlsActivationResponse, Error<CreateTlsActivationError>> {
100 let local_var_configuration = configuration;
101
102 let tls_activation = params.tls_activation;
104
105
106 let local_var_client = &local_var_configuration.client;
107
108 let local_var_uri_str = format!("{}/tls/activations", local_var_configuration.base_path);
109 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
110
111 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
112 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
113 }
114 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
115 let local_var_key = local_var_apikey.key.clone();
116 let local_var_value = match local_var_apikey.prefix {
117 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
118 None => local_var_key,
119 };
120 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
121 };
122 local_var_req_builder = local_var_req_builder.json(&tls_activation);
123
124 let local_var_req = local_var_req_builder.build()?;
125 let local_var_resp = local_var_client.execute(local_var_req).await?;
126
127 if "POST" != "GET" && "POST" != "HEAD" {
128 let headers = local_var_resp.headers();
129 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
130 Some(v) => v.to_str().unwrap().parse().unwrap(),
131 None => configuration::DEFAULT_RATELIMIT,
132 };
133 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
134 Some(v) => v.to_str().unwrap().parse().unwrap(),
135 None => 0,
136 };
137 }
138
139 let local_var_status = local_var_resp.status();
140 let local_var_content = local_var_resp.text().await?;
141
142 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
143 serde_json::from_str(&local_var_content).map_err(Error::from)
144 } else {
145 let local_var_entity: Option<CreateTlsActivationError> = serde_json::from_str(&local_var_content).ok();
146 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
147 Err(Error::ResponseError(local_var_error))
148 }
149}
150
151pub async fn delete_tls_activation(configuration: &mut configuration::Configuration, params: DeleteTlsActivationParams) -> Result<(), Error<DeleteTlsActivationError>> {
153 let local_var_configuration = configuration;
154
155 let tls_activation_id = params.tls_activation_id;
157
158
159 let local_var_client = &local_var_configuration.client;
160
161 let local_var_uri_str = format!("{}/tls/activations/{tls_activation_id}", local_var_configuration.base_path, tls_activation_id=crate::apis::urlencode(tls_activation_id));
162 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, 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
176 let local_var_req = local_var_req_builder.build()?;
177 let local_var_resp = local_var_client.execute(local_var_req).await?;
178
179 if "DELETE" != "GET" && "DELETE" != "HEAD" {
180 let headers = local_var_resp.headers();
181 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
182 Some(v) => v.to_str().unwrap().parse().unwrap(),
183 None => configuration::DEFAULT_RATELIMIT,
184 };
185 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
186 Some(v) => v.to_str().unwrap().parse().unwrap(),
187 None => 0,
188 };
189 }
190
191 let local_var_status = local_var_resp.status();
192 let local_var_content = local_var_resp.text().await?;
193
194 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
195 Ok(())
196 } else {
197 let local_var_entity: Option<DeleteTlsActivationError> = serde_json::from_str(&local_var_content).ok();
198 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
199 Err(Error::ResponseError(local_var_error))
200 }
201}
202
203pub async fn get_tls_activation(configuration: &mut configuration::Configuration, params: GetTlsActivationParams) -> Result<crate::models::TlsActivationResponse, Error<GetTlsActivationError>> {
205 let local_var_configuration = configuration;
206
207 let tls_activation_id = params.tls_activation_id;
209 let include = params.include;
210
211
212 let local_var_client = &local_var_configuration.client;
213
214 let local_var_uri_str = format!("{}/tls/activations/{tls_activation_id}", local_var_configuration.base_path, tls_activation_id=crate::apis::urlencode(tls_activation_id));
215 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
216
217 if let Some(ref local_var_str) = include {
218 local_var_req_builder = local_var_req_builder.query(&[("include", &local_var_str.to_string())]);
219 }
220 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
221 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
222 }
223 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
224 let local_var_key = local_var_apikey.key.clone();
225 let local_var_value = match local_var_apikey.prefix {
226 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
227 None => local_var_key,
228 };
229 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
230 };
231
232 let local_var_req = local_var_req_builder.build()?;
233 let local_var_resp = local_var_client.execute(local_var_req).await?;
234
235 if "GET" != "GET" && "GET" != "HEAD" {
236 let headers = local_var_resp.headers();
237 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
238 Some(v) => v.to_str().unwrap().parse().unwrap(),
239 None => configuration::DEFAULT_RATELIMIT,
240 };
241 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
242 Some(v) => v.to_str().unwrap().parse().unwrap(),
243 None => 0,
244 };
245 }
246
247 let local_var_status = local_var_resp.status();
248 let local_var_content = local_var_resp.text().await?;
249
250 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
251 serde_json::from_str(&local_var_content).map_err(Error::from)
252 } else {
253 let local_var_entity: Option<GetTlsActivationError> = serde_json::from_str(&local_var_content).ok();
254 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
255 Err(Error::ResponseError(local_var_error))
256 }
257}
258
259pub async fn list_tls_activations(configuration: &mut configuration::Configuration, params: ListTlsActivationsParams) -> Result<crate::models::TlsActivationsResponse, Error<ListTlsActivationsError>> {
261 let local_var_configuration = configuration;
262
263 let filter_tls_certificate_id = params.filter_tls_certificate_id;
265 let filter_tls_configuration_id = params.filter_tls_configuration_id;
266 let filter_tls_domain_id = params.filter_tls_domain_id;
267 let include = params.include;
268 let page_number = params.page_number;
269 let page_size = params.page_size;
270
271
272 let local_var_client = &local_var_configuration.client;
273
274 let local_var_uri_str = format!("{}/tls/activations", local_var_configuration.base_path);
275 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
276
277 if let Some(ref local_var_str) = filter_tls_certificate_id {
278 local_var_req_builder = local_var_req_builder.query(&[("filter[tls_certificate.id]", &local_var_str.to_string())]);
279 }
280 if let Some(ref local_var_str) = filter_tls_configuration_id {
281 local_var_req_builder = local_var_req_builder.query(&[("filter[tls_configuration.id]", &local_var_str.to_string())]);
282 }
283 if let Some(ref local_var_str) = filter_tls_domain_id {
284 local_var_req_builder = local_var_req_builder.query(&[("filter[tls_domain.id]", &local_var_str.to_string())]);
285 }
286 if let Some(ref local_var_str) = include {
287 local_var_req_builder = local_var_req_builder.query(&[("include", &local_var_str.to_string())]);
288 }
289 if let Some(ref local_var_str) = page_number {
290 local_var_req_builder = local_var_req_builder.query(&[("page[number]", &local_var_str.to_string())]);
291 }
292 if let Some(ref local_var_str) = page_size {
293 local_var_req_builder = local_var_req_builder.query(&[("page[size]", &local_var_str.to_string())]);
294 }
295 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
296 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
297 }
298 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
299 let local_var_key = local_var_apikey.key.clone();
300 let local_var_value = match local_var_apikey.prefix {
301 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
302 None => local_var_key,
303 };
304 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
305 };
306
307 let local_var_req = local_var_req_builder.build()?;
308 let local_var_resp = local_var_client.execute(local_var_req).await?;
309
310 if "GET" != "GET" && "GET" != "HEAD" {
311 let headers = local_var_resp.headers();
312 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
313 Some(v) => v.to_str().unwrap().parse().unwrap(),
314 None => configuration::DEFAULT_RATELIMIT,
315 };
316 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
317 Some(v) => v.to_str().unwrap().parse().unwrap(),
318 None => 0,
319 };
320 }
321
322 let local_var_status = local_var_resp.status();
323 let local_var_content = local_var_resp.text().await?;
324
325 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
326 serde_json::from_str(&local_var_content).map_err(Error::from)
327 } else {
328 let local_var_entity: Option<ListTlsActivationsError> = serde_json::from_str(&local_var_content).ok();
329 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
330 Err(Error::ResponseError(local_var_error))
331 }
332}
333
334pub async fn update_tls_activation(configuration: &mut configuration::Configuration, params: UpdateTlsActivationParams) -> Result<crate::models::TlsActivationResponse, Error<UpdateTlsActivationError>> {
336 let local_var_configuration = configuration;
337
338 let tls_activation_id = params.tls_activation_id;
340 let tls_activation = params.tls_activation;
341
342
343 let local_var_client = &local_var_configuration.client;
344
345 let local_var_uri_str = format!("{}/tls/activations/{tls_activation_id}", local_var_configuration.base_path, tls_activation_id=crate::apis::urlencode(tls_activation_id));
346 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
347
348 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
349 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
350 }
351 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
352 let local_var_key = local_var_apikey.key.clone();
353 let local_var_value = match local_var_apikey.prefix {
354 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
355 None => local_var_key,
356 };
357 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
358 };
359 local_var_req_builder = local_var_req_builder.json(&tls_activation);
360
361 let local_var_req = local_var_req_builder.build()?;
362 let local_var_resp = local_var_client.execute(local_var_req).await?;
363
364 if "PATCH" != "GET" && "PATCH" != "HEAD" {
365 let headers = local_var_resp.headers();
366 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
367 Some(v) => v.to_str().unwrap().parse().unwrap(),
368 None => configuration::DEFAULT_RATELIMIT,
369 };
370 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
371 Some(v) => v.to_str().unwrap().parse().unwrap(),
372 None => 0,
373 };
374 }
375
376 let local_var_status = local_var_resp.status();
377 let local_var_content = local_var_resp.text().await?;
378
379 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
380 serde_json::from_str(&local_var_content).map_err(Error::from)
381 } else {
382 let local_var_entity: Option<UpdateTlsActivationError> = serde_json::from_str(&local_var_content).ok();
383 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
384 Err(Error::ResponseError(local_var_error))
385 }
386}
387