windmill_api/models/
flow_module_tool.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.586.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FlowModuleTool {
16    #[serde(rename = "input_transforms")]
17    pub input_transforms: std::collections::HashMap<String, models::InputTransform>,
18    #[serde(rename = "content")]
19    pub content: String,
20    #[serde(rename = "language")]
21    pub language: Language,
22    #[serde(rename = "path")]
23    pub path: String,
24    #[serde(rename = "lock", skip_serializing_if = "Option::is_none")]
25    pub lock: Option<String>,
26    #[serde(rename = "type")]
27    pub r#type: Type,
28    #[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
29    pub tag: Option<String>,
30    #[serde(rename = "concurrent_limit", skip_serializing_if = "Option::is_none")]
31    pub concurrent_limit: Option<f64>,
32    #[serde(rename = "concurrency_time_window_s", skip_serializing_if = "Option::is_none")]
33    pub concurrency_time_window_s: Option<f64>,
34    #[serde(rename = "custom_concurrency_key", skip_serializing_if = "Option::is_none")]
35    pub custom_concurrency_key: Option<String>,
36    #[serde(rename = "is_trigger", skip_serializing_if = "Option::is_none")]
37    pub is_trigger: Option<bool>,
38    #[serde(rename = "assets", skip_serializing_if = "Option::is_none")]
39    pub assets: Option<Vec<models::RawScriptAssetsInner>>,
40    #[serde(rename = "hash", skip_serializing_if = "Option::is_none")]
41    pub hash: Option<String>,
42    #[serde(rename = "tag_override", skip_serializing_if = "Option::is_none")]
43    pub tag_override: Option<String>,
44    #[serde(rename = "modules")]
45    pub modules: Vec<models::FlowModule>,
46    #[serde(rename = "iterator")]
47    pub iterator: Box<models::InputTransform>,
48    #[serde(rename = "skip_failures")]
49    pub skip_failures: bool,
50    #[serde(rename = "parallel", skip_serializing_if = "Option::is_none")]
51    pub parallel: Option<bool>,
52    #[serde(rename = "parallelism", skip_serializing_if = "Option::is_none")]
53    pub parallelism: Option<Box<models::InputTransform>>,
54    #[serde(rename = "squash", skip_serializing_if = "Option::is_none")]
55    pub squash: Option<bool>,
56    #[serde(rename = "branches")]
57    pub branches: Vec<models::BranchAllBranchesInner>,
58    #[serde(rename = "default")]
59    pub default: Vec<models::FlowModule>,
60    #[serde(rename = "flow", skip_serializing_if = "Option::is_none")]
61    pub flow: Option<bool>,
62    #[serde(rename = "tools")]
63    pub tools: Vec<models::AgentTool>,
64    #[serde(rename = "tool_type")]
65    pub tool_type: ToolType,
66}
67
68impl FlowModuleTool {
69    pub fn new(input_transforms: std::collections::HashMap<String, models::InputTransform>, content: String, language: Language, path: String, r#type: Type, modules: Vec<models::FlowModule>, iterator: models::InputTransform, skip_failures: bool, branches: Vec<models::BranchAllBranchesInner>, default: Vec<models::FlowModule>, tools: Vec<models::AgentTool>, tool_type: ToolType) -> FlowModuleTool {
70        FlowModuleTool {
71            input_transforms,
72            content,
73            language,
74            path,
75            lock: None,
76            r#type,
77            tag: None,
78            concurrent_limit: None,
79            concurrency_time_window_s: None,
80            custom_concurrency_key: None,
81            is_trigger: None,
82            assets: None,
83            hash: None,
84            tag_override: None,
85            modules,
86            iterator: Box::new(iterator),
87            skip_failures,
88            parallel: None,
89            parallelism: None,
90            squash: None,
91            branches,
92            default,
93            flow: None,
94            tools,
95            tool_type,
96        }
97    }
98}
99/// 
100#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
101pub enum Language {
102    #[serde(rename = "deno")]
103    Deno,
104    #[serde(rename = "bun")]
105    Bun,
106    #[serde(rename = "python3")]
107    Python3,
108    #[serde(rename = "go")]
109    Go,
110    #[serde(rename = "bash")]
111    Bash,
112    #[serde(rename = "powershell")]
113    Powershell,
114    #[serde(rename = "postgresql")]
115    Postgresql,
116    #[serde(rename = "mysql")]
117    Mysql,
118    #[serde(rename = "bigquery")]
119    Bigquery,
120    #[serde(rename = "snowflake")]
121    Snowflake,
122    #[serde(rename = "mssql")]
123    Mssql,
124    #[serde(rename = "oracledb")]
125    Oracledb,
126    #[serde(rename = "graphql")]
127    Graphql,
128    #[serde(rename = "nativets")]
129    Nativets,
130    #[serde(rename = "php")]
131    Php,
132}
133
134impl Default for Language {
135    fn default() -> Language {
136        Self::Deno
137    }
138}
139/// 
140#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
141pub enum Type {
142    #[serde(rename = "aiagent")]
143    Aiagent,
144}
145
146impl Default for Type {
147    fn default() -> Type {
148        Self::Aiagent
149    }
150}
151/// 
152#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
153pub enum ToolType {
154    #[serde(rename = "flowmodule")]
155    Flowmodule,
156}
157
158impl Default for ToolType {
159    fn default() -> ToolType {
160        Self::Flowmodule
161    }
162}
163