Skip to main content

windmill_api/apis/
variable_api.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.725.1
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`create_variable`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateVariableError {
22    UnknownValue(serde_json::Value),
23}
24
25/// struct for typed errors of method [`delete_variable`]
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum DeleteVariableError {
29    UnknownValue(serde_json::Value),
30}
31
32/// struct for typed errors of method [`delete_variables_bulk`]
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum DeleteVariablesBulkError {
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method [`encrypt_value`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum EncryptValueError {
43    UnknownValue(serde_json::Value),
44}
45
46/// struct for typed errors of method [`exists_variable`]
47#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum ExistsVariableError {
50    UnknownValue(serde_json::Value),
51}
52
53/// struct for typed errors of method [`get_variable`]
54#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GetVariableError {
57    UnknownValue(serde_json::Value),
58}
59
60/// struct for typed errors of method [`get_variable_value`]
61#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum GetVariableValueError {
64    UnknownValue(serde_json::Value),
65}
66
67/// struct for typed errors of method [`list_contextual_variables`]
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum ListContextualVariablesError {
71    UnknownValue(serde_json::Value),
72}
73
74/// struct for typed errors of method [`list_variable`]
75#[derive(Debug, Clone, Serialize, Deserialize)]
76#[serde(untagged)]
77pub enum ListVariableError {
78    UnknownValue(serde_json::Value),
79}
80
81/// struct for typed errors of method [`update_variable`]
82#[derive(Debug, Clone, Serialize, Deserialize)]
83#[serde(untagged)]
84pub enum UpdateVariableError {
85    UnknownValue(serde_json::Value),
86}
87
88
89pub async fn create_variable(configuration: &configuration::Configuration, workspace: &str, create_variable: models::CreateVariable, already_encrypted: Option<bool>) -> Result<String, Error<CreateVariableError>> {
90    let local_var_configuration = configuration;
91
92    let local_var_client = &local_var_configuration.client;
93
94    let local_var_uri_str = format!("{}/w/{workspace}/variables/create", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
95    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
96
97    if let Some(ref local_var_str) = already_encrypted {
98        local_var_req_builder = local_var_req_builder.query(&[("already_encrypted", &local_var_str.to_string())]);
99    }
100    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
101        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
102    }
103    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
104        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
105    };
106    local_var_req_builder = local_var_req_builder.json(&create_variable);
107
108    let local_var_req = local_var_req_builder.build()?;
109    let local_var_resp = local_var_client.execute(local_var_req).await?;
110
111    let local_var_status = local_var_resp.status();
112    let local_var_content = local_var_resp.text().await?;
113
114    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
115        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
116    } else {
117        let local_var_entity: Option<CreateVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
118        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
119        Err(Error::ResponseError(local_var_error))
120    }
121}
122
123pub async fn delete_variable(configuration: &configuration::Configuration, workspace: &str, path: &str) -> Result<String, Error<DeleteVariableError>> {
124    let local_var_configuration = configuration;
125
126    let local_var_client = &local_var_configuration.client;
127
128    let local_var_uri_str = format!("{}/w/{workspace}/variables/delete/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), path=crate::apis::urlencode(path));
129    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
130
131    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
132        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
133    }
134    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
135        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
136    };
137
138    let local_var_req = local_var_req_builder.build()?;
139    let local_var_resp = local_var_client.execute(local_var_req).await?;
140
141    let local_var_status = local_var_resp.status();
142    let local_var_content = local_var_resp.text().await?;
143
144    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
145        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
146    } else {
147        let local_var_entity: Option<DeleteVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
148        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
149        Err(Error::ResponseError(local_var_error))
150    }
151}
152
153pub async fn delete_variables_bulk(configuration: &configuration::Configuration, workspace: &str, delete_variables_bulk_request: models::DeleteVariablesBulkRequest) -> Result<Vec<String>, Error<DeleteVariablesBulkError>> {
154    let local_var_configuration = configuration;
155
156    let local_var_client = &local_var_configuration.client;
157
158    let local_var_uri_str = format!("{}/w/{workspace}/variables/delete_bulk", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
159    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
160
161    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
162        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
163    }
164    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
165        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
166    };
167    local_var_req_builder = local_var_req_builder.json(&delete_variables_bulk_request);
168
169    let local_var_req = local_var_req_builder.build()?;
170    let local_var_resp = local_var_client.execute(local_var_req).await?;
171
172    let local_var_status = local_var_resp.status();
173    let local_var_content = local_var_resp.text().await?;
174
175    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
176        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
177    } else {
178        let local_var_entity: Option<DeleteVariablesBulkError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
179        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
180        Err(Error::ResponseError(local_var_error))
181    }
182}
183
184pub async fn encrypt_value(configuration: &configuration::Configuration, workspace: &str, body: &str) -> Result<String, Error<EncryptValueError>> {
185    let local_var_configuration = configuration;
186
187    let local_var_client = &local_var_configuration.client;
188
189    let local_var_uri_str = format!("{}/w/{workspace}/variables/encrypt", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
190    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
191
192    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
193        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
194    }
195    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
196        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
197    };
198    local_var_req_builder = local_var_req_builder.json(&body);
199
200    let local_var_req = local_var_req_builder.build()?;
201    let local_var_resp = local_var_client.execute(local_var_req).await?;
202
203    let local_var_status = local_var_resp.status();
204    let local_var_content = local_var_resp.text().await?;
205
206    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
207        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
208    } else {
209        let local_var_entity: Option<EncryptValueError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
210        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
211        Err(Error::ResponseError(local_var_error))
212    }
213}
214
215pub async fn exists_variable(configuration: &configuration::Configuration, workspace: &str, path: &str) -> Result<bool, Error<ExistsVariableError>> {
216    let local_var_configuration = configuration;
217
218    let local_var_client = &local_var_configuration.client;
219
220    let local_var_uri_str = format!("{}/w/{workspace}/variables/exists/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), path=crate::apis::urlencode(path));
221    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
222
223    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
224        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
225    }
226    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
227        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
228    };
229
230    let local_var_req = local_var_req_builder.build()?;
231    let local_var_resp = local_var_client.execute(local_var_req).await?;
232
233    let local_var_status = local_var_resp.status();
234    let local_var_content = local_var_resp.text().await?;
235
236    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
237        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
238    } else {
239        let local_var_entity: Option<ExistsVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
240        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
241        Err(Error::ResponseError(local_var_error))
242    }
243}
244
245pub async fn get_variable(configuration: &configuration::Configuration, workspace: &str, path: &str, decrypt_secret: Option<bool>, include_encrypted: Option<bool>, get_draft: Option<bool>) -> Result<models::GetVariable200Response, Error<GetVariableError>> {
246    let local_var_configuration = configuration;
247
248    let local_var_client = &local_var_configuration.client;
249
250    let local_var_uri_str = format!("{}/w/{workspace}/variables/get/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), path=crate::apis::urlencode(path));
251    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
252
253    if let Some(ref local_var_str) = decrypt_secret {
254        local_var_req_builder = local_var_req_builder.query(&[("decrypt_secret", &local_var_str.to_string())]);
255    }
256    if let Some(ref local_var_str) = include_encrypted {
257        local_var_req_builder = local_var_req_builder.query(&[("include_encrypted", &local_var_str.to_string())]);
258    }
259    if let Some(ref local_var_str) = get_draft {
260        local_var_req_builder = local_var_req_builder.query(&[("get_draft", &local_var_str.to_string())]);
261    }
262    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
263        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
264    }
265    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
266        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
267    };
268
269    let local_var_req = local_var_req_builder.build()?;
270    let local_var_resp = local_var_client.execute(local_var_req).await?;
271
272    let local_var_status = local_var_resp.status();
273    let local_var_content = local_var_resp.text().await?;
274
275    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
276        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
277    } else {
278        let local_var_entity: Option<GetVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
279        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
280        Err(Error::ResponseError(local_var_error))
281    }
282}
283
284pub async fn get_variable_value(configuration: &configuration::Configuration, workspace: &str, path: &str, allow_cache: Option<bool>) -> Result<String, Error<GetVariableValueError>> {
285    let local_var_configuration = configuration;
286
287    let local_var_client = &local_var_configuration.client;
288
289    let local_var_uri_str = format!("{}/w/{workspace}/variables/get_value/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), path=crate::apis::urlencode(path));
290    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
291
292    if let Some(ref local_var_str) = allow_cache {
293        local_var_req_builder = local_var_req_builder.query(&[("allow_cache", &local_var_str.to_string())]);
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        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
310    } else {
311        let local_var_entity: Option<GetVariableValueError> = crate::from_str_patched/* Externally injected from /build.nu */(&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 list_contextual_variables(configuration: &configuration::Configuration, workspace: &str) -> Result<Vec<models::ContextualVariable>, Error<ListContextualVariablesError>> {
318    let local_var_configuration = configuration;
319
320    let local_var_client = &local_var_configuration.client;
321
322    let local_var_uri_str = format!("{}/w/{workspace}/variables/list_contextual", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
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        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
340    } else {
341        let local_var_entity: Option<ListContextualVariablesError> = crate::from_str_patched/* Externally injected from /build.nu */(&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 list_variable(configuration: &configuration::Configuration, workspace: &str, path_start: Option<&str>, path: Option<&str>, description: Option<&str>, value: Option<&str>, broad_filter: Option<&str>, page: Option<i32>, per_page: Option<i32>, label: Option<&str>, include_draft_only: Option<bool>) -> Result<Vec<models::ListableVariable>, Error<ListVariableError>> {
348    let local_var_configuration = configuration;
349
350    let local_var_client = &local_var_configuration.client;
351
352    let local_var_uri_str = format!("{}/w/{workspace}/variables/list", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
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) = path_start {
356        local_var_req_builder = local_var_req_builder.query(&[("path_start", &local_var_str.to_string())]);
357    }
358    if let Some(ref local_var_str) = path {
359        local_var_req_builder = local_var_req_builder.query(&[("path", &local_var_str.to_string())]);
360    }
361    if let Some(ref local_var_str) = description {
362        local_var_req_builder = local_var_req_builder.query(&[("description", &local_var_str.to_string())]);
363    }
364    if let Some(ref local_var_str) = value {
365        local_var_req_builder = local_var_req_builder.query(&[("value", &local_var_str.to_string())]);
366    }
367    if let Some(ref local_var_str) = broad_filter {
368        local_var_req_builder = local_var_req_builder.query(&[("broad_filter", &local_var_str.to_string())]);
369    }
370    if let Some(ref local_var_str) = page {
371        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
372    }
373    if let Some(ref local_var_str) = per_page {
374        local_var_req_builder = local_var_req_builder.query(&[("per_page", &local_var_str.to_string())]);
375    }
376    if let Some(ref local_var_str) = label {
377        local_var_req_builder = local_var_req_builder.query(&[("label", &local_var_str.to_string())]);
378    }
379    if let Some(ref local_var_str) = include_draft_only {
380        local_var_req_builder = local_var_req_builder.query(&[("include_draft_only", &local_var_str.to_string())]);
381    }
382    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
383        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
384    }
385    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
386        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
387    };
388
389    let local_var_req = local_var_req_builder.build()?;
390    let local_var_resp = local_var_client.execute(local_var_req).await?;
391
392    let local_var_status = local_var_resp.status();
393    let local_var_content = local_var_resp.text().await?;
394
395    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
396        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
397    } else {
398        let local_var_entity: Option<ListVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
399        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
400        Err(Error::ResponseError(local_var_error))
401    }
402}
403
404pub async fn update_variable(configuration: &configuration::Configuration, workspace: &str, path: &str, edit_variable: models::EditVariable, already_encrypted: Option<bool>) -> Result<String, Error<UpdateVariableError>> {
405    let local_var_configuration = configuration;
406
407    let local_var_client = &local_var_configuration.client;
408
409    let local_var_uri_str = format!("{}/w/{workspace}/variables/update/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), path=crate::apis::urlencode(path));
410    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
411
412    if let Some(ref local_var_str) = already_encrypted {
413        local_var_req_builder = local_var_req_builder.query(&[("already_encrypted", &local_var_str.to_string())]);
414    }
415    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
416        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
417    }
418    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
419        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
420    };
421    local_var_req_builder = local_var_req_builder.json(&edit_variable);
422
423    let local_var_req = local_var_req_builder.build()?;
424    let local_var_resp = local_var_client.execute(local_var_req).await?;
425
426    let local_var_status = local_var_resp.status();
427    let local_var_content = local_var_resp.text().await?;
428
429    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
430        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
431    } else {
432        let local_var_entity: Option<UpdateVariableError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
433        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
434        Err(Error::ResponseError(local_var_error))
435    }
436}
437