Skip to main content

windmill_api/models/
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.867.0
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 QueuedJob {
16    #[serde(rename = "workspace_id", skip_serializing_if = "Option::is_none")]
17    pub workspace_id: Option<String>,
18    #[serde(rename = "id")]
19    pub id: uuid::Uuid,
20    #[serde(rename = "parent_job", skip_serializing_if = "Option::is_none")]
21    pub parent_job: Option<uuid::Uuid>,
22    #[serde(rename = "created_by", skip_serializing_if = "Option::is_none")]
23    pub created_by: Option<String>,
24    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
25    pub created_at: Option<String>,
26    #[serde(rename = "started_at", skip_serializing_if = "Option::is_none")]
27    pub started_at: Option<String>,
28    #[serde(rename = "scheduled_for", skip_serializing_if = "Option::is_none")]
29    pub scheduled_for: Option<String>,
30    #[serde(rename = "running")]
31    pub running: bool,
32    #[serde(rename = "script_path", skip_serializing_if = "Option::is_none")]
33    pub script_path: Option<String>,
34    #[serde(rename = "script_hash", skip_serializing_if = "Option::is_none")]
35    pub script_hash: Option<String>,
36    /// The arguments to pass to the script or flow
37    #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
38    pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
39    #[serde(rename = "logs", skip_serializing_if = "Option::is_none")]
40    pub logs: Option<String>,
41    #[serde(rename = "raw_code", skip_serializing_if = "Option::is_none")]
42    pub raw_code: Option<String>,
43    #[serde(rename = "canceled")]
44    pub canceled: bool,
45    #[serde(rename = "canceled_by", skip_serializing_if = "Option::is_none")]
46    pub canceled_by: Option<String>,
47    #[serde(rename = "canceled_reason", skip_serializing_if = "Option::is_none")]
48    pub canceled_reason: Option<String>,
49    #[serde(rename = "last_ping", skip_serializing_if = "Option::is_none")]
50    pub last_ping: Option<String>,
51    #[serde(rename = "job_kind")]
52    pub job_kind: JobKind,
53    #[serde(rename = "schedule_path", skip_serializing_if = "Option::is_none")]
54    pub schedule_path: Option<String>,
55    /// The user (u/userfoo) or group (g/groupfoo) whom the execution of this script will be permissioned_as and by extension its DT_TOKEN. 
56    #[serde(rename = "permissioned_as")]
57    pub permissioned_as: String,
58    #[serde(rename = "flow_status", skip_serializing_if = "Option::is_none")]
59    pub flow_status: Option<Box<models::FlowStatus>>,
60    #[serde(rename = "workflow_as_code_status", skip_serializing_if = "Option::is_none")]
61    pub workflow_as_code_status: Option<Box<models::WorkflowStatus>>,
62    #[serde(rename = "raw_flow", skip_serializing_if = "Option::is_none")]
63    pub raw_flow: Option<Box<models::FlowValue>>,
64    #[serde(rename = "is_flow_step")]
65    pub is_flow_step: bool,
66    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
67    pub language: Option<models::ScriptLang>,
68    #[serde(rename = "email")]
69    pub email: String,
70    #[serde(rename = "visible_to_owner")]
71    pub visible_to_owner: bool,
72    #[serde(rename = "mem_peak", skip_serializing_if = "Option::is_none")]
73    pub mem_peak: Option<i32>,
74    #[serde(rename = "tag")]
75    pub tag: String,
76    #[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
77    pub priority: Option<i32>,
78    #[serde(rename = "self_wait_time_ms", skip_serializing_if = "Option::is_none")]
79    pub self_wait_time_ms: Option<f64>,
80    #[serde(rename = "aggregate_wait_time_ms", skip_serializing_if = "Option::is_none")]
81    pub aggregate_wait_time_ms: Option<f64>,
82    #[serde(rename = "suspend", skip_serializing_if = "Option::is_none")]
83    pub suspend: Option<f64>,
84    #[serde(rename = "preprocessed", skip_serializing_if = "Option::is_none")]
85    pub preprocessed: Option<bool>,
86    #[serde(rename = "is_retry", skip_serializing_if = "Option::is_none")]
87    pub is_retry: Option<bool>,
88    #[serde(rename = "trigger_kind", skip_serializing_if = "Option::is_none")]
89    pub trigger_kind: Option<models::JobTriggerKind>,
90    /// Path of the trigger, schedule or app that started the job, if any
91    #[serde(rename = "trigger_path", skip_serializing_if = "Option::is_none")]
92    pub trigger_path: Option<String>,
93    #[serde(rename = "worker", skip_serializing_if = "Option::is_none")]
94    pub worker: Option<String>,
95}
96
97impl QueuedJob {
98    pub fn new(id: uuid::Uuid, running: bool, canceled: bool, job_kind: JobKind, permissioned_as: String, is_flow_step: bool, email: String, visible_to_owner: bool, tag: String) -> QueuedJob {
99        QueuedJob {
100            workspace_id: None,
101            id,
102            parent_job: None,
103            created_by: None,
104            created_at: None,
105            started_at: None,
106            scheduled_for: None,
107            running,
108            script_path: None,
109            script_hash: None,
110            args: None,
111            logs: None,
112            raw_code: None,
113            canceled,
114            canceled_by: None,
115            canceled_reason: None,
116            last_ping: None,
117            job_kind,
118            schedule_path: None,
119            permissioned_as,
120            flow_status: None,
121            workflow_as_code_status: None,
122            raw_flow: None,
123            is_flow_step,
124            language: None,
125            email,
126            visible_to_owner,
127            mem_peak: None,
128            tag,
129            priority: None,
130            self_wait_time_ms: None,
131            aggregate_wait_time_ms: None,
132            suspend: None,
133            preprocessed: None,
134            is_retry: None,
135            trigger_kind: None,
136            trigger_path: None,
137            worker: None,
138        }
139    }
140}
141/// 
142#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
143pub enum JobKind {
144    #[serde(rename = "script")]
145    Script,
146    #[serde(rename = "preview")]
147    Preview,
148    #[serde(rename = "dependencies")]
149    Dependencies,
150    #[serde(rename = "flowdependencies")]
151    Flowdependencies,
152    #[serde(rename = "appdependencies")]
153    Appdependencies,
154    #[serde(rename = "flow")]
155    Flow,
156    #[serde(rename = "flowpreview")]
157    Flowpreview,
158    #[serde(rename = "script_hub")]
159    ScriptHub,
160    #[serde(rename = "identity")]
161    Identity,
162    #[serde(rename = "deploymentcallback")]
163    Deploymentcallback,
164    #[serde(rename = "singlestepflow")]
165    Singlestepflow,
166    #[serde(rename = "flowscript")]
167    Flowscript,
168    #[serde(rename = "flownode")]
169    Flownode,
170    #[serde(rename = "appscript")]
171    Appscript,
172    #[serde(rename = "aiagent")]
173    Aiagent,
174    #[serde(rename = "unassigned_script")]
175    UnassignedScript,
176    #[serde(rename = "unassigned_flow")]
177    UnassignedFlow,
178    #[serde(rename = "unassigned_singlestepflow")]
179    UnassignedSinglestepflow,
180}
181
182impl Default for JobKind {
183    fn default() -> JobKind {
184        Self::Script
185    }
186}
187