1use reqwest;
12use serde::{Deserialize, Serialize};
13
14use super::{configuration, Error};
15use crate::{apis::ResponseContent, models};
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum OrganizationsIdAccessPoliciesPeoplePotentialGranteesGetError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum OrganizationsIdAccessPoliciesProjectsPotentialGranteesGetError {
30 UnknownValue(serde_json::Value),
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum OrganizationsIdAccessPoliciesServiceAccountsPotentialGranteesGetError {
38 UnknownValue(serde_json::Value),
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
43#[serde(untagged)]
44pub enum ProjectsIdAccessPoliciesPeopleGetError {
45 UnknownValue(serde_json::Value),
46}
47
48#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum ProjectsIdAccessPoliciesPeoplePutError {
52 UnknownValue(serde_json::Value),
53}
54
55#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum ProjectsIdAccessPoliciesServiceAccountsGetError {
59 UnknownValue(serde_json::Value),
60}
61
62#[derive(Debug, Clone, Serialize, Deserialize)]
64#[serde(untagged)]
65pub enum ProjectsIdAccessPoliciesServiceAccountsPutError {
66 UnknownValue(serde_json::Value),
67}
68
69#[derive(Debug, Clone, Serialize, Deserialize)]
71#[serde(untagged)]
72pub enum SecretsSecretIdAccessPoliciesGetError {
73 UnknownValue(serde_json::Value),
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
78#[serde(untagged)]
79pub enum ServiceAccountsIdAccessPoliciesPeopleGetError {
80 UnknownValue(serde_json::Value),
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize)]
85#[serde(untagged)]
86pub enum ServiceAccountsIdAccessPoliciesPeoplePutError {
87 UnknownValue(serde_json::Value),
88}
89
90#[derive(Debug, Clone, Serialize, Deserialize)]
92#[serde(untagged)]
93pub enum ServiceAccountsIdGrantedPoliciesGetError {
94 UnknownValue(serde_json::Value),
95}
96
97#[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}