pulsar_admin_sdk/apis/
tenants_api.rs1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[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#[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#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum TenantsBaseGetTenantAdminError {
43 Status403(),
44 Status404(),
45 UnknownValue(serde_json::Value),
46}
47
48#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum TenantsBaseGetTenantsError {
52 Status403(),
53 Status404(),
54 UnknownValue(serde_json::Value),
55}
56
57#[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
69pub 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
194pub 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