windmill_api/models/
new_schedule.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NewSchedule {
16 #[serde(rename = "path")]
17 pub path: String,
18 #[serde(rename = "schedule")]
19 pub schedule: String,
20 #[serde(rename = "timezone")]
21 pub timezone: String,
22 #[serde(rename = "script_path")]
23 pub script_path: String,
24 #[serde(rename = "is_flow")]
25 pub is_flow: bool,
26 #[serde(rename = "args")]
27 pub args: std::collections::HashMap<String, serde_json::Value>,
28 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
29 pub enabled: Option<bool>,
30 #[serde(rename = "on_failure", skip_serializing_if = "Option::is_none")]
31 pub on_failure: Option<String>,
32 #[serde(rename = "on_failure_times", skip_serializing_if = "Option::is_none")]
33 pub on_failure_times: Option<f64>,
34 #[serde(rename = "on_failure_exact", skip_serializing_if = "Option::is_none")]
35 pub on_failure_exact: Option<bool>,
36 #[serde(rename = "on_failure_extra_args", skip_serializing_if = "Option::is_none")]
37 pub on_failure_extra_args: Option<std::collections::HashMap<String, serde_json::Value>>,
38 #[serde(rename = "on_recovery", skip_serializing_if = "Option::is_none")]
39 pub on_recovery: Option<String>,
40 #[serde(rename = "on_recovery_times", skip_serializing_if = "Option::is_none")]
41 pub on_recovery_times: Option<f64>,
42 #[serde(rename = "on_recovery_extra_args", skip_serializing_if = "Option::is_none")]
43 pub on_recovery_extra_args: Option<std::collections::HashMap<String, serde_json::Value>>,
44 #[serde(rename = "on_success", skip_serializing_if = "Option::is_none")]
45 pub on_success: Option<String>,
46 #[serde(rename = "on_success_extra_args", skip_serializing_if = "Option::is_none")]
47 pub on_success_extra_args: Option<std::collections::HashMap<String, serde_json::Value>>,
48 #[serde(rename = "ws_error_handler_muted", skip_serializing_if = "Option::is_none")]
49 pub ws_error_handler_muted: Option<bool>,
50 #[serde(rename = "retry", skip_serializing_if = "Option::is_none")]
51 pub retry: Option<Box<models::Retry>>,
52 #[serde(rename = "no_flow_overlap", skip_serializing_if = "Option::is_none")]
53 pub no_flow_overlap: Option<bool>,
54 #[serde(rename = "summary", skip_serializing_if = "Option::is_none")]
55 pub summary: Option<String>,
56 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
57 pub description: Option<String>,
58 #[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
59 pub tag: Option<String>,
60 #[serde(rename = "paused_until", skip_serializing_if = "Option::is_none")]
61 pub paused_until: Option<String>,
62 #[serde(rename = "cron_version", skip_serializing_if = "Option::is_none")]
63 pub cron_version: Option<String>,
64}
65
66impl NewSchedule {
67 pub fn new(path: String, schedule: String, timezone: String, script_path: String, is_flow: bool, args: std::collections::HashMap<String, serde_json::Value>) -> NewSchedule {
68 NewSchedule {
69 path,
70 schedule,
71 timezone,
72 script_path,
73 is_flow,
74 args,
75 enabled: None,
76 on_failure: None,
77 on_failure_times: None,
78 on_failure_exact: None,
79 on_failure_extra_args: None,
80 on_recovery: None,
81 on_recovery_times: None,
82 on_recovery_extra_args: None,
83 on_success: None,
84 on_success_extra_args: None,
85 ws_error_handler_muted: None,
86 retry: None,
87 no_flow_overlap: None,
88 summary: None,
89 description: None,
90 tag: None,
91 paused_until: None,
92 cron_version: None,
93 }
94 }
95}
96