pulsar_admin_sdk/apis/
tenants_api.rs

1/*
2 * Pulsar Admin REST API
3 *
4 * This provides the REST API for admin operations
5 *
6 * The version of the OpenAPI document: v2
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`tenants_base_create_tenant`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum TenantsBaseCreateTenantError {
22    Status403(),
23    Status409(),
24    Status412(),
25    UnknownValue(serde_json::Value),
26}
27
28/// struct for typed errors of method [`tenants_base_delete_tenant`]
29#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(untagged)]
31pub enum TenantsBaseDeleteTenantError {
32    Status403(),
33    Status404(),
34    Status405(),
35    Status409(),
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method [`tenants_base_get_tenant_admin`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum TenantsBaseGetTenantAdminError {
43    Status403(),
44    Status404(),
45    UnknownValue(serde_json::Value),
46}
47
48/// struct for typed errors of method [`tenants_base_get_tenants`]
49#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum TenantsBaseGetTenantsError {
52    Status403(),
53    Status404(),
54    UnknownValue(serde_json::Value),
55}
56
57/// struct for typed errors of method [`tenants_base_update_tenant`]
58#[derive(Debug, Clone, Serialize, Deserialize)]
59#[serde(untagged)]
60pub enum TenantsBaseUpdateTenantError {
61    Status403(),
62    Status404(),
63    Status409(),
64    Status412(),
65    UnknownValue(serde_json::Value),
66}
67
68
69/// This operation requires Pulsar super-user privileges.
70pub async fn tenants_base_create_tenant(configuration: &configuration::Configuration, tenant: &str, body: Option<models::TenantInfo>) -> Result<(), Error<TenantsBaseCreateTenantError>> {
71    let local_var_configuration = configuration;
72
73    let local_var_client = &local_var_configuration.client;
74
75    let local_var_uri_str = format!("{}/tenants/{tenant}", local_var_configuration.base_path, tenant=crate::apis::urlencode(tenant));
76    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
77
78    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
79        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
80    }
81    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
82        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
83    };
84    local_var_req_builder = local_var_req_builder.json(&body);
85
86    let local_var_req = local_var_req_builder.build()?;
87    let local_var_resp = local_var_client.execute(local_var_req).await?;
88
89    let local_var_status = local_var_resp.status();
90    let local_var_content = local_var_resp.text().await?;
91
92    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
93        Ok(())
94    } else {
95        let local_var_entity: Option<TenantsBaseCreateTenantError> = serde_json::from_str(&local_var_content).ok();
96        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
97        Err(Error::ResponseError(local_var_error))
98    }
99}
100
101pub async fn tenants_base_delete_tenant(configuration: &configuration::Configuration, tenant: &str, force: Option<bool>) -> Result<(), Error<TenantsBaseDeleteTenantError>> {
102    let local_var_configuration = configuration;
103
104    let local_var_client = &local_var_configuration.client;
105
106    let local_var_uri_str = format!("{}/tenants/{tenant}", local_var_configuration.base_path, tenant=crate::apis::urlencode(tenant));
107    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
108
109    if let Some(ref local_var_str) = force {
110        local_var_req_builder = local_var_req_builder.query(&[("force", &local_var_str.to_string())]);
111    }
112    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
113        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
114    }
115    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
116        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
117    };
118
119    let local_var_req = local_var_req_builder.build()?;
120    let local_var_resp = local_var_client.execute(local_var_req).await?;
121
122    let local_var_status = local_var_resp.status();
123    let local_var_content = local_var_resp.text().await?;
124
125    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
126        Ok(())
127    } else {
128        let local_var_entity: Option<TenantsBaseDeleteTenantError> = serde_json::from_str(&local_var_content).ok();
129        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
130        Err(Error::ResponseError(local_var_error))
131    }
132}
133
134pub async fn tenants_base_get_tenant_admin(configuration: &configuration::Configuration, tenant: &str) -> Result<models::TenantInfo, Error<TenantsBaseGetTenantAdminError>> {
135    let local_var_configuration = configuration;
136
137    let local_var_client = &local_var_configuration.client;
138
139    let local_var_uri_str = format!("{}/tenants/{tenant}", local_var_configuration.base_path, tenant=crate::apis::urlencode(tenant));
140    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
141
142    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
143        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
144    }
145    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
146        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
147    };
148
149    let local_var_req = local_var_req_builder.build()?;
150    let local_var_resp = local_var_client.execute(local_var_req).await?;
151
152    let local_var_status = local_var_resp.status();
153    let local_var_content = local_var_resp.text().await?;
154
155    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
156        serde_json::from_str(&local_var_content).map_err(Error::from)
157    } else {
158        let local_var_entity: Option<TenantsBaseGetTenantAdminError> = serde_json::from_str(&local_var_content).ok();
159        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
160        Err(Error::ResponseError(local_var_error))
161    }
162}
163
164pub async fn tenants_base_get_tenants(configuration: &configuration::Configuration, ) -> Result<Vec<String>, Error<TenantsBaseGetTenantsError>> {
165    let local_var_configuration = configuration;
166
167    let local_var_client = &local_var_configuration.client;
168
169    let local_var_uri_str = format!("{}/tenants", local_var_configuration.base_path);
170    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
171
172    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
173        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
174    }
175    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
176        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
177    };
178
179    let local_var_req = local_var_req_builder.build()?;
180    let local_var_resp = local_var_client.execute(local_var_req).await?;
181
182    let local_var_status = local_var_resp.status();
183    let local_var_content = local_var_resp.text().await?;
184
185    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
186        serde_json::from_str(&local_var_content).map_err(Error::from)
187    } else {
188        let local_var_entity: Option<TenantsBaseGetTenantsError> = serde_json::from_str(&local_var_content).ok();
189        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
190        Err(Error::ResponseError(local_var_error))
191    }
192}
193
194/// This operation requires Pulsar super-user privileges.
195pub async fn tenants_base_update_tenant(configuration: &configuration::Configuration, tenant: &str, body: Option<models::TenantInfo>) -> Result<(), Error<TenantsBaseUpdateTenantError>> {
196    let local_var_configuration = configuration;
197
198    let local_var_client = &local_var_configuration.client;
199
200    let local_var_uri_str = format!("{}/tenants/{tenant}", local_var_configuration.base_path, tenant=crate::apis::urlencode(tenant));
201    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
202
203    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
204        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
205    }
206    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
207        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
208    };
209    local_var_req_builder = local_var_req_builder.json(&body);
210
211    let local_var_req = local_var_req_builder.build()?;
212    let local_var_resp = local_var_client.execute(local_var_req).await?;
213
214    let local_var_status = local_var_resp.status();
215    let local_var_content = local_var_resp.text().await?;
216
217    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
218        Ok(())
219    } else {
220        let local_var_entity: Option<TenantsBaseUpdateTenantError> = serde_json::from_str(&local_var_content).ok();
221        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
222        Err(Error::ResponseError(local_var_error))
223    }
224}
225