Skip to main content

windmill_api/models/
tool_value.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.864.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ToolValue : The implementation of a tool. Can be a flow module (script/flow) or an MCP tool reference
15#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
16#[serde(tag = "tool_type")]
17pub enum ToolValue {
18    #[serde(rename="flowmodule")]
19    Flowmodule(Box<models::FlowModuleTool>),
20    #[serde(rename="mcp")]
21    Mcp(Box<models::McpToolValue>),
22    #[serde(rename="websearch")]
23    Websearch(Box<models::WebsearchToolValue>),
24    #[serde(rename="question")]
25    Question(Box<models::QuestionToolValue>),
26}
27
28impl Default for ToolValue {
29    fn default() -> Self {
30        Self::Flowmodule(Default::default())
31    }
32}
33
34/// Programming language for this script
35#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Language {
37    #[serde(rename = "deno")]
38    Deno,
39    #[serde(rename = "bun")]
40    Bun,
41    #[serde(rename = "bunnative")]
42    Bunnative,
43    #[serde(rename = "python3")]
44    Python3,
45    #[serde(rename = "go")]
46    Go,
47    #[serde(rename = "bash")]
48    Bash,
49    #[serde(rename = "powershell")]
50    Powershell,
51    #[serde(rename = "postgresql")]
52    Postgresql,
53    #[serde(rename = "mysql")]
54    Mysql,
55    #[serde(rename = "bigquery")]
56    Bigquery,
57    #[serde(rename = "snowflake")]
58    Snowflake,
59    #[serde(rename = "mssql")]
60    Mssql,
61    #[serde(rename = "oracledb")]
62    Oracledb,
63    #[serde(rename = "graphql")]
64    Graphql,
65    #[serde(rename = "nativets")]
66    Nativets,
67    #[serde(rename = "php")]
68    Php,
69    #[serde(rename = "rust")]
70    Rust,
71    #[serde(rename = "ansible")]
72    Ansible,
73    #[serde(rename = "csharp")]
74    Csharp,
75    #[serde(rename = "nu")]
76    Nu,
77    #[serde(rename = "java")]
78    Java,
79    #[serde(rename = "ruby")]
80    Ruby,
81    #[serde(rename = "rlang")]
82    Rlang,
83    #[serde(rename = "duckdb")]
84    Duckdb,
85}
86
87impl Default for Language {
88    fn default() -> Language {
89        Self::Deno
90    }
91}
92/// 
93#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
94pub enum Type {
95    #[serde(rename = "aidecision")]
96    Aidecision,
97}
98
99impl Default for Type {
100    fn default() -> Type {
101        Self::Aidecision
102    }
103}
104/// What a run of this step does when its concurrency limit is reached. `queue` (default) re-queues it to a later slot, `fail` ends it immediately as failed.
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
106pub enum OnConcurrencyLimit {
107    #[serde(rename = "queue")]
108    Queue,
109    #[serde(rename = "fail")]
110    Fail,
111}
112
113impl Default for OnConcurrencyLimit {
114    fn default() -> OnConcurrencyLimit {
115        Self::Queue
116    }
117}
118