github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/rust/src/apis/experimental_api.rs (about)

     1  /*
     2   * lakeFS API
     3   *
     4   * lakeFS HTTP API
     5   *
     6   * The version of the OpenAPI document: 1.0.0
     7   * Contact: services@treeverse.io
     8   * Generated by: https://openapi-generator.tech
     9   */
    10  
    11  
    12  use reqwest;
    13  
    14  use crate::{apis::ResponseContent, models};
    15  use super::{Error, configuration};
    16  
    17  
    18  /// struct for typed errors of method [`abort_presign_multipart_upload`]
    19  #[derive(Debug, Clone, Serialize, Deserialize)]
    20  #[serde(untagged)]
    21  pub enum AbortPresignMultipartUploadError {
    22      Status400(models::Error),
    23      Status401(models::Error),
    24      Status404(models::Error),
    25      Status420(),
    26      DefaultResponse(models::Error),
    27      UnknownValue(serde_json::Value),
    28  }
    29  
    30  /// struct for typed errors of method [`complete_presign_multipart_upload`]
    31  #[derive(Debug, Clone, Serialize, Deserialize)]
    32  #[serde(untagged)]
    33  pub enum CompletePresignMultipartUploadError {
    34      Status400(models::Error),
    35      Status401(models::Error),
    36      Status404(models::Error),
    37      Status409(models::StagingLocation),
    38      Status420(),
    39      DefaultResponse(models::Error),
    40      UnknownValue(serde_json::Value),
    41  }
    42  
    43  /// struct for typed errors of method [`create_presign_multipart_upload`]
    44  #[derive(Debug, Clone, Serialize, Deserialize)]
    45  #[serde(untagged)]
    46  pub enum CreatePresignMultipartUploadError {
    47      Status400(models::Error),
    48      Status401(models::Error),
    49      Status404(models::Error),
    50      Status420(),
    51      DefaultResponse(models::Error),
    52      UnknownValue(serde_json::Value),
    53  }
    54  
    55  /// struct for typed errors of method [`create_user_external_principal`]
    56  #[derive(Debug, Clone, Serialize, Deserialize)]
    57  #[serde(untagged)]
    58  pub enum CreateUserExternalPrincipalError {
    59      Status401(models::Error),
    60      Status404(models::Error),
    61      Status409(models::Error),
    62      Status420(),
    63      DefaultResponse(models::Error),
    64      UnknownValue(serde_json::Value),
    65  }
    66  
    67  /// struct for typed errors of method [`delete_user_external_principal`]
    68  #[derive(Debug, Clone, Serialize, Deserialize)]
    69  #[serde(untagged)]
    70  pub enum DeleteUserExternalPrincipalError {
    71      Status401(models::Error),
    72      Status404(models::Error),
    73      Status420(),
    74      DefaultResponse(models::Error),
    75      UnknownValue(serde_json::Value),
    76  }
    77  
    78  /// struct for typed errors of method [`external_principal_login`]
    79  #[derive(Debug, Clone, Serialize, Deserialize)]
    80  #[serde(untagged)]
    81  pub enum ExternalPrincipalLoginError {
    82      Status400(models::Error),
    83      Status401(models::Error),
    84      Status403(models::Error),
    85      Status404(models::Error),
    86      Status420(),
    87      DefaultResponse(models::Error),
    88      UnknownValue(serde_json::Value),
    89  }
    90  
    91  /// struct for typed errors of method [`get_external_principal`]
    92  #[derive(Debug, Clone, Serialize, Deserialize)]
    93  #[serde(untagged)]
    94  pub enum GetExternalPrincipalError {
    95      Status401(models::Error),
    96      Status404(models::Error),
    97      Status420(),
    98      DefaultResponse(models::Error),
    99      UnknownValue(serde_json::Value),
   100  }
   101  
   102  /// struct for typed errors of method [`hard_reset_branch`]
   103  #[derive(Debug, Clone, Serialize, Deserialize)]
   104  #[serde(untagged)]
   105  pub enum HardResetBranchError {
   106      Status400(models::Error),
   107      Status401(models::Error),
   108      Status403(models::Error),
   109      Status404(models::Error),
   110      Status420(),
   111      DefaultResponse(models::Error),
   112      UnknownValue(serde_json::Value),
   113  }
   114  
   115  /// struct for typed errors of method [`list_user_external_principals`]
   116  #[derive(Debug, Clone, Serialize, Deserialize)]
   117  #[serde(untagged)]
   118  pub enum ListUserExternalPrincipalsError {
   119      Status401(models::Error),
   120      Status404(models::Error),
   121      Status420(),
   122      DefaultResponse(models::Error),
   123      UnknownValue(serde_json::Value),
   124  }
   125  
   126  /// struct for typed errors of method [`sts_login`]
   127  #[derive(Debug, Clone, Serialize, Deserialize)]
   128  #[serde(untagged)]
   129  pub enum StsLoginError {
   130      Status401(models::Error),
   131      Status420(),
   132      DefaultResponse(models::Error),
   133      UnknownValue(serde_json::Value),
   134  }
   135  
   136  
   137  /// Aborts a presign multipart upload.
   138  pub async fn abort_presign_multipart_upload(configuration: &configuration::Configuration, repository: &str, branch: &str, upload_id: &str, path: &str, abort_presign_multipart_upload: Option<models::AbortPresignMultipartUpload>) -> Result<(), Error<AbortPresignMultipartUploadError>> {
   139      let local_var_configuration = configuration;
   140  
   141      let local_var_client = &local_var_configuration.client;
   142  
   143      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/staging/pmpu/{uploadId}", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch), uploadId=crate::apis::urlencode(upload_id));
   144      let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
   145  
   146      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   147      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   148          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   149      }
   150      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   151          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   152      };
   153      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   154          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   155      };
   156      local_var_req_builder = local_var_req_builder.json(&abort_presign_multipart_upload);
   157  
   158      let local_var_req = local_var_req_builder.build()?;
   159      let local_var_resp = local_var_client.execute(local_var_req).await?;
   160  
   161      let local_var_status = local_var_resp.status();
   162      let local_var_content = local_var_resp.text().await?;
   163  
   164      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   165          Ok(())
   166      } else {
   167          let local_var_entity: Option<AbortPresignMultipartUploadError> = serde_json::from_str(&local_var_content).ok();
   168          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   169          Err(Error::ResponseError(local_var_error))
   170      }
   171  }
   172  
   173  /// Completes a presign multipart upload by assembling the uploaded parts.
   174  pub async fn complete_presign_multipart_upload(configuration: &configuration::Configuration, repository: &str, branch: &str, upload_id: &str, path: &str, complete_presign_multipart_upload: Option<models::CompletePresignMultipartUpload>) -> Result<models::ObjectStats, Error<CompletePresignMultipartUploadError>> {
   175      let local_var_configuration = configuration;
   176  
   177      let local_var_client = &local_var_configuration.client;
   178  
   179      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/staging/pmpu/{uploadId}", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch), uploadId=crate::apis::urlencode(upload_id));
   180      let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
   181  
   182      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   183      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   184          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   185      }
   186      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   187          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   188      };
   189      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   190          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   191      };
   192      local_var_req_builder = local_var_req_builder.json(&complete_presign_multipart_upload);
   193  
   194      let local_var_req = local_var_req_builder.build()?;
   195      let local_var_resp = local_var_client.execute(local_var_req).await?;
   196  
   197      let local_var_status = local_var_resp.status();
   198      let local_var_content = local_var_resp.text().await?;
   199  
   200      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   201          serde_json::from_str(&local_var_content).map_err(Error::from)
   202      } else {
   203          let local_var_entity: Option<CompletePresignMultipartUploadError> = serde_json::from_str(&local_var_content).ok();
   204          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   205          Err(Error::ResponseError(local_var_error))
   206      }
   207  }
   208  
   209  /// Initiates a multipart upload and returns an upload ID with presigned URLs for each part (optional). Part numbers starts with 1. Each part except the last one has minimum size depends on the underlying blockstore implementation. For example working with S3 blockstore, minimum size is 5MB (excluding the last part). 
   210  pub async fn create_presign_multipart_upload(configuration: &configuration::Configuration, repository: &str, branch: &str, path: &str, parts: Option<i32>) -> Result<models::PresignMultipartUpload, Error<CreatePresignMultipartUploadError>> {
   211      let local_var_configuration = configuration;
   212  
   213      let local_var_client = &local_var_configuration.client;
   214  
   215      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/staging/pmpu", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   216      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   217  
   218      local_var_req_builder = local_var_req_builder.query(&[("path", &path.to_string())]);
   219      if let Some(ref local_var_str) = parts {
   220          local_var_req_builder = local_var_req_builder.query(&[("parts", &local_var_str.to_string())]);
   221      }
   222      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   223          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   224      }
   225      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   226          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   227      };
   228      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   229          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   230      };
   231  
   232      let local_var_req = local_var_req_builder.build()?;
   233      let local_var_resp = local_var_client.execute(local_var_req).await?;
   234  
   235      let local_var_status = local_var_resp.status();
   236      let local_var_content = local_var_resp.text().await?;
   237  
   238      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   239          serde_json::from_str(&local_var_content).map_err(Error::from)
   240      } else {
   241          let local_var_entity: Option<CreatePresignMultipartUploadError> = serde_json::from_str(&local_var_content).ok();
   242          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   243          Err(Error::ResponseError(local_var_error))
   244      }
   245  }
   246  
   247  pub async fn create_user_external_principal(configuration: &configuration::Configuration, user_id: &str, principal_id: &str, external_principal_creation: Option<models::ExternalPrincipalCreation>) -> Result<(), Error<CreateUserExternalPrincipalError>> {
   248      let local_var_configuration = configuration;
   249  
   250      let local_var_client = &local_var_configuration.client;
   251  
   252      let local_var_uri_str = format!("{}/auth/users/{userId}/external/principals", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
   253      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   254  
   255      local_var_req_builder = local_var_req_builder.query(&[("principalId", &principal_id.to_string())]);
   256      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   257          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   258      }
   259      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   260          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   261      };
   262      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   263          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   264      };
   265      local_var_req_builder = local_var_req_builder.json(&external_principal_creation);
   266  
   267      let local_var_req = local_var_req_builder.build()?;
   268      let local_var_resp = local_var_client.execute(local_var_req).await?;
   269  
   270      let local_var_status = local_var_resp.status();
   271      let local_var_content = local_var_resp.text().await?;
   272  
   273      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   274          Ok(())
   275      } else {
   276          let local_var_entity: Option<CreateUserExternalPrincipalError> = serde_json::from_str(&local_var_content).ok();
   277          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   278          Err(Error::ResponseError(local_var_error))
   279      }
   280  }
   281  
   282  pub async fn delete_user_external_principal(configuration: &configuration::Configuration, user_id: &str, principal_id: &str) -> Result<(), Error<DeleteUserExternalPrincipalError>> {
   283      let local_var_configuration = configuration;
   284  
   285      let local_var_client = &local_var_configuration.client;
   286  
   287      let local_var_uri_str = format!("{}/auth/users/{userId}/external/principals", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
   288      let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
   289  
   290      local_var_req_builder = local_var_req_builder.query(&[("principalId", &principal_id.to_string())]);
   291      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   292          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   293      }
   294      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   295          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   296      };
   297      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   298          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   299      };
   300  
   301      let local_var_req = local_var_req_builder.build()?;
   302      let local_var_resp = local_var_client.execute(local_var_req).await?;
   303  
   304      let local_var_status = local_var_resp.status();
   305      let local_var_content = local_var_resp.text().await?;
   306  
   307      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   308          Ok(())
   309      } else {
   310          let local_var_entity: Option<DeleteUserExternalPrincipalError> = serde_json::from_str(&local_var_content).ok();
   311          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   312          Err(Error::ResponseError(local_var_error))
   313      }
   314  }
   315  
   316  pub async fn external_principal_login(configuration: &configuration::Configuration, external_login_information: Option<models::ExternalLoginInformation>) -> Result<models::AuthenticationToken, Error<ExternalPrincipalLoginError>> {
   317      let local_var_configuration = configuration;
   318  
   319      let local_var_client = &local_var_configuration.client;
   320  
   321      let local_var_uri_str = format!("{}/auth/external/principal/login", local_var_configuration.base_path);
   322      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   323  
   324      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   325          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   326      }
   327      local_var_req_builder = local_var_req_builder.json(&external_login_information);
   328  
   329      let local_var_req = local_var_req_builder.build()?;
   330      let local_var_resp = local_var_client.execute(local_var_req).await?;
   331  
   332      let local_var_status = local_var_resp.status();
   333      let local_var_content = local_var_resp.text().await?;
   334  
   335      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   336          serde_json::from_str(&local_var_content).map_err(Error::from)
   337      } else {
   338          let local_var_entity: Option<ExternalPrincipalLoginError> = serde_json::from_str(&local_var_content).ok();
   339          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   340          Err(Error::ResponseError(local_var_error))
   341      }
   342  }
   343  
   344  pub async fn get_external_principal(configuration: &configuration::Configuration, principal_id: &str) -> Result<models::ExternalPrincipal, Error<GetExternalPrincipalError>> {
   345      let local_var_configuration = configuration;
   346  
   347      let local_var_client = &local_var_configuration.client;
   348  
   349      let local_var_uri_str = format!("{}/auth/external/principals", local_var_configuration.base_path);
   350      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   351  
   352      local_var_req_builder = local_var_req_builder.query(&[("principalId", &principal_id.to_string())]);
   353      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   354          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   355      }
   356      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   357          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   358      };
   359      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   360          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   361      };
   362  
   363      let local_var_req = local_var_req_builder.build()?;
   364      let local_var_resp = local_var_client.execute(local_var_req).await?;
   365  
   366      let local_var_status = local_var_resp.status();
   367      let local_var_content = local_var_resp.text().await?;
   368  
   369      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   370          serde_json::from_str(&local_var_content).map_err(Error::from)
   371      } else {
   372          let local_var_entity: Option<GetExternalPrincipalError> = serde_json::from_str(&local_var_content).ok();
   373          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   374          Err(Error::ResponseError(local_var_error))
   375      }
   376  }
   377  
   378  /// Relocate branch to refer to ref.  Branch must not contain uncommitted data.
   379  pub async fn hard_reset_branch(configuration: &configuration::Configuration, repository: &str, branch: &str, r#ref: &str, force: Option<bool>) -> Result<(), Error<HardResetBranchError>> {
   380      let local_var_configuration = configuration;
   381  
   382      let local_var_client = &local_var_configuration.client;
   383  
   384      let local_var_uri_str = format!("{}/repositories/{repository}/branches/{branch}/hard_reset", local_var_configuration.base_path, repository=crate::apis::urlencode(repository), branch=crate::apis::urlencode(branch));
   385      let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
   386  
   387      local_var_req_builder = local_var_req_builder.query(&[("ref", &r#ref.to_string())]);
   388      if let Some(ref local_var_str) = force {
   389          local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
   390      }
   391      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   392          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   393      }
   394      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   395          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   396      };
   397      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   398          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   399      };
   400  
   401      let local_var_req = local_var_req_builder.build()?;
   402      let local_var_resp = local_var_client.execute(local_var_req).await?;
   403  
   404      let local_var_status = local_var_resp.status();
   405      let local_var_content = local_var_resp.text().await?;
   406  
   407      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   408          Ok(())
   409      } else {
   410          let local_var_entity: Option<HardResetBranchError> = serde_json::from_str(&local_var_content).ok();
   411          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   412          Err(Error::ResponseError(local_var_error))
   413      }
   414  }
   415  
   416  pub async fn list_user_external_principals(configuration: &configuration::Configuration, user_id: &str, prefix: Option<&str>, after: Option<&str>, amount: Option<i32>) -> Result<models::ExternalPrincipalList, Error<ListUserExternalPrincipalsError>> {
   417      let local_var_configuration = configuration;
   418  
   419      let local_var_client = &local_var_configuration.client;
   420  
   421      let local_var_uri_str = format!("{}/auth/users/{userId}/external/principals/ls", local_var_configuration.base_path, userId=crate::apis::urlencode(user_id));
   422      let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
   423  
   424      if let Some(ref local_var_str) = prefix {
   425          local_var_req_builder = local_var_req_builder.query(&[("prefix", &local_var_str.to_string())]);
   426      }
   427      if let Some(ref local_var_str) = after {
   428          local_var_req_builder = local_var_req_builder.query(&[("after", &local_var_str.to_string())]);
   429      }
   430      if let Some(ref local_var_str) = amount {
   431          local_var_req_builder = local_var_req_builder.query(&[("amount", &local_var_str.to_string())]);
   432      }
   433      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   434          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   435      }
   436      if let Some(ref local_var_auth_conf) = local_var_configuration.basic_auth {
   437          local_var_req_builder = local_var_req_builder.basic_auth(local_var_auth_conf.0.to_owned(), local_var_auth_conf.1.to_owned());
   438      };
   439      if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
   440          local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
   441      };
   442  
   443      let local_var_req = local_var_req_builder.build()?;
   444      let local_var_resp = local_var_client.execute(local_var_req).await?;
   445  
   446      let local_var_status = local_var_resp.status();
   447      let local_var_content = local_var_resp.text().await?;
   448  
   449      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   450          serde_json::from_str(&local_var_content).map_err(Error::from)
   451      } else {
   452          let local_var_entity: Option<ListUserExternalPrincipalsError> = serde_json::from_str(&local_var_content).ok();
   453          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   454          Err(Error::ResponseError(local_var_error))
   455      }
   456  }
   457  
   458  pub async fn sts_login(configuration: &configuration::Configuration, sts_auth_request: models::StsAuthRequest) -> Result<models::AuthenticationToken, Error<StsLoginError>> {
   459      let local_var_configuration = configuration;
   460  
   461      let local_var_client = &local_var_configuration.client;
   462  
   463      let local_var_uri_str = format!("{}/sts/login", local_var_configuration.base_path);
   464      let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
   465  
   466      if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
   467          local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
   468      }
   469      local_var_req_builder = local_var_req_builder.json(&sts_auth_request);
   470  
   471      let local_var_req = local_var_req_builder.build()?;
   472      let local_var_resp = local_var_client.execute(local_var_req).await?;
   473  
   474      let local_var_status = local_var_resp.status();
   475      let local_var_content = local_var_resp.text().await?;
   476  
   477      if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
   478          serde_json::from_str(&local_var_content).map_err(Error::from)
   479      } else {
   480          let local_var_entity: Option<StsLoginError> = serde_json::from_str(&local_var_content).ok();
   481          let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
   482          Err(Error::ResponseError(local_var_error))
   483      }
   484  }
   485