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.575.2
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 = "branches")]
55    pub branches: Vec<models::BranchAllBranchesInner>,
56    #[serde(rename = "default")]
57    pub default: Vec<models::FlowModule>,
58    #[serde(rename = "flow", skip_serializing_if = "Option::is_none")]
59    pub flow: Option<bool>,
60    #[serde(rename = "tools")]
61    pub tools: Vec<models::AgentTool>,
62    #[serde(rename = "tool_type")]
63    pub tool_type: ToolType,
64}
65
66impl FlowModuleTool {
67    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 {
68        FlowModuleTool {
69            input_transforms,
70            content,
71            language,
72            path,
73            lock: None,
74            r#type,
75            tag: None,
76            concurrent_limit: None,
77            concurrency_time_window_s: None,
78            custom_concurrency_key: None,
79            is_trigger: None,
80            assets: None,
81            hash: None,
82            tag_override: None,
83            modules,
84            iterator: Box::new(iterator),
85            skip_failures,
86            parallel: None,
87            parallelism: None,
88            branches,
89            default,
90            flow: None,
91            tools,
92            tool_type,
93        }
94    }
95}
96/// 
97#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
98pub enum Language {
99    #[serde(rename = "deno")]
100    Deno,
101    #[serde(rename = "bun")]
102    Bun,
103    #[serde(rename = "python3")]
104    Python3,
105    #[serde(rename = "go")]
106    Go,
107    #[serde(rename = "bash")]
108    Bash,
109    #[serde(rename = "powershell")]
110    Powershell,
111    #[serde(rename = "postgresql")]
112    Postgresql,
113    #[serde(rename = "mysql")]
114    Mysql,
115    #[serde(rename = "bigquery")]
116    Bigquery,
117    #[serde(rename = "snowflake")]
118    Snowflake,
119    #[serde(rename = "mssql")]
120    Mssql,
121    #[serde(rename = "oracledb")]
122    Oracledb,
123    #[serde(rename = "graphql")]
124    Graphql,
125    #[serde(rename = "nativets")]
126    Nativets,
127    #[serde(rename = "php")]
128    Php,
129}
130
131impl Default for Language {
132    fn default() -> Language {
133        Self::Deno
134    }
135}
136/// 
137#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
138pub enum Type {
139    #[serde(rename = "aiagent")]
140    Aiagent,
141}
142
143impl Default for Type {
144    fn default() -> Type {
145        Self::Aiagent
146    }
147}
148/// 
149#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
150pub enum ToolType {
151    #[serde(rename = "flowmodule")]
152    Flowmodule,
153}
154
155impl Default for ToolType {
156    fn default() -> ToolType {
157        Self::Flowmodule
158    }
159}
160