1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[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#[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#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum WorkerGetAssignmentsError {
46 Status403(),
47 Status503(),
48 UnknownValue(serde_json::Value),
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize)]
53#[serde(untagged)]
54pub enum WorkerGetClusterError {
55 Status403(),
56 Status503(),
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum WorkerGetClusterLeaderError {
64 Status403(),
65 Status503(),
66 UnknownValue(serde_json::Value),
67}
68
69#[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#[derive(Debug, Clone, Serialize, Deserialize)]
81#[serde(untagged)]
82pub enum WorkerGetDrainStatusError {
83 Status403(),
84 Status503(),
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum WorkerGetDrainStatusFromLeaderError {
92 Status403(),
93 Status503(),
94 UnknownValue(serde_json::Value),
95}
96
97#[derive(Debug, Clone, Serialize, Deserialize)]
99#[serde(untagged)]
100pub enum WorkerIsLeaderReadyError {
101 Status503(),
102 UnknownValue(serde_json::Value),
103}
104
105#[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#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(untagged)]
118pub enum WorkerStatsGetMetricsError {
119 Status401(),
120 Status503(),
121 UnknownValue(serde_json::Value),
122}
123
124#[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
440pub 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
471pub 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