1use reqwest;
10
11use crate::apis::ResponseContent;
12use super::{Error, configuration};
13
14#[derive(Clone, Debug, Default)]
16pub struct AddUserGroupMembersParams {
17 pub user_group_id: String,
19 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
20}
21
22#[derive(Clone, Debug, Default)]
24pub struct AddUserGroupRolesParams {
25 pub user_group_id: String,
27 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
28}
29
30#[derive(Clone, Debug, Default)]
32pub struct AddUserGroupServiceGroupsParams {
33 pub user_group_id: String,
35 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
36}
37
38#[derive(Clone, Debug, Default)]
40pub struct CreateAUserGroupParams {
41 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
42}
43
44#[derive(Clone, Debug, Default)]
46pub struct DeleteAUserGroupParams {
47 pub user_group_id: String
49}
50
51#[derive(Clone, Debug, Default)]
53pub struct GetAUserGroupParams {
54 pub user_group_id: String
56}
57
58#[derive(Clone, Debug, Default)]
60pub struct ListUserGroupMembersParams {
61 pub user_group_id: String,
63 pub per_page: Option<i32>,
65 pub page: Option<i32>
67}
68
69#[derive(Clone, Debug, Default)]
71pub struct ListUserGroupRolesParams {
72 pub user_group_id: String,
74 pub per_page: Option<i32>,
76 pub page: Option<i32>
78}
79
80#[derive(Clone, Debug, Default)]
82pub struct ListUserGroupServiceGroupsParams {
83 pub user_group_id: String,
85 pub per_page: Option<i32>,
87 pub page: Option<i32>
89}
90
91#[derive(Clone, Debug, Default)]
93pub struct ListUserGroupsParams {
94 pub per_page: Option<i32>,
96 pub page: Option<i32>
98}
99
100#[derive(Clone, Debug, Default)]
102pub struct RemoveUserGroupMembersParams {
103 pub user_group_id: String,
105 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
106}
107
108#[derive(Clone, Debug, Default)]
110pub struct RemoveUserGroupRolesParams {
111 pub user_group_id: String,
113 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
114}
115
116#[derive(Clone, Debug, Default)]
118pub struct RemoveUserGroupServiceGroupsParams {
119 pub user_group_id: String,
121 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
122}
123
124#[derive(Clone, Debug, Default)]
126pub struct UpdateAUserGroupParams {
127 pub user_group_id: String,
129 pub request_body: Option<::std::collections::HashMap<String, serde_json::Value>>
130}
131
132
133#[derive(Debug, Clone, Serialize, Deserialize)]
135#[serde(untagged)]
136pub enum AddUserGroupMembersError {
137 UnknownValue(serde_json::Value),
138}
139
140#[derive(Debug, Clone, Serialize, Deserialize)]
142#[serde(untagged)]
143pub enum AddUserGroupRolesError {
144 UnknownValue(serde_json::Value),
145}
146
147#[derive(Debug, Clone, Serialize, Deserialize)]
149#[serde(untagged)]
150pub enum AddUserGroupServiceGroupsError {
151 UnknownValue(serde_json::Value),
152}
153
154#[derive(Debug, Clone, Serialize, Deserialize)]
156#[serde(untagged)]
157pub enum CreateAUserGroupError {
158 UnknownValue(serde_json::Value),
159}
160
161#[derive(Debug, Clone, Serialize, Deserialize)]
163#[serde(untagged)]
164pub enum DeleteAUserGroupError {
165 UnknownValue(serde_json::Value),
166}
167
168#[derive(Debug, Clone, Serialize, Deserialize)]
170#[serde(untagged)]
171pub enum GetAUserGroupError {
172 UnknownValue(serde_json::Value),
173}
174
175#[derive(Debug, Clone, Serialize, Deserialize)]
177#[serde(untagged)]
178pub enum ListUserGroupMembersError {
179 UnknownValue(serde_json::Value),
180}
181
182#[derive(Debug, Clone, Serialize, Deserialize)]
184#[serde(untagged)]
185pub enum ListUserGroupRolesError {
186 UnknownValue(serde_json::Value),
187}
188
189#[derive(Debug, Clone, Serialize, Deserialize)]
191#[serde(untagged)]
192pub enum ListUserGroupServiceGroupsError {
193 UnknownValue(serde_json::Value),
194}
195
196#[derive(Debug, Clone, Serialize, Deserialize)]
198#[serde(untagged)]
199pub enum ListUserGroupsError {
200 UnknownValue(serde_json::Value),
201}
202
203#[derive(Debug, Clone, Serialize, Deserialize)]
205#[serde(untagged)]
206pub enum RemoveUserGroupMembersError {
207 UnknownValue(serde_json::Value),
208}
209
210#[derive(Debug, Clone, Serialize, Deserialize)]
212#[serde(untagged)]
213pub enum RemoveUserGroupRolesError {
214 UnknownValue(serde_json::Value),
215}
216
217#[derive(Debug, Clone, Serialize, Deserialize)]
219#[serde(untagged)]
220pub enum RemoveUserGroupServiceGroupsError {
221 UnknownValue(serde_json::Value),
222}
223
224#[derive(Debug, Clone, Serialize, Deserialize)]
226#[serde(untagged)]
227pub enum UpdateAUserGroupError {
228 UnknownValue(serde_json::Value),
229}
230
231
232pub async fn add_user_group_members(configuration: &mut configuration::Configuration, params: AddUserGroupMembersParams) -> Result<serde_json::Value, Error<AddUserGroupMembersError>> {
234 let local_var_configuration = configuration;
235
236 let user_group_id = params.user_group_id;
238 let request_body = params.request_body;
239
240
241 let local_var_client = &local_var_configuration.client;
242
243 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/members", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
244 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
245
246 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
247 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
248 }
249 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
250 let local_var_key = local_var_apikey.key.clone();
251 let local_var_value = match local_var_apikey.prefix {
252 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
253 None => local_var_key,
254 };
255 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
256 };
257 local_var_req_builder = local_var_req_builder.json(&request_body);
258
259 let local_var_req = local_var_req_builder.build()?;
260 let local_var_resp = local_var_client.execute(local_var_req).await?;
261
262 if "POST" != "GET" && "POST" != "HEAD" {
263 let headers = local_var_resp.headers();
264 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
265 Some(v) => v.to_str().unwrap().parse().unwrap(),
266 None => configuration::DEFAULT_RATELIMIT,
267 };
268 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
269 Some(v) => v.to_str().unwrap().parse().unwrap(),
270 None => 0,
271 };
272 }
273
274 let local_var_status = local_var_resp.status();
275 let local_var_content = local_var_resp.text().await?;
276
277 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
278 serde_json::from_str(&local_var_content).map_err(Error::from)
279 } else {
280 let local_var_entity: Option<AddUserGroupMembersError> = serde_json::from_str(&local_var_content).ok();
281 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
282 Err(Error::ResponseError(local_var_error))
283 }
284}
285
286pub async fn add_user_group_roles(configuration: &mut configuration::Configuration, params: AddUserGroupRolesParams) -> Result<serde_json::Value, Error<AddUserGroupRolesError>> {
288 let local_var_configuration = configuration;
289
290 let user_group_id = params.user_group_id;
292 let request_body = params.request_body;
293
294
295 let local_var_client = &local_var_configuration.client;
296
297 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/roles", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
298 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
299
300 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
301 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
302 }
303 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
304 let local_var_key = local_var_apikey.key.clone();
305 let local_var_value = match local_var_apikey.prefix {
306 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
307 None => local_var_key,
308 };
309 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
310 };
311 local_var_req_builder = local_var_req_builder.json(&request_body);
312
313 let local_var_req = local_var_req_builder.build()?;
314 let local_var_resp = local_var_client.execute(local_var_req).await?;
315
316 if "POST" != "GET" && "POST" != "HEAD" {
317 let headers = local_var_resp.headers();
318 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
319 Some(v) => v.to_str().unwrap().parse().unwrap(),
320 None => configuration::DEFAULT_RATELIMIT,
321 };
322 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
323 Some(v) => v.to_str().unwrap().parse().unwrap(),
324 None => 0,
325 };
326 }
327
328 let local_var_status = local_var_resp.status();
329 let local_var_content = local_var_resp.text().await?;
330
331 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
332 serde_json::from_str(&local_var_content).map_err(Error::from)
333 } else {
334 let local_var_entity: Option<AddUserGroupRolesError> = serde_json::from_str(&local_var_content).ok();
335 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
336 Err(Error::ResponseError(local_var_error))
337 }
338}
339
340pub async fn add_user_group_service_groups(configuration: &mut configuration::Configuration, params: AddUserGroupServiceGroupsParams) -> Result<serde_json::Value, Error<AddUserGroupServiceGroupsError>> {
342 let local_var_configuration = configuration;
343
344 let user_group_id = params.user_group_id;
346 let request_body = params.request_body;
347
348
349 let local_var_client = &local_var_configuration.client;
350
351 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/service-groups", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
352 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
353
354 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
355 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
356 }
357 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
358 let local_var_key = local_var_apikey.key.clone();
359 let local_var_value = match local_var_apikey.prefix {
360 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
361 None => local_var_key,
362 };
363 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
364 };
365 local_var_req_builder = local_var_req_builder.json(&request_body);
366
367 let local_var_req = local_var_req_builder.build()?;
368 let local_var_resp = local_var_client.execute(local_var_req).await?;
369
370 if "POST" != "GET" && "POST" != "HEAD" {
371 let headers = local_var_resp.headers();
372 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
373 Some(v) => v.to_str().unwrap().parse().unwrap(),
374 None => configuration::DEFAULT_RATELIMIT,
375 };
376 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
377 Some(v) => v.to_str().unwrap().parse().unwrap(),
378 None => 0,
379 };
380 }
381
382 let local_var_status = local_var_resp.status();
383 let local_var_content = local_var_resp.text().await?;
384
385 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
386 serde_json::from_str(&local_var_content).map_err(Error::from)
387 } else {
388 let local_var_entity: Option<AddUserGroupServiceGroupsError> = serde_json::from_str(&local_var_content).ok();
389 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
390 Err(Error::ResponseError(local_var_error))
391 }
392}
393
394pub async fn create_a_user_group(configuration: &mut configuration::Configuration, params: CreateAUserGroupParams) -> Result<serde_json::Value, Error<CreateAUserGroupError>> {
396 let local_var_configuration = configuration;
397
398 let request_body = params.request_body;
400
401
402 let local_var_client = &local_var_configuration.client;
403
404 let local_var_uri_str = format!("{}/user-groups", local_var_configuration.base_path);
405 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
406
407 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
408 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
409 }
410 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
411 let local_var_key = local_var_apikey.key.clone();
412 let local_var_value = match local_var_apikey.prefix {
413 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
414 None => local_var_key,
415 };
416 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
417 };
418 local_var_req_builder = local_var_req_builder.json(&request_body);
419
420 let local_var_req = local_var_req_builder.build()?;
421 let local_var_resp = local_var_client.execute(local_var_req).await?;
422
423 if "POST" != "GET" && "POST" != "HEAD" {
424 let headers = local_var_resp.headers();
425 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
426 Some(v) => v.to_str().unwrap().parse().unwrap(),
427 None => configuration::DEFAULT_RATELIMIT,
428 };
429 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
430 Some(v) => v.to_str().unwrap().parse().unwrap(),
431 None => 0,
432 };
433 }
434
435 let local_var_status = local_var_resp.status();
436 let local_var_content = local_var_resp.text().await?;
437
438 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
439 serde_json::from_str(&local_var_content).map_err(Error::from)
440 } else {
441 let local_var_entity: Option<CreateAUserGroupError> = serde_json::from_str(&local_var_content).ok();
442 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
443 Err(Error::ResponseError(local_var_error))
444 }
445}
446
447pub async fn delete_a_user_group(configuration: &mut configuration::Configuration, params: DeleteAUserGroupParams) -> Result<(), Error<DeleteAUserGroupError>> {
449 let local_var_configuration = configuration;
450
451 let user_group_id = params.user_group_id;
453
454
455 let local_var_client = &local_var_configuration.client;
456
457 let local_var_uri_str = format!("{}/user-groups/{user_group_id}", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
458 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
459
460 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
461 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
462 }
463 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
464 let local_var_key = local_var_apikey.key.clone();
465 let local_var_value = match local_var_apikey.prefix {
466 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
467 None => local_var_key,
468 };
469 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
470 };
471
472 let local_var_req = local_var_req_builder.build()?;
473 let local_var_resp = local_var_client.execute(local_var_req).await?;
474
475 if "DELETE" != "GET" && "DELETE" != "HEAD" {
476 let headers = local_var_resp.headers();
477 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
478 Some(v) => v.to_str().unwrap().parse().unwrap(),
479 None => configuration::DEFAULT_RATELIMIT,
480 };
481 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
482 Some(v) => v.to_str().unwrap().parse().unwrap(),
483 None => 0,
484 };
485 }
486
487 let local_var_status = local_var_resp.status();
488 let local_var_content = local_var_resp.text().await?;
489
490 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
491 Ok(())
492 } else {
493 let local_var_entity: Option<DeleteAUserGroupError> = serde_json::from_str(&local_var_content).ok();
494 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
495 Err(Error::ResponseError(local_var_error))
496 }
497}
498
499pub async fn get_a_user_group(configuration: &mut configuration::Configuration, params: GetAUserGroupParams) -> Result<serde_json::Value, Error<GetAUserGroupError>> {
501 let local_var_configuration = configuration;
502
503 let user_group_id = params.user_group_id;
505
506
507 let local_var_client = &local_var_configuration.client;
508
509 let local_var_uri_str = format!("{}/user-groups/{user_group_id}", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
510 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
511
512 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
513 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
514 }
515 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
516 let local_var_key = local_var_apikey.key.clone();
517 let local_var_value = match local_var_apikey.prefix {
518 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
519 None => local_var_key,
520 };
521 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
522 };
523
524 let local_var_req = local_var_req_builder.build()?;
525 let local_var_resp = local_var_client.execute(local_var_req).await?;
526
527 if "GET" != "GET" && "GET" != "HEAD" {
528 let headers = local_var_resp.headers();
529 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
530 Some(v) => v.to_str().unwrap().parse().unwrap(),
531 None => configuration::DEFAULT_RATELIMIT,
532 };
533 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
534 Some(v) => v.to_str().unwrap().parse().unwrap(),
535 None => 0,
536 };
537 }
538
539 let local_var_status = local_var_resp.status();
540 let local_var_content = local_var_resp.text().await?;
541
542 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
543 serde_json::from_str(&local_var_content).map_err(Error::from)
544 } else {
545 let local_var_entity: Option<GetAUserGroupError> = serde_json::from_str(&local_var_content).ok();
546 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
547 Err(Error::ResponseError(local_var_error))
548 }
549}
550
551pub async fn list_user_group_members(configuration: &mut configuration::Configuration, params: ListUserGroupMembersParams) -> Result<serde_json::Value, Error<ListUserGroupMembersError>> {
553 let local_var_configuration = configuration;
554
555 let user_group_id = params.user_group_id;
557 let per_page = params.per_page;
558 let page = params.page;
559
560
561 let local_var_client = &local_var_configuration.client;
562
563 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/members", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
564 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
565
566 if let Some(ref local_var_str) = per_page {
567 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
568 }
569 if let Some(ref local_var_str) = page {
570 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
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
584 let local_var_req = local_var_req_builder.build()?;
585 let local_var_resp = local_var_client.execute(local_var_req).await?;
586
587 if "GET" != "GET" && "GET" != "HEAD" {
588 let headers = local_var_resp.headers();
589 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
590 Some(v) => v.to_str().unwrap().parse().unwrap(),
591 None => configuration::DEFAULT_RATELIMIT,
592 };
593 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
594 Some(v) => v.to_str().unwrap().parse().unwrap(),
595 None => 0,
596 };
597 }
598
599 let local_var_status = local_var_resp.status();
600 let local_var_content = local_var_resp.text().await?;
601
602 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
603 serde_json::from_str(&local_var_content).map_err(Error::from)
604 } else {
605 let local_var_entity: Option<ListUserGroupMembersError> = serde_json::from_str(&local_var_content).ok();
606 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
607 Err(Error::ResponseError(local_var_error))
608 }
609}
610
611pub async fn list_user_group_roles(configuration: &mut configuration::Configuration, params: ListUserGroupRolesParams) -> Result<serde_json::Value, Error<ListUserGroupRolesError>> {
613 let local_var_configuration = configuration;
614
615 let user_group_id = params.user_group_id;
617 let per_page = params.per_page;
618 let page = params.page;
619
620
621 let local_var_client = &local_var_configuration.client;
622
623 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/roles", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
624 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
625
626 if let Some(ref local_var_str) = per_page {
627 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
628 }
629 if let Some(ref local_var_str) = page {
630 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
631 }
632 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
633 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
634 }
635 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
636 let local_var_key = local_var_apikey.key.clone();
637 let local_var_value = match local_var_apikey.prefix {
638 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
639 None => local_var_key,
640 };
641 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
642 };
643
644 let local_var_req = local_var_req_builder.build()?;
645 let local_var_resp = local_var_client.execute(local_var_req).await?;
646
647 if "GET" != "GET" && "GET" != "HEAD" {
648 let headers = local_var_resp.headers();
649 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
650 Some(v) => v.to_str().unwrap().parse().unwrap(),
651 None => configuration::DEFAULT_RATELIMIT,
652 };
653 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
654 Some(v) => v.to_str().unwrap().parse().unwrap(),
655 None => 0,
656 };
657 }
658
659 let local_var_status = local_var_resp.status();
660 let local_var_content = local_var_resp.text().await?;
661
662 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
663 serde_json::from_str(&local_var_content).map_err(Error::from)
664 } else {
665 let local_var_entity: Option<ListUserGroupRolesError> = serde_json::from_str(&local_var_content).ok();
666 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
667 Err(Error::ResponseError(local_var_error))
668 }
669}
670
671pub async fn list_user_group_service_groups(configuration: &mut configuration::Configuration, params: ListUserGroupServiceGroupsParams) -> Result<serde_json::Value, Error<ListUserGroupServiceGroupsError>> {
673 let local_var_configuration = configuration;
674
675 let user_group_id = params.user_group_id;
677 let per_page = params.per_page;
678 let page = params.page;
679
680
681 let local_var_client = &local_var_configuration.client;
682
683 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/service-groups", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
684 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
685
686 if let Some(ref local_var_str) = per_page {
687 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
688 }
689 if let Some(ref local_var_str) = page {
690 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
691 }
692 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
693 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
694 }
695 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
696 let local_var_key = local_var_apikey.key.clone();
697 let local_var_value = match local_var_apikey.prefix {
698 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
699 None => local_var_key,
700 };
701 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
702 };
703
704 let local_var_req = local_var_req_builder.build()?;
705 let local_var_resp = local_var_client.execute(local_var_req).await?;
706
707 if "GET" != "GET" && "GET" != "HEAD" {
708 let headers = local_var_resp.headers();
709 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
710 Some(v) => v.to_str().unwrap().parse().unwrap(),
711 None => configuration::DEFAULT_RATELIMIT,
712 };
713 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
714 Some(v) => v.to_str().unwrap().parse().unwrap(),
715 None => 0,
716 };
717 }
718
719 let local_var_status = local_var_resp.status();
720 let local_var_content = local_var_resp.text().await?;
721
722 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
723 serde_json::from_str(&local_var_content).map_err(Error::from)
724 } else {
725 let local_var_entity: Option<ListUserGroupServiceGroupsError> = serde_json::from_str(&local_var_content).ok();
726 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
727 Err(Error::ResponseError(local_var_error))
728 }
729}
730
731pub async fn list_user_groups(configuration: &mut configuration::Configuration, params: ListUserGroupsParams) -> Result<serde_json::Value, Error<ListUserGroupsError>> {
733 let local_var_configuration = configuration;
734
735 let per_page = params.per_page;
737 let page = params.page;
738
739
740 let local_var_client = &local_var_configuration.client;
741
742 let local_var_uri_str = format!("{}/user-groups", local_var_configuration.base_path);
743 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
744
745 if let Some(ref local_var_str) = per_page {
746 local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
747 }
748 if let Some(ref local_var_str) = page {
749 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
750 }
751 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
752 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
753 }
754 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
755 let local_var_key = local_var_apikey.key.clone();
756 let local_var_value = match local_var_apikey.prefix {
757 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
758 None => local_var_key,
759 };
760 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
761 };
762
763 let local_var_req = local_var_req_builder.build()?;
764 let local_var_resp = local_var_client.execute(local_var_req).await?;
765
766 if "GET" != "GET" && "GET" != "HEAD" {
767 let headers = local_var_resp.headers();
768 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
769 Some(v) => v.to_str().unwrap().parse().unwrap(),
770 None => configuration::DEFAULT_RATELIMIT,
771 };
772 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
773 Some(v) => v.to_str().unwrap().parse().unwrap(),
774 None => 0,
775 };
776 }
777
778 let local_var_status = local_var_resp.status();
779 let local_var_content = local_var_resp.text().await?;
780
781 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
782 serde_json::from_str(&local_var_content).map_err(Error::from)
783 } else {
784 let local_var_entity: Option<ListUserGroupsError> = serde_json::from_str(&local_var_content).ok();
785 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
786 Err(Error::ResponseError(local_var_error))
787 }
788}
789
790pub async fn remove_user_group_members(configuration: &mut configuration::Configuration, params: RemoveUserGroupMembersParams) -> Result<(), Error<RemoveUserGroupMembersError>> {
792 let local_var_configuration = configuration;
793
794 let user_group_id = params.user_group_id;
796 let request_body = params.request_body;
797
798
799 let local_var_client = &local_var_configuration.client;
800
801 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/members", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
802 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
803
804 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
805 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
806 }
807 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
808 let local_var_key = local_var_apikey.key.clone();
809 let local_var_value = match local_var_apikey.prefix {
810 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
811 None => local_var_key,
812 };
813 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
814 };
815 local_var_req_builder = local_var_req_builder.json(&request_body);
816
817 let local_var_req = local_var_req_builder.build()?;
818 let local_var_resp = local_var_client.execute(local_var_req).await?;
819
820 if "DELETE" != "GET" && "DELETE" != "HEAD" {
821 let headers = local_var_resp.headers();
822 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
823 Some(v) => v.to_str().unwrap().parse().unwrap(),
824 None => configuration::DEFAULT_RATELIMIT,
825 };
826 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
827 Some(v) => v.to_str().unwrap().parse().unwrap(),
828 None => 0,
829 };
830 }
831
832 let local_var_status = local_var_resp.status();
833 let local_var_content = local_var_resp.text().await?;
834
835 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
836 Ok(())
837 } else {
838 let local_var_entity: Option<RemoveUserGroupMembersError> = serde_json::from_str(&local_var_content).ok();
839 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
840 Err(Error::ResponseError(local_var_error))
841 }
842}
843
844pub async fn remove_user_group_roles(configuration: &mut configuration::Configuration, params: RemoveUserGroupRolesParams) -> Result<(), Error<RemoveUserGroupRolesError>> {
846 let local_var_configuration = configuration;
847
848 let user_group_id = params.user_group_id;
850 let request_body = params.request_body;
851
852
853 let local_var_client = &local_var_configuration.client;
854
855 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/roles", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
856 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
857
858 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
859 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
860 }
861 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
862 let local_var_key = local_var_apikey.key.clone();
863 let local_var_value = match local_var_apikey.prefix {
864 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
865 None => local_var_key,
866 };
867 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
868 };
869 local_var_req_builder = local_var_req_builder.json(&request_body);
870
871 let local_var_req = local_var_req_builder.build()?;
872 let local_var_resp = local_var_client.execute(local_var_req).await?;
873
874 if "DELETE" != "GET" && "DELETE" != "HEAD" {
875 let headers = local_var_resp.headers();
876 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
877 Some(v) => v.to_str().unwrap().parse().unwrap(),
878 None => configuration::DEFAULT_RATELIMIT,
879 };
880 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
881 Some(v) => v.to_str().unwrap().parse().unwrap(),
882 None => 0,
883 };
884 }
885
886 let local_var_status = local_var_resp.status();
887 let local_var_content = local_var_resp.text().await?;
888
889 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
890 Ok(())
891 } else {
892 let local_var_entity: Option<RemoveUserGroupRolesError> = serde_json::from_str(&local_var_content).ok();
893 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
894 Err(Error::ResponseError(local_var_error))
895 }
896}
897
898pub async fn remove_user_group_service_groups(configuration: &mut configuration::Configuration, params: RemoveUserGroupServiceGroupsParams) -> Result<(), Error<RemoveUserGroupServiceGroupsError>> {
900 let local_var_configuration = configuration;
901
902 let user_group_id = params.user_group_id;
904 let request_body = params.request_body;
905
906
907 let local_var_client = &local_var_configuration.client;
908
909 let local_var_uri_str = format!("{}/user-groups/{user_group_id}/service-groups", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
910 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
911
912 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
913 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
914 }
915 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
916 let local_var_key = local_var_apikey.key.clone();
917 let local_var_value = match local_var_apikey.prefix {
918 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
919 None => local_var_key,
920 };
921 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
922 };
923 local_var_req_builder = local_var_req_builder.json(&request_body);
924
925 let local_var_req = local_var_req_builder.build()?;
926 let local_var_resp = local_var_client.execute(local_var_req).await?;
927
928 if "DELETE" != "GET" && "DELETE" != "HEAD" {
929 let headers = local_var_resp.headers();
930 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
931 Some(v) => v.to_str().unwrap().parse().unwrap(),
932 None => configuration::DEFAULT_RATELIMIT,
933 };
934 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
935 Some(v) => v.to_str().unwrap().parse().unwrap(),
936 None => 0,
937 };
938 }
939
940 let local_var_status = local_var_resp.status();
941 let local_var_content = local_var_resp.text().await?;
942
943 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
944 Ok(())
945 } else {
946 let local_var_entity: Option<RemoveUserGroupServiceGroupsError> = serde_json::from_str(&local_var_content).ok();
947 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
948 Err(Error::ResponseError(local_var_error))
949 }
950}
951
952pub async fn update_a_user_group(configuration: &mut configuration::Configuration, params: UpdateAUserGroupParams) -> Result<serde_json::Value, Error<UpdateAUserGroupError>> {
954 let local_var_configuration = configuration;
955
956 let user_group_id = params.user_group_id;
958 let request_body = params.request_body;
959
960
961 let local_var_client = &local_var_configuration.client;
962
963 let local_var_uri_str = format!("{}/user-groups/{user_group_id}", local_var_configuration.base_path, user_group_id=crate::apis::urlencode(user_group_id));
964 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
965
966 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
967 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
968 }
969 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
970 let local_var_key = local_var_apikey.key.clone();
971 let local_var_value = match local_var_apikey.prefix {
972 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
973 None => local_var_key,
974 };
975 local_var_req_builder = local_var_req_builder.header("Fastly-Key", local_var_value);
976 };
977 local_var_req_builder = local_var_req_builder.json(&request_body);
978
979 let local_var_req = local_var_req_builder.build()?;
980 let local_var_resp = local_var_client.execute(local_var_req).await?;
981
982 if "PATCH" != "GET" && "PATCH" != "HEAD" {
983 let headers = local_var_resp.headers();
984 local_var_configuration.rate_limit_remaining = match headers.get("Fastly-RateLimit-Remaining") {
985 Some(v) => v.to_str().unwrap().parse().unwrap(),
986 None => configuration::DEFAULT_RATELIMIT,
987 };
988 local_var_configuration.rate_limit_reset = match headers.get("Fastly-RateLimit-Reset") {
989 Some(v) => v.to_str().unwrap().parse().unwrap(),
990 None => 0,
991 };
992 }
993
994 let local_var_status = local_var_resp.status();
995 let local_var_content = local_var_resp.text().await?;
996
997 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
998 serde_json::from_str(&local_var_content).map_err(Error::from)
999 } else {
1000 let local_var_entity: Option<UpdateAUserGroupError> = serde_json::from_str(&local_var_content).ok();
1001 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1002 Err(Error::ResponseError(local_var_error))
1003 }
1004}
1005