windmill_api/models/
exportable_queued_job.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.589.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ExportableQueuedJob : Queued job with full data for export/import operations
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ExportableQueuedJob {
17    #[serde(rename = "id")]
18    pub id: uuid::Uuid,
19    #[serde(rename = "parent_job", skip_serializing_if = "Option::is_none")]
20    pub parent_job: Option<uuid::Uuid>,
21    #[serde(rename = "created_by")]
22    pub created_by: String,
23    #[serde(rename = "created_at")]
24    pub created_at: String,
25    #[serde(rename = "started_at", skip_serializing_if = "Option::is_none")]
26    pub started_at: Option<String>,
27    #[serde(rename = "scheduled_for", skip_serializing_if = "Option::is_none")]
28    pub scheduled_for: Option<String>,
29    #[serde(rename = "script_path", skip_serializing_if = "Option::is_none")]
30    pub script_path: Option<String>,
31    #[serde(rename = "script_hash", skip_serializing_if = "Option::is_none")]
32    pub script_hash: Option<String>,
33    /// Full job arguments without size restrictions
34    #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
35    pub args: Option<serde_json::Value>,
36    /// Complete job logs from v2_job table
37    #[serde(rename = "logs", skip_serializing_if = "Option::is_none")]
38    pub logs: Option<String>,
39    #[serde(rename = "raw_code", skip_serializing_if = "Option::is_none")]
40    pub raw_code: Option<String>,
41    #[serde(rename = "raw_lock", skip_serializing_if = "Option::is_none")]
42    pub raw_lock: Option<String>,
43    #[serde(rename = "canceled_by", skip_serializing_if = "Option::is_none")]
44    pub canceled_by: Option<String>,
45    #[serde(rename = "canceled_reason", skip_serializing_if = "Option::is_none")]
46    pub canceled_reason: Option<String>,
47    #[serde(rename = "job_kind")]
48    pub job_kind: JobKind,
49    /// Trigger path for the job (replaces schedule_path)
50    #[serde(rename = "trigger", skip_serializing_if = "Option::is_none")]
51    pub trigger: Option<String>,
52    #[serde(rename = "trigger_kind", skip_serializing_if = "Option::is_none")]
53    pub trigger_kind: Option<TriggerKind>,
54    #[serde(rename = "permissioned_as")]
55    pub permissioned_as: String,
56    #[serde(rename = "permissioned_as_email", skip_serializing_if = "Option::is_none")]
57    pub permissioned_as_email: Option<String>,
58    /// Flow status from v2_job_status table
59    #[serde(rename = "flow_status", skip_serializing_if = "Option::is_none")]
60    pub flow_status: Option<serde_json::Value>,
61    #[serde(rename = "workflow_as_code_status", skip_serializing_if = "Option::is_none")]
62    pub workflow_as_code_status: Option<serde_json::Value>,
63    #[serde(rename = "raw_flow", skip_serializing_if = "Option::is_none")]
64    pub raw_flow: Option<serde_json::Value>,
65    #[serde(rename = "is_flow_step", skip_serializing_if = "Option::is_none")]
66    pub is_flow_step: Option<bool>,
67    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
68    pub language: Option<models::ScriptLang>,
69    #[serde(rename = "email")]
70    pub email: String,
71    #[serde(rename = "visible_to_owner")]
72    pub visible_to_owner: bool,
73    #[serde(rename = "mem_peak", skip_serializing_if = "Option::is_none")]
74    pub mem_peak: Option<i32>,
75    #[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
76    pub tag: Option<String>,
77    #[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
78    pub priority: Option<i32>,
79    #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
80    pub labels: Option<Vec<String>>,
81    #[serde(rename = "same_worker", skip_serializing_if = "Option::is_none")]
82    pub same_worker: Option<bool>,
83    #[serde(rename = "flow_step_id", skip_serializing_if = "Option::is_none")]
84    pub flow_step_id: Option<String>,
85    #[serde(rename = "flow_innermost_root_job", skip_serializing_if = "Option::is_none")]
86    pub flow_innermost_root_job: Option<uuid::Uuid>,
87    #[serde(rename = "concurrent_limit", skip_serializing_if = "Option::is_none")]
88    pub concurrent_limit: Option<i32>,
89    #[serde(rename = "concurrency_time_window_s", skip_serializing_if = "Option::is_none")]
90    pub concurrency_time_window_s: Option<i32>,
91    #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
92    pub timeout: Option<i32>,
93    #[serde(rename = "cache_ttl", skip_serializing_if = "Option::is_none")]
94    pub cache_ttl: Option<i32>,
95    #[serde(rename = "self_wait_time_ms", skip_serializing_if = "Option::is_none")]
96    pub self_wait_time_ms: Option<i32>,
97    #[serde(rename = "aggregate_wait_time_ms", skip_serializing_if = "Option::is_none")]
98    pub aggregate_wait_time_ms: Option<i32>,
99    #[serde(rename = "preprocessed", skip_serializing_if = "Option::is_none")]
100    pub preprocessed: Option<bool>,
101    #[serde(rename = "suspend", skip_serializing_if = "Option::is_none")]
102    pub suspend: Option<i32>,
103    #[serde(rename = "suspend_until", skip_serializing_if = "Option::is_none")]
104    pub suspend_until: Option<String>,
105}
106
107impl ExportableQueuedJob {
108    /// Queued job with full data for export/import operations
109    pub fn new(id: uuid::Uuid, created_by: String, created_at: String, job_kind: JobKind, permissioned_as: String, email: String, visible_to_owner: bool) -> ExportableQueuedJob {
110        ExportableQueuedJob {
111            id,
112            parent_job: None,
113            created_by,
114            created_at,
115            started_at: None,
116            scheduled_for: None,
117            script_path: None,
118            script_hash: None,
119            args: None,
120            logs: None,
121            raw_code: None,
122            raw_lock: None,
123            canceled_by: None,
124            canceled_reason: None,
125            job_kind,
126            trigger: None,
127            trigger_kind: None,
128            permissioned_as,
129            permissioned_as_email: None,
130            flow_status: None,
131            workflow_as_code_status: None,
132            raw_flow: None,
133            is_flow_step: None,
134            language: None,
135            email,
136            visible_to_owner,
137            mem_peak: None,
138            tag: None,
139            priority: None,
140            labels: None,
141            same_worker: None,
142            flow_step_id: None,
143            flow_innermost_root_job: None,
144            concurrent_limit: None,
145            concurrency_time_window_s: None,
146            timeout: None,
147            cache_ttl: None,
148            self_wait_time_ms: None,
149            aggregate_wait_time_ms: None,
150            preprocessed: None,
151            suspend: None,
152            suspend_until: None,
153        }
154    }
155}
156/// 
157#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
158pub enum JobKind {
159    #[serde(rename = "script")]
160    Script,
161    #[serde(rename = "preview")]
162    Preview,
163    #[serde(rename = "dependencies")]
164    Dependencies,
165    #[serde(rename = "flowdependencies")]
166    Flowdependencies,
167    #[serde(rename = "appdependencies")]
168    Appdependencies,
169    #[serde(rename = "flow")]
170    Flow,
171    #[serde(rename = "flowpreview")]
172    Flowpreview,
173    #[serde(rename = "script_hub")]
174    ScriptHub,
175    #[serde(rename = "identity")]
176    Identity,
177    #[serde(rename = "deploymentcallback")]
178    Deploymentcallback,
179    #[serde(rename = "singlestepflow")]
180    Singlestepflow,
181    #[serde(rename = "flowscript")]
182    Flowscript,
183    #[serde(rename = "flownode")]
184    Flownode,
185    #[serde(rename = "appscript")]
186    Appscript,
187}
188
189impl Default for JobKind {
190    fn default() -> JobKind {
191        Self::Script
192    }
193}
194/// 
195#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
196pub enum TriggerKind {
197    #[serde(rename = "webhook")]
198    Webhook,
199    #[serde(rename = "http")]
200    Http,
201    #[serde(rename = "websocket")]
202    Websocket,
203    #[serde(rename = "kafka")]
204    Kafka,
205    #[serde(rename = "email")]
206    Email,
207    #[serde(rename = "nats")]
208    Nats,
209    #[serde(rename = "schedule")]
210    Schedule,
211    #[serde(rename = "app")]
212    App,
213    #[serde(rename = "ui")]
214    Ui,
215    #[serde(rename = "postgres")]
216    Postgres,
217    #[serde(rename = "sqs")]
218    Sqs,
219    #[serde(rename = "gcp")]
220    Gcp,
221}
222
223impl Default for TriggerKind {
224    fn default() -> TriggerKind {
225        Self::Webhook
226    }
227}
228