windmill_api/models/
flow_module.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct FlowModule {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "value")]
21 pub value: Box<models::FlowModuleValue>,
22 #[serde(rename = "stop_after_if", skip_serializing_if = "Option::is_none")]
23 pub stop_after_if: Option<Box<models::StopAfterIf>>,
24 #[serde(rename = "stop_after_all_iters_if", skip_serializing_if = "Option::is_none")]
25 pub stop_after_all_iters_if: Option<Box<models::StopAfterIf>>,
26 #[serde(rename = "skip_if", skip_serializing_if = "Option::is_none")]
27 pub skip_if: Option<Box<models::FlowModuleSkipIf>>,
28 #[serde(rename = "sleep", skip_serializing_if = "Option::is_none")]
29 pub sleep: Option<Box<models::InputTransform>>,
30 #[serde(rename = "cache_ttl", skip_serializing_if = "Option::is_none")]
32 pub cache_ttl: Option<f64>,
33 #[serde(rename = "cache_ignore_s3_path", skip_serializing_if = "Option::is_none")]
34 pub cache_ignore_s3_path: Option<bool>,
35 #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
36 pub timeout: Option<Box<models::InputTransform>>,
37 #[serde(rename = "delete_after_secs", skip_serializing_if = "Option::is_none")]
39 pub delete_after_secs: Option<i32>,
40 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
42 pub summary: Option<String>,
43 #[serde(rename = "mock", skip_serializing_if = "Option::is_none")]
44 pub mock: Option<Box<models::FlowModuleMock>>,
45 #[serde(rename = "suspend", skip_serializing_if = "Option::is_none")]
46 pub suspend: Option<Box<models::FlowModuleSuspend>>,
47 #[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
49 pub priority: Option<f64>,
50 #[serde(rename = "continue_on_error", skip_serializing_if = "Option::is_none")]
52 pub continue_on_error: Option<bool>,
53 #[serde(rename = "job_token_scopes", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
55 pub job_token_scopes: Option<Option<Vec<String>>>,
56 #[serde(rename = "retry", skip_serializing_if = "Option::is_none")]
57 pub retry: Option<Box<models::Retry>>,
58 #[serde(rename = "debouncing", skip_serializing_if = "Option::is_none")]
59 pub debouncing: Option<Box<models::FlowModuleDebouncing>>,
60}
61
62impl FlowModule {
63 pub fn new(id: String, value: models::FlowModuleValue) -> FlowModule {
65 FlowModule {
66 id,
67 value: Box::new(value),
68 stop_after_if: None,
69 stop_after_all_iters_if: None,
70 skip_if: None,
71 sleep: None,
72 cache_ttl: None,
73 cache_ignore_s3_path: None,
74 timeout: None,
75 delete_after_secs: None,
76 summary: None,
77 mock: None,
78 suspend: None,
79 priority: None,
80 continue_on_error: None,
81 job_token_scopes: None,
82 retry: None,
83 debouncing: None,
84 }
85 }
86}
87