Skip to main content

windmill_api/models/
job_one_of.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.866.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 JobOneOf {
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")]
23    pub created_by: String,
24    #[serde(rename = "created_at")]
25    pub created_at: String,
26    #[serde(rename = "started_at")]
27    pub started_at: String,
28    #[serde(rename = "completed_at", skip_serializing_if = "Option::is_none")]
29    pub completed_at: Option<String>,
30    #[serde(rename = "duration_ms")]
31    pub duration_ms: i32,
32    #[serde(rename = "success")]
33    pub success: bool,
34    #[serde(rename = "script_path", skip_serializing_if = "Option::is_none")]
35    pub script_path: Option<String>,
36    #[serde(rename = "script_hash", skip_serializing_if = "Option::is_none")]
37    pub script_hash: Option<String>,
38    /// The arguments to pass to the script or flow
39    #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
40    pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
41    /// For large results, this may be the placeholder string 'WINDMILL_TOO_BIG'. Use the completed job result endpoint to retrieve the full result. 
42    #[serde(rename = "result", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43    pub result: Option<Option<serde_json::Value>>,
44    #[serde(rename = "logs", skip_serializing_if = "Option::is_none")]
45    pub logs: Option<String>,
46    #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
47    pub deleted: Option<bool>,
48    #[serde(rename = "raw_code", skip_serializing_if = "Option::is_none")]
49    pub raw_code: Option<String>,
50    #[serde(rename = "canceled")]
51    pub canceled: bool,
52    #[serde(rename = "canceled_by", skip_serializing_if = "Option::is_none")]
53    pub canceled_by: Option<String>,
54    #[serde(rename = "canceled_reason", skip_serializing_if = "Option::is_none")]
55    pub canceled_reason: Option<String>,
56    #[serde(rename = "job_kind")]
57    pub job_kind: JobKind,
58    #[serde(rename = "schedule_path", skip_serializing_if = "Option::is_none")]
59    pub schedule_path: Option<String>,
60    /// The user (u/userfoo) or group (g/groupfoo) whom the execution of this script will be permissioned_as and by extension its DT_TOKEN. 
61    #[serde(rename = "permissioned_as")]
62    pub permissioned_as: String,
63    #[serde(rename = "flow_status", skip_serializing_if = "Option::is_none")]
64    pub flow_status: Option<Box<models::FlowStatus>>,
65    #[serde(rename = "workflow_as_code_status", skip_serializing_if = "Option::is_none")]
66    pub workflow_as_code_status: Option<Box<models::WorkflowStatus>>,
67    #[serde(rename = "raw_flow", skip_serializing_if = "Option::is_none")]
68    pub raw_flow: Option<Box<models::FlowValue>>,
69    #[serde(rename = "is_flow_step")]
70    pub is_flow_step: bool,
71    #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
72    pub language: Option<models::ScriptLang>,
73    #[serde(rename = "is_skipped")]
74    pub is_skipped: bool,
75    #[serde(rename = "email")]
76    pub email: String,
77    #[serde(rename = "visible_to_owner")]
78    pub visible_to_owner: bool,
79    #[serde(rename = "mem_peak", skip_serializing_if = "Option::is_none")]
80    pub mem_peak: Option<i32>,
81    #[serde(rename = "tag")]
82    pub tag: String,
83    #[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
84    pub priority: Option<i32>,
85    #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
86    pub labels: Option<Vec<String>>,
87    #[serde(rename = "self_wait_time_ms", skip_serializing_if = "Option::is_none")]
88    pub self_wait_time_ms: Option<f64>,
89    #[serde(rename = "aggregate_wait_time_ms", skip_serializing_if = "Option::is_none")]
90    pub aggregate_wait_time_ms: Option<f64>,
91    #[serde(rename = "preprocessed", skip_serializing_if = "Option::is_none")]
92    pub preprocessed: Option<bool>,
93    #[serde(rename = "is_retry", skip_serializing_if = "Option::is_none")]
94    pub is_retry: Option<bool>,
95    /// whether this failed or canceled run has been marked as handled
96    #[serde(rename = "resolved", skip_serializing_if = "Option::is_none")]
97    pub resolved: Option<bool>,
98    /// who resolved the failure. Enterprise-only, so also absent for a manual resolution outside enterprise; use resolved_automatically to tell the two apart
99    #[serde(rename = "resolved_by", skip_serializing_if = "Option::is_none")]
100    pub resolved_by: Option<String>,
101    #[serde(rename = "resolved_at", skip_serializing_if = "Option::is_none")]
102    pub resolved_at: Option<String>,
103    #[serde(rename = "resolution_note", skip_serializing_if = "Option::is_none")]
104    pub resolution_note: Option<String>,
105    /// true when a succeeding retry resolved this rather than a person. Explicit rather than inferred from an absent resolved_by, which is also absent for a manual resolution outside enterprise
106    #[serde(rename = "resolved_automatically", skip_serializing_if = "Option::is_none")]
107    pub resolved_automatically: Option<bool>,
108    #[serde(rename = "trigger_kind", skip_serializing_if = "Option::is_none")]
109    pub trigger_kind: Option<models::JobTriggerKind>,
110    /// Path of the trigger, schedule or app that started the job, if any
111    #[serde(rename = "trigger_path", skip_serializing_if = "Option::is_none")]
112    pub trigger_path: Option<String>,
113    #[serde(rename = "worker", skip_serializing_if = "Option::is_none")]
114    pub worker: Option<String>,
115    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
116    pub r#type: Option<Type>,
117}
118
119impl JobOneOf {
120    pub fn new(id: uuid::Uuid, created_by: String, created_at: String, started_at: String, duration_ms: i32, success: bool, canceled: bool, job_kind: JobKind, permissioned_as: String, is_flow_step: bool, is_skipped: bool, email: String, visible_to_owner: bool, tag: String) -> JobOneOf {
121        JobOneOf {
122            workspace_id: None,
123            id,
124            parent_job: None,
125            created_by,
126            created_at,
127            started_at,
128            completed_at: None,
129            duration_ms,
130            success,
131            script_path: None,
132            script_hash: None,
133            args: None,
134            result: None,
135            logs: None,
136            deleted: None,
137            raw_code: None,
138            canceled,
139            canceled_by: None,
140            canceled_reason: None,
141            job_kind,
142            schedule_path: None,
143            permissioned_as,
144            flow_status: None,
145            workflow_as_code_status: None,
146            raw_flow: None,
147            is_flow_step,
148            language: None,
149            is_skipped,
150            email,
151            visible_to_owner,
152            mem_peak: None,
153            tag,
154            priority: None,
155            labels: None,
156            self_wait_time_ms: None,
157            aggregate_wait_time_ms: None,
158            preprocessed: None,
159            is_retry: None,
160            resolved: None,
161            resolved_by: None,
162            resolved_at: None,
163            resolution_note: None,
164            resolved_automatically: None,
165            trigger_kind: None,
166            trigger_path: None,
167            worker: None,
168            r#type: None,
169        }
170    }
171}
172/// 
173#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
174pub enum JobKind {
175    #[serde(rename = "script")]
176    Script,
177    #[serde(rename = "preview")]
178    Preview,
179    #[serde(rename = "dependencies")]
180    Dependencies,
181    #[serde(rename = "flow")]
182    Flow,
183    #[serde(rename = "flowdependencies")]
184    Flowdependencies,
185    #[serde(rename = "appdependencies")]
186    Appdependencies,
187    #[serde(rename = "flowpreview")]
188    Flowpreview,
189    #[serde(rename = "script_hub")]
190    ScriptHub,
191    #[serde(rename = "identity")]
192    Identity,
193    #[serde(rename = "deploymentcallback")]
194    Deploymentcallback,
195    #[serde(rename = "singlestepflow")]
196    Singlestepflow,
197    #[serde(rename = "flowscript")]
198    Flowscript,
199    #[serde(rename = "flownode")]
200    Flownode,
201    #[serde(rename = "appscript")]
202    Appscript,
203    #[serde(rename = "aiagent")]
204    Aiagent,
205    #[serde(rename = "unassigned_script")]
206    UnassignedScript,
207    #[serde(rename = "unassigned_flow")]
208    UnassignedFlow,
209    #[serde(rename = "unassigned_singlestepflow")]
210    UnassignedSinglestepflow,
211}
212
213impl Default for JobKind {
214    fn default() -> JobKind {
215        Self::Script
216    }
217}
218/// 
219#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
220pub enum Type {
221    #[serde(rename = "CompletedJob")]
222    CompletedJob,
223}
224
225impl Default for Type {
226    fn default() -> Type {
227        Self::CompletedJob
228    }
229}
230