bitwarden_api_api/apis/
access_policies_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use reqwest;
12use serde::{Deserialize, Serialize};
13
14use super::{configuration, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method
18/// [`organizations_id_access_policies_people_potential_grantees_get`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum OrganizationsIdAccessPoliciesPeoplePotentialGranteesGetError {
22    UnknownValue(serde_json::Value),
23}
24
25/// struct for typed errors of method
26/// [`organizations_id_access_policies_projects_potential_grantees_get`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum OrganizationsIdAccessPoliciesProjectsPotentialGranteesGetError {
30    UnknownValue(serde_json::Value),
31}
32
33/// struct for typed errors of method
34/// [`organizations_id_access_policies_service_accounts_potential_grantees_get`]
35#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum OrganizationsIdAccessPoliciesServiceAccountsPotentialGranteesGetError {
38    UnknownValue(serde_json::Value),
39}
40
41/// struct for typed errors of method [`projects_id_access_policies_people_get`]
42#[derive(Debug, Clone, Serialize, Deserialize)]
43#[serde(untagged)]
44pub enum ProjectsIdAccessPoliciesPeopleGetError {
45    UnknownValue(serde_json::Value),
46}
47
48/// struct for typed errors of method [`projects_id_access_policies_people_put`]
49#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum ProjectsIdAccessPoliciesPeoplePutError {
52    UnknownValue(serde_json::Value),
53}
54
55/// struct for typed errors of method [`projects_id_access_policies_service_accounts_get`]
56#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum ProjectsIdAccessPoliciesServiceAccountsGetError {
59    UnknownValue(serde_json::Value),
60}
61
62/// struct for typed errors of method [`projects_id_access_policies_service_accounts_put`]
63#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum ProjectsIdAccessPoliciesServiceAccountsPutError {
66    UnknownValue(serde_json::Value),
67}
68
69/// struct for typed errors of method [`secrets_secret_id_access_policies_get`]
70#[derive(Debug, Clone, Serialize, Deserialize)]
71#[serde(untagged)]
72pub enum SecretsSecretIdAccessPoliciesGetError {
73    UnknownValue(serde_json::Value),
74}
75
76/// struct for typed errors of method [`service_accounts_id_access_policies_people_get`]
77#[derive(Debug, Clone, Serialize, Deserialize)]
78#[serde(untagged)]
79pub enum ServiceAccountsIdAccessPoliciesPeopleGetError {
80    UnknownValue(serde_json::Value),
81}
82
83/// struct for typed errors of method [`service_accounts_id_access_policies_people_put`]
84#[derive(Debug, Clone, Serialize, Deserialize)]
85#[serde(untagged)]
86pub enum ServiceAccountsIdAccessPoliciesPeoplePutError {
87    UnknownValue(serde_json::Value),
88}
89
90/// struct for typed errors of method [`service_accounts_id_granted_policies_get`]
91#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum ServiceAccountsIdGrantedPoliciesGetError {
94    UnknownValue(serde_json::Value),
95}
96
97/// struct for typed errors of method [`service_accounts_id_granted_policies_put`]
98#[derive(Debug, Clone, Serialize, Deserialize)]
99#[serde(untagged)]
100pub enum ServiceAccountsIdGrantedPoliciesPutError {
101    UnknownValue(serde_json::Value),
102}
103
104pub async fn organizations_id_access_policies_people_potential_grantees_get(
105    configuration: &configuration::Configuration,
106    id: uuid::Uuid,
107) -> Result<
108    models::PotentialGranteeResponseModelListResponseModel,
109    Error<OrganizationsIdAccessPoliciesPeoplePotentialGranteesGetError>,
110> {
111    let local_var_configuration = configuration;
112
113    let local_var_client = &local_var_configuration.client;
114
115    let local_var_uri_str = format!(
116        "{}/organizations/{id}/access-policies/people/potential-grantees",
117        local_var_configuration.base_path,
118        id = crate::apis::urlencode(id.to_string())
119    );
120    let mut local_var_req_builder =
121        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
122
123    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
124        local_var_req_builder =
125            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
126    }
127    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
128        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
129    };
130
131    let local_var_req = local_var_req_builder.build()?;
132    let local_var_resp = local_var_client.execute(local_var_req).await?;
133
134    let local_var_status = local_var_resp.status();
135    let local_var_content = local_var_resp.text().await?;
136
137    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
138        serde_json::from_str(&local_var_content).map_err(Error::from)
139    } else {
140        let local_var_entity: Option<OrganizationsIdAccessPoliciesPeoplePotentialGranteesGetError> =
141            serde_json::from_str(&local_var_content).ok();
142        let local_var_error = ResponseContent {
143            status: local_var_status,
144            content: local_var_content,
145            entity: local_var_entity,
146        };
147        Err(Error::ResponseError(local_var_error))
148    }
149}
150
151pub async fn organizations_id_access_policies_projects_potential_grantees_get(
152    configuration: &configuration::Configuration,
153    id: uuid::Uuid,
154) -> Result<
155    models::PotentialGranteeResponseModelListResponseModel,
156    Error<OrganizationsIdAccessPoliciesProjectsPotentialGranteesGetError>,
157> {
158    let local_var_configuration = configuration;
159
160    let local_var_client = &local_var_configuration.client;
161
162    let local_var_uri_str = format!(
163        "{}/organizations/{id}/access-policies/projects/potential-grantees",
164        local_var_configuration.base_path,
165        id = crate::apis::urlencode(id.to_string())
166    );
167    let mut local_var_req_builder =
168        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
169
170    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
171        local_var_req_builder =
172            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
173    }
174    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
175        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
176    };
177
178    let local_var_req = local_var_req_builder.build()?;
179    let local_var_resp = local_var_client.execute(local_var_req).await?;
180
181    let local_var_status = local_var_resp.status();
182    let local_var_content = local_var_resp.text().await?;
183
184    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
185        serde_json::from_str(&local_var_content).map_err(Error::from)
186    } else {
187        let local_var_entity: Option<
188            OrganizationsIdAccessPoliciesProjectsPotentialGranteesGetError,
189        > = serde_json::from_str(&local_var_content).ok();
190        let local_var_error = ResponseContent {
191            status: local_var_status,
192            content: local_var_content,
193            entity: local_var_entity,
194        };
195        Err(Error::ResponseError(local_var_error))
196    }
197}
198
199pub async fn organizations_id_access_policies_service_accounts_potential_grantees_get(
200    configuration: &configuration::Configuration,
201    id: uuid::Uuid,
202) -> Result<
203    models::PotentialGranteeResponseModelListResponseModel,
204    Error<OrganizationsIdAccessPoliciesServiceAccountsPotentialGranteesGetError>,
205> {
206    let local_var_configuration = configuration;
207
208    let local_var_client = &local_var_configuration.client;
209
210    let local_var_uri_str = format!(
211        "{}/organizations/{id}/access-policies/service-accounts/potential-grantees",
212        local_var_configuration.base_path,
213        id = crate::apis::urlencode(id.to_string())
214    );
215    let mut local_var_req_builder =
216        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
217
218    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
219        local_var_req_builder =
220            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
221    }
222    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
223        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
224    };
225
226    let local_var_req = local_var_req_builder.build()?;
227    let local_var_resp = local_var_client.execute(local_var_req).await?;
228
229    let local_var_status = local_var_resp.status();
230    let local_var_content = local_var_resp.text().await?;
231
232    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
233        serde_json::from_str(&local_var_content).map_err(Error::from)
234    } else {
235        let local_var_entity: Option<
236            OrganizationsIdAccessPoliciesServiceAccountsPotentialGranteesGetError,
237        > = serde_json::from_str(&local_var_content).ok();
238        let local_var_error = ResponseContent {
239            status: local_var_status,
240            content: local_var_content,
241            entity: local_var_entity,
242        };
243        Err(Error::ResponseError(local_var_error))
244    }
245}
246
247pub async fn projects_id_access_policies_people_get(
248    configuration: &configuration::Configuration,
249    id: uuid::Uuid,
250) -> Result<
251    models::ProjectPeopleAccessPoliciesResponseModel,
252    Error<ProjectsIdAccessPoliciesPeopleGetError>,
253> {
254    let local_var_configuration = configuration;
255
256    let local_var_client = &local_var_configuration.client;
257
258    let local_var_uri_str = format!(
259        "{}/projects/{id}/access-policies/people",
260        local_var_configuration.base_path,
261        id = crate::apis::urlencode(id.to_string())
262    );
263    let mut local_var_req_builder =
264        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
265
266    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
267        local_var_req_builder =
268            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
269    }
270    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
271        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
272    };
273
274    let local_var_req = local_var_req_builder.build()?;
275    let local_var_resp = local_var_client.execute(local_var_req).await?;
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<ProjectsIdAccessPoliciesPeopleGetError> =
284            serde_json::from_str(&local_var_content).ok();
285        let local_var_error = ResponseContent {
286            status: local_var_status,
287            content: local_var_content,
288            entity: local_var_entity,
289        };
290        Err(Error::ResponseError(local_var_error))
291    }
292}
293
294pub async fn projects_id_access_policies_people_put(
295    configuration: &configuration::Configuration,
296    id: uuid::Uuid,
297    people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
298) -> Result<
299    models::ProjectPeopleAccessPoliciesResponseModel,
300    Error<ProjectsIdAccessPoliciesPeoplePutError>,
301> {
302    let local_var_configuration = configuration;
303
304    let local_var_client = &local_var_configuration.client;
305
306    let local_var_uri_str = format!(
307        "{}/projects/{id}/access-policies/people",
308        local_var_configuration.base_path,
309        id = crate::apis::urlencode(id.to_string())
310    );
311    let mut local_var_req_builder =
312        local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
313
314    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
315        local_var_req_builder =
316            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
317    }
318    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
319        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
320    };
321    local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
322
323    let local_var_req = local_var_req_builder.build()?;
324    let local_var_resp = local_var_client.execute(local_var_req).await?;
325
326    let local_var_status = local_var_resp.status();
327    let local_var_content = local_var_resp.text().await?;
328
329    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
330        serde_json::from_str(&local_var_content).map_err(Error::from)
331    } else {
332        let local_var_entity: Option<ProjectsIdAccessPoliciesPeoplePutError> =
333            serde_json::from_str(&local_var_content).ok();
334        let local_var_error = ResponseContent {
335            status: local_var_status,
336            content: local_var_content,
337            entity: local_var_entity,
338        };
339        Err(Error::ResponseError(local_var_error))
340    }
341}
342
343pub async fn projects_id_access_policies_service_accounts_get(
344    configuration: &configuration::Configuration,
345    id: uuid::Uuid,
346) -> Result<
347    models::ProjectServiceAccountsAccessPoliciesResponseModel,
348    Error<ProjectsIdAccessPoliciesServiceAccountsGetError>,
349> {
350    let local_var_configuration = configuration;
351
352    let local_var_client = &local_var_configuration.client;
353
354    let local_var_uri_str = format!(
355        "{}/projects/{id}/access-policies/service-accounts",
356        local_var_configuration.base_path,
357        id = crate::apis::urlencode(id.to_string())
358    );
359    let mut local_var_req_builder =
360        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
361
362    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
363        local_var_req_builder =
364            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
365    }
366    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
367        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
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    let local_var_status = local_var_resp.status();
374    let local_var_content = local_var_resp.text().await?;
375
376    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
377        serde_json::from_str(&local_var_content).map_err(Error::from)
378    } else {
379        let local_var_entity: Option<ProjectsIdAccessPoliciesServiceAccountsGetError> =
380            serde_json::from_str(&local_var_content).ok();
381        let local_var_error = ResponseContent {
382            status: local_var_status,
383            content: local_var_content,
384            entity: local_var_entity,
385        };
386        Err(Error::ResponseError(local_var_error))
387    }
388}
389
390pub async fn projects_id_access_policies_service_accounts_put(
391    configuration: &configuration::Configuration,
392    id: uuid::Uuid,
393    project_service_accounts_access_policies_request_model: Option<
394        models::ProjectServiceAccountsAccessPoliciesRequestModel,
395    >,
396) -> Result<
397    models::ProjectServiceAccountsAccessPoliciesResponseModel,
398    Error<ProjectsIdAccessPoliciesServiceAccountsPutError>,
399> {
400    let local_var_configuration = configuration;
401
402    let local_var_client = &local_var_configuration.client;
403
404    let local_var_uri_str = format!(
405        "{}/projects/{id}/access-policies/service-accounts",
406        local_var_configuration.base_path,
407        id = crate::apis::urlencode(id.to_string())
408    );
409    let mut local_var_req_builder =
410        local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
411
412    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
413        local_var_req_builder =
414            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
415    }
416    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
417        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
418    };
419    local_var_req_builder =
420        local_var_req_builder.json(&project_service_accounts_access_policies_request_model);
421
422    let local_var_req = local_var_req_builder.build()?;
423    let local_var_resp = local_var_client.execute(local_var_req).await?;
424
425    let local_var_status = local_var_resp.status();
426    let local_var_content = local_var_resp.text().await?;
427
428    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
429        serde_json::from_str(&local_var_content).map_err(Error::from)
430    } else {
431        let local_var_entity: Option<ProjectsIdAccessPoliciesServiceAccountsPutError> =
432            serde_json::from_str(&local_var_content).ok();
433        let local_var_error = ResponseContent {
434            status: local_var_status,
435            content: local_var_content,
436            entity: local_var_entity,
437        };
438        Err(Error::ResponseError(local_var_error))
439    }
440}
441
442pub async fn secrets_secret_id_access_policies_get(
443    configuration: &configuration::Configuration,
444    secret_id: uuid::Uuid,
445) -> Result<models::SecretAccessPoliciesResponseModel, Error<SecretsSecretIdAccessPoliciesGetError>>
446{
447    let local_var_configuration = configuration;
448
449    let local_var_client = &local_var_configuration.client;
450
451    let local_var_uri_str = format!(
452        "{}/secrets/{secretId}/access-policies",
453        local_var_configuration.base_path,
454        secretId = crate::apis::urlencode(secret_id.to_string())
455    );
456    let mut local_var_req_builder =
457        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
458
459    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
460        local_var_req_builder =
461            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
462    }
463    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
464        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
465    };
466
467    let local_var_req = local_var_req_builder.build()?;
468    let local_var_resp = local_var_client.execute(local_var_req).await?;
469
470    let local_var_status = local_var_resp.status();
471    let local_var_content = local_var_resp.text().await?;
472
473    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
474        serde_json::from_str(&local_var_content).map_err(Error::from)
475    } else {
476        let local_var_entity: Option<SecretsSecretIdAccessPoliciesGetError> =
477            serde_json::from_str(&local_var_content).ok();
478        let local_var_error = ResponseContent {
479            status: local_var_status,
480            content: local_var_content,
481            entity: local_var_entity,
482        };
483        Err(Error::ResponseError(local_var_error))
484    }
485}
486
487pub async fn service_accounts_id_access_policies_people_get(
488    configuration: &configuration::Configuration,
489    id: uuid::Uuid,
490) -> Result<
491    models::ServiceAccountPeopleAccessPoliciesResponseModel,
492    Error<ServiceAccountsIdAccessPoliciesPeopleGetError>,
493> {
494    let local_var_configuration = configuration;
495
496    let local_var_client = &local_var_configuration.client;
497
498    let local_var_uri_str = format!(
499        "{}/service-accounts/{id}/access-policies/people",
500        local_var_configuration.base_path,
501        id = crate::apis::urlencode(id.to_string())
502    );
503    let mut local_var_req_builder =
504        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
505
506    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
507        local_var_req_builder =
508            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
509    }
510    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
511        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
512    };
513
514    let local_var_req = local_var_req_builder.build()?;
515    let local_var_resp = local_var_client.execute(local_var_req).await?;
516
517    let local_var_status = local_var_resp.status();
518    let local_var_content = local_var_resp.text().await?;
519
520    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
521        serde_json::from_str(&local_var_content).map_err(Error::from)
522    } else {
523        let local_var_entity: Option<ServiceAccountsIdAccessPoliciesPeopleGetError> =
524            serde_json::from_str(&local_var_content).ok();
525        let local_var_error = ResponseContent {
526            status: local_var_status,
527            content: local_var_content,
528            entity: local_var_entity,
529        };
530        Err(Error::ResponseError(local_var_error))
531    }
532}
533
534pub async fn service_accounts_id_access_policies_people_put(
535    configuration: &configuration::Configuration,
536    id: uuid::Uuid,
537    people_access_policies_request_model: Option<models::PeopleAccessPoliciesRequestModel>,
538) -> Result<
539    models::ServiceAccountPeopleAccessPoliciesResponseModel,
540    Error<ServiceAccountsIdAccessPoliciesPeoplePutError>,
541> {
542    let local_var_configuration = configuration;
543
544    let local_var_client = &local_var_configuration.client;
545
546    let local_var_uri_str = format!(
547        "{}/service-accounts/{id}/access-policies/people",
548        local_var_configuration.base_path,
549        id = crate::apis::urlencode(id.to_string())
550    );
551    let mut local_var_req_builder =
552        local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
553
554    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
555        local_var_req_builder =
556            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
557    }
558    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
559        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
560    };
561    local_var_req_builder = local_var_req_builder.json(&people_access_policies_request_model);
562
563    let local_var_req = local_var_req_builder.build()?;
564    let local_var_resp = local_var_client.execute(local_var_req).await?;
565
566    let local_var_status = local_var_resp.status();
567    let local_var_content = local_var_resp.text().await?;
568
569    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
570        serde_json::from_str(&local_var_content).map_err(Error::from)
571    } else {
572        let local_var_entity: Option<ServiceAccountsIdAccessPoliciesPeoplePutError> =
573            serde_json::from_str(&local_var_content).ok();
574        let local_var_error = ResponseContent {
575            status: local_var_status,
576            content: local_var_content,
577            entity: local_var_entity,
578        };
579        Err(Error::ResponseError(local_var_error))
580    }
581}
582
583pub async fn service_accounts_id_granted_policies_get(
584    configuration: &configuration::Configuration,
585    id: uuid::Uuid,
586) -> Result<
587    models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
588    Error<ServiceAccountsIdGrantedPoliciesGetError>,
589> {
590    let local_var_configuration = configuration;
591
592    let local_var_client = &local_var_configuration.client;
593
594    let local_var_uri_str = format!(
595        "{}/service-accounts/{id}/granted-policies",
596        local_var_configuration.base_path,
597        id = crate::apis::urlencode(id.to_string())
598    );
599    let mut local_var_req_builder =
600        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
601
602    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
603        local_var_req_builder =
604            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
605    }
606    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
607        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
608    };
609
610    let local_var_req = local_var_req_builder.build()?;
611    let local_var_resp = local_var_client.execute(local_var_req).await?;
612
613    let local_var_status = local_var_resp.status();
614    let local_var_content = local_var_resp.text().await?;
615
616    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
617        serde_json::from_str(&local_var_content).map_err(Error::from)
618    } else {
619        let local_var_entity: Option<ServiceAccountsIdGrantedPoliciesGetError> =
620            serde_json::from_str(&local_var_content).ok();
621        let local_var_error = ResponseContent {
622            status: local_var_status,
623            content: local_var_content,
624            entity: local_var_entity,
625        };
626        Err(Error::ResponseError(local_var_error))
627    }
628}
629
630pub async fn service_accounts_id_granted_policies_put(
631    configuration: &configuration::Configuration,
632    id: uuid::Uuid,
633    service_account_granted_policies_request_model: Option<
634        models::ServiceAccountGrantedPoliciesRequestModel,
635    >,
636) -> Result<
637    models::ServiceAccountGrantedPoliciesPermissionDetailsResponseModel,
638    Error<ServiceAccountsIdGrantedPoliciesPutError>,
639> {
640    let local_var_configuration = configuration;
641
642    let local_var_client = &local_var_configuration.client;
643
644    let local_var_uri_str = format!(
645        "{}/service-accounts/{id}/granted-policies",
646        local_var_configuration.base_path,
647        id = crate::apis::urlencode(id.to_string())
648    );
649    let mut local_var_req_builder =
650        local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
651
652    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
653        local_var_req_builder =
654            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
655    }
656    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
657        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
658    };
659    local_var_req_builder =
660        local_var_req_builder.json(&service_account_granted_policies_request_model);
661
662    let local_var_req = local_var_req_builder.build()?;
663    let local_var_resp = local_var_client.execute(local_var_req).await?;
664
665    let local_var_status = local_var_resp.status();
666    let local_var_content = local_var_resp.text().await?;
667
668    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
669        serde_json::from_str(&local_var_content).map_err(Error::from)
670    } else {
671        let local_var_entity: Option<ServiceAccountsIdGrantedPoliciesPutError> =
672            serde_json::from_str(&local_var_content).ok();
673        let local_var_error = ResponseContent {
674            status: local_var_status,
675            content: local_var_content,
676            entity: local_var_entity,
677        };
678        Err(Error::ResponseError(local_var_error))
679    }
680}