pulsar_admin_sdk/apis/
default_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 [`worker_drain`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum WorkerDrainError {
22    Status400(),
23    Status403(),
24    Status408(),
25    Status409(),
26    Status503(),
27    UnknownValue(serde_json::Value),
28}
29
30/// struct for typed errors of method [`worker_drain_at_leader`]
31#[derive(Debug, Clone, Serialize, Deserialize)]
32#[serde(untagged)]
33pub enum WorkerDrainAtLeaderError {
34    Status400(),
35    Status403(),
36    Status408(),
37    Status409(),
38    Status503(),
39    UnknownValue(serde_json::Value),
40}
41
42/// struct for typed errors of method [`worker_get_assignments`]
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum WorkerGetAssignmentsError {
46    Status403(),
47    Status503(),
48    UnknownValue(serde_json::Value),
49}
50
51/// struct for typed errors of method [`worker_get_cluster`]
52#[derive(Debug, Clone, Serialize, Deserialize)]
53#[serde(untagged)]
54pub enum WorkerGetClusterError {
55    Status403(),
56    Status503(),
57    UnknownValue(serde_json::Value),
58}
59
60/// struct for typed errors of method [`worker_get_cluster_leader`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum WorkerGetClusterLeaderError {
64    Status403(),
65    Status503(),
66    UnknownValue(serde_json::Value),
67}
68
69/// struct for typed errors of method [`worker_get_connectors_list`]
70#[derive(Debug, Clone, Serialize, Deserialize)]
71#[serde(untagged)]
72pub enum WorkerGetConnectorsListError {
73    Status400(),
74    Status403(),
75    Status408(),
76    UnknownValue(serde_json::Value),
77}
78
79/// struct for typed errors of method [`worker_get_drain_status`]
80#[derive(Debug, Clone, Serialize, Deserialize)]
81#[serde(untagged)]
82pub enum WorkerGetDrainStatusError {
83    Status403(),
84    Status503(),
85    UnknownValue(serde_json::Value),
86}
87
88/// struct for typed errors of method [`worker_get_drain_status_from_leader`]
89#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum WorkerGetDrainStatusFromLeaderError {
92    Status403(),
93    Status503(),
94    UnknownValue(serde_json::Value),
95}
96
97/// struct for typed errors of method [`worker_is_leader_ready`]
98#[derive(Debug, Clone, Serialize, Deserialize)]
99#[serde(untagged)]
100pub enum WorkerIsLeaderReadyError {
101    Status503(),
102    UnknownValue(serde_json::Value),
103}
104
105/// struct for typed errors of method [`worker_rebalance`]
106#[derive(Debug, Clone, Serialize, Deserialize)]
107#[serde(untagged)]
108pub enum WorkerRebalanceError {
109    Status400(),
110    Status403(),
111    Status408(),
112    UnknownValue(serde_json::Value),
113}
114
115/// struct for typed errors of method [`worker_stats_get_metrics`]
116#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(untagged)]
118pub enum WorkerStatsGetMetricsError {
119    Status401(),
120    Status503(),
121    UnknownValue(serde_json::Value),
122}
123
124/// struct for typed errors of method [`worker_stats_get_stats`]
125#[derive(Debug, Clone, Serialize, Deserialize)]
126#[serde(untagged)]
127pub enum WorkerStatsGetStatsError {
128    Status401(),
129    Status503(),
130    UnknownValue(serde_json::Value),
131}
132
133
134pub async fn worker_drain(configuration: &configuration::Configuration, ) -> Result<(), Error<WorkerDrainError>> {
135    let local_var_configuration = configuration;
136
137    let local_var_client = &local_var_configuration.client;
138
139    let local_var_uri_str = format!("{}/worker/drain", local_var_configuration.base_path);
140    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, 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        Ok(())
157    } else {
158        let local_var_entity: Option<WorkerDrainError> = 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 worker_drain_at_leader(configuration: &configuration::Configuration, worker_id: Option<&str>) -> Result<(), Error<WorkerDrainAtLeaderError>> {
165    let local_var_configuration = configuration;
166
167    let local_var_client = &local_var_configuration.client;
168
169    let local_var_uri_str = format!("{}/worker/leader/drain", local_var_configuration.base_path);
170    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
171
172    if let Some(ref local_var_str) = worker_id {
173        local_var_req_builder = local_var_req_builder.query(&[("workerId", &local_var_str.to_string())]);
174    }
175    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
176        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
177    }
178    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
179        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
180    };
181
182    let local_var_req = local_var_req_builder.build()?;
183    let local_var_resp = local_var_client.execute(local_var_req).await?;
184
185    let local_var_status = local_var_resp.status();
186    let local_var_content = local_var_resp.text().await?;
187
188    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
189        Ok(())
190    } else {
191        let local_var_entity: Option<WorkerDrainAtLeaderError> = serde_json::from_str(&local_var_content).ok();
192        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
193        Err(Error::ResponseError(local_var_error))
194    }
195}
196
197pub async fn worker_get_assignments(configuration: &configuration::Configuration, ) -> Result<std::collections::HashMap<String, serde_json::Value>, Error<WorkerGetAssignmentsError>> {
198    let local_var_configuration = configuration;
199
200    let local_var_client = &local_var_configuration.client;
201
202    let local_var_uri_str = format!("{}/worker/assignments", local_var_configuration.base_path);
203    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
204
205    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
206        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
207    }
208    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
209        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
210    };
211
212    let local_var_req = local_var_req_builder.build()?;
213    let local_var_resp = local_var_client.execute(local_var_req).await?;
214
215    let local_var_status = local_var_resp.status();
216    let local_var_content = local_var_resp.text().await?;
217
218    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
219        serde_json::from_str(&local_var_content).map_err(Error::from)
220    } else {
221        let local_var_entity: Option<WorkerGetAssignmentsError> = serde_json::from_str(&local_var_content).ok();
222        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
223        Err(Error::ResponseError(local_var_error))
224    }
225}
226
227pub async fn worker_get_cluster(configuration: &configuration::Configuration, ) -> Result<Vec<models::WorkerInfo>, Error<WorkerGetClusterError>> {
228    let local_var_configuration = configuration;
229
230    let local_var_client = &local_var_configuration.client;
231
232    let local_var_uri_str = format!("{}/worker/cluster", local_var_configuration.base_path);
233    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
234
235    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
236        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
237    }
238    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
239        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
240    };
241
242    let local_var_req = local_var_req_builder.build()?;
243    let local_var_resp = local_var_client.execute(local_var_req).await?;
244
245    let local_var_status = local_var_resp.status();
246    let local_var_content = local_var_resp.text().await?;
247
248    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
249        serde_json::from_str(&local_var_content).map_err(Error::from)
250    } else {
251        let local_var_entity: Option<WorkerGetClusterError> = serde_json::from_str(&local_var_content).ok();
252        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
253        Err(Error::ResponseError(local_var_error))
254    }
255}
256
257pub async fn worker_get_cluster_leader(configuration: &configuration::Configuration, ) -> Result<models::WorkerInfo, Error<WorkerGetClusterLeaderError>> {
258    let local_var_configuration = configuration;
259
260    let local_var_client = &local_var_configuration.client;
261
262    let local_var_uri_str = format!("{}/worker/cluster/leader", local_var_configuration.base_path);
263    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
264
265    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
266        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
267    }
268    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
269        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
270    };
271
272    let local_var_req = local_var_req_builder.build()?;
273    let local_var_resp = local_var_client.execute(local_var_req).await?;
274
275    let local_var_status = local_var_resp.status();
276    let local_var_content = local_var_resp.text().await?;
277
278    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
279        serde_json::from_str(&local_var_content).map_err(Error::from)
280    } else {
281        let local_var_entity: Option<WorkerGetClusterLeaderError> = serde_json::from_str(&local_var_content).ok();
282        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
283        Err(Error::ResponseError(local_var_error))
284    }
285}
286
287pub async fn worker_get_connectors_list(configuration: &configuration::Configuration, ) -> Result<Vec<serde_json::Value>, Error<WorkerGetConnectorsListError>> {
288    let local_var_configuration = configuration;
289
290    let local_var_client = &local_var_configuration.client;
291
292    let local_var_uri_str = format!("{}/worker/connectors", local_var_configuration.base_path);
293    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
294
295    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
296        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
297    }
298    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
299        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
300    };
301
302    let local_var_req = local_var_req_builder.build()?;
303    let local_var_resp = local_var_client.execute(local_var_req).await?;
304
305    let local_var_status = local_var_resp.status();
306    let local_var_content = local_var_resp.text().await?;
307
308    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
309        serde_json::from_str(&local_var_content).map_err(Error::from)
310    } else {
311        let local_var_entity: Option<WorkerGetConnectorsListError> = serde_json::from_str(&local_var_content).ok();
312        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
313        Err(Error::ResponseError(local_var_error))
314    }
315}
316
317pub async fn worker_get_drain_status(configuration: &configuration::Configuration, ) -> Result<models::LongRunningProcessStatus, Error<WorkerGetDrainStatusError>> {
318    let local_var_configuration = configuration;
319
320    let local_var_client = &local_var_configuration.client;
321
322    let local_var_uri_str = format!("{}/worker/drain", local_var_configuration.base_path);
323    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
324
325    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
326        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
327    }
328    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
329        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
330    };
331
332    let local_var_req = local_var_req_builder.build()?;
333    let local_var_resp = local_var_client.execute(local_var_req).await?;
334
335    let local_var_status = local_var_resp.status();
336    let local_var_content = local_var_resp.text().await?;
337
338    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
339        serde_json::from_str(&local_var_content).map_err(Error::from)
340    } else {
341        let local_var_entity: Option<WorkerGetDrainStatusError> = serde_json::from_str(&local_var_content).ok();
342        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
343        Err(Error::ResponseError(local_var_error))
344    }
345}
346
347pub async fn worker_get_drain_status_from_leader(configuration: &configuration::Configuration, worker_id: Option<&str>) -> Result<models::LongRunningProcessStatus, Error<WorkerGetDrainStatusFromLeaderError>> {
348    let local_var_configuration = configuration;
349
350    let local_var_client = &local_var_configuration.client;
351
352    let local_var_uri_str = format!("{}/worker/leader/drain", local_var_configuration.base_path);
353    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
354
355    if let Some(ref local_var_str) = worker_id {
356        local_var_req_builder = local_var_req_builder.query(&[("workerId", &local_var_str.to_string())]);
357    }
358    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
359        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
360    }
361    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
362        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
363    };
364
365    let local_var_req = local_var_req_builder.build()?;
366    let local_var_resp = local_var_client.execute(local_var_req).await?;
367
368    let local_var_status = local_var_resp.status();
369    let local_var_content = local_var_resp.text().await?;
370
371    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
372        serde_json::from_str(&local_var_content).map_err(Error::from)
373    } else {
374        let local_var_entity: Option<WorkerGetDrainStatusFromLeaderError> = serde_json::from_str(&local_var_content).ok();
375        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
376        Err(Error::ResponseError(local_var_error))
377    }
378}
379
380pub async fn worker_is_leader_ready(configuration: &configuration::Configuration, ) -> Result<bool, Error<WorkerIsLeaderReadyError>> {
381    let local_var_configuration = configuration;
382
383    let local_var_client = &local_var_configuration.client;
384
385    let local_var_uri_str = format!("{}/worker/cluster/leader/ready", local_var_configuration.base_path);
386    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
387
388    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
389        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
390    }
391    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
392        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
393    };
394
395    let local_var_req = local_var_req_builder.build()?;
396    let local_var_resp = local_var_client.execute(local_var_req).await?;
397
398    let local_var_status = local_var_resp.status();
399    let local_var_content = local_var_resp.text().await?;
400
401    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
402        serde_json::from_str(&local_var_content).map_err(Error::from)
403    } else {
404        let local_var_entity: Option<WorkerIsLeaderReadyError> = serde_json::from_str(&local_var_content).ok();
405        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
406        Err(Error::ResponseError(local_var_error))
407    }
408}
409
410pub async fn worker_rebalance(configuration: &configuration::Configuration, ) -> Result<(), Error<WorkerRebalanceError>> {
411    let local_var_configuration = configuration;
412
413    let local_var_client = &local_var_configuration.client;
414
415    let local_var_uri_str = format!("{}/worker/rebalance", local_var_configuration.base_path);
416    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
417
418    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
419        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
420    }
421    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
422        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
423    };
424
425    let local_var_req = local_var_req_builder.build()?;
426    let local_var_resp = local_var_client.execute(local_var_req).await?;
427
428    let local_var_status = local_var_resp.status();
429    let local_var_content = local_var_resp.text().await?;
430
431    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
432        Ok(())
433    } else {
434        let local_var_entity: Option<WorkerRebalanceError> = serde_json::from_str(&local_var_content).ok();
435        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
436        Err(Error::ResponseError(local_var_error))
437    }
438}
439
440/// Request should be executed by Monitoring agent on each worker to fetch the worker-metrics
441pub async fn worker_stats_get_metrics(configuration: &configuration::Configuration, ) -> Result<Vec<models::Metrics>, Error<WorkerStatsGetMetricsError>> {
442    let local_var_configuration = configuration;
443
444    let local_var_client = &local_var_configuration.client;
445
446    let local_var_uri_str = format!("{}/worker-stats/metrics", local_var_configuration.base_path);
447    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
448
449    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
450        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
451    }
452    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
453        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
454    };
455
456    let local_var_req = local_var_req_builder.build()?;
457    let local_var_resp = local_var_client.execute(local_var_req).await?;
458
459    let local_var_status = local_var_resp.status();
460    let local_var_content = local_var_resp.text().await?;
461
462    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
463        serde_json::from_str(&local_var_content).map_err(Error::from)
464    } else {
465        let local_var_entity: Option<WorkerStatsGetMetricsError> = serde_json::from_str(&local_var_content).ok();
466        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
467        Err(Error::ResponseError(local_var_error))
468    }
469}
470
471/// Requested should be executed by Monitoring agent on each worker to fetch the metrics
472pub async fn worker_stats_get_stats(configuration: &configuration::Configuration, ) -> Result<Vec<models::WorkerFunctionInstanceStats>, Error<WorkerStatsGetStatsError>> {
473    let local_var_configuration = configuration;
474
475    let local_var_client = &local_var_configuration.client;
476
477    let local_var_uri_str = format!("{}/worker-stats/functionsmetrics", local_var_configuration.base_path);
478    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
479
480    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
481        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
482    }
483    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
484        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
485    };
486
487    let local_var_req = local_var_req_builder.build()?;
488    let local_var_resp = local_var_client.execute(local_var_req).await?;
489
490    let local_var_status = local_var_resp.status();
491    let local_var_content = local_var_resp.text().await?;
492
493    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
494        serde_json::from_str(&local_var_content).map_err(Error::from)
495    } else {
496        let local_var_entity: Option<WorkerStatsGetStatsError> = serde_json::from_str(&local_var_content).ok();
497        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
498        Err(Error::ResponseError(local_var_error))
499    }
500}
501