1use 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 = "duration_ms")]
29 pub duration_ms: i32,
30 #[serde(rename = "success")]
31 pub success: 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 #[serde(rename = "args", skip_serializing_if = "Option::is_none")]
38 pub args: Option<std::collections::HashMap<String, serde_json::Value>>,
39 #[serde(rename = "result", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40 pub result: Option<Option<serde_json::Value>>,
41 #[serde(rename = "logs", skip_serializing_if = "Option::is_none")]
42 pub logs: Option<String>,
43 #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
44 pub deleted: Option<bool>,
45 #[serde(rename = "raw_code", skip_serializing_if = "Option::is_none")]
46 pub raw_code: Option<String>,
47 #[serde(rename = "canceled")]
48 pub canceled: bool,
49 #[serde(rename = "canceled_by", skip_serializing_if = "Option::is_none")]
50 pub canceled_by: Option<String>,
51 #[serde(rename = "canceled_reason", skip_serializing_if = "Option::is_none")]
52 pub canceled_reason: Option<String>,
53 #[serde(rename = "job_kind")]
54 pub job_kind: JobKind,
55 #[serde(rename = "schedule_path", skip_serializing_if = "Option::is_none")]
56 pub schedule_path: Option<String>,
57 #[serde(rename = "permissioned_as")]
59 pub permissioned_as: String,
60 #[serde(rename = "flow_status", skip_serializing_if = "Option::is_none")]
61 pub flow_status: Option<Box<models::FlowStatus>>,
62 #[serde(rename = "workflow_as_code_status", skip_serializing_if = "Option::is_none")]
63 pub workflow_as_code_status: Option<Box<models::WorkflowStatus>>,
64 #[serde(rename = "raw_flow", skip_serializing_if = "Option::is_none")]
65 pub raw_flow: Option<Box<models::FlowValue>>,
66 #[serde(rename = "is_flow_step")]
67 pub is_flow_step: bool,
68 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
69 pub language: Option<models::ScriptLang>,
70 #[serde(rename = "is_skipped")]
71 pub is_skipped: bool,
72 #[serde(rename = "email")]
73 pub email: String,
74 #[serde(rename = "visible_to_owner")]
75 pub visible_to_owner: bool,
76 #[serde(rename = "mem_peak", skip_serializing_if = "Option::is_none")]
77 pub mem_peak: Option<i32>,
78 #[serde(rename = "tag")]
79 pub tag: String,
80 #[serde(rename = "priority", skip_serializing_if = "Option::is_none")]
81 pub priority: Option<i32>,
82 #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
83 pub labels: Option<Vec<String>>,
84 #[serde(rename = "self_wait_time_ms", skip_serializing_if = "Option::is_none")]
85 pub self_wait_time_ms: Option<f64>,
86 #[serde(rename = "aggregate_wait_time_ms", skip_serializing_if = "Option::is_none")]
87 pub aggregate_wait_time_ms: Option<f64>,
88 #[serde(rename = "preprocessed", skip_serializing_if = "Option::is_none")]
89 pub preprocessed: Option<bool>,
90 #[serde(rename = "worker", skip_serializing_if = "Option::is_none")]
91 pub worker: Option<String>,
92 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
93 pub r#type: Option<Type>,
94}
95
96impl JobOneOf {
97 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 {
98 JobOneOf {
99 workspace_id: None,
100 id,
101 parent_job: None,
102 created_by,
103 created_at,
104 started_at,
105 duration_ms,
106 success,
107 script_path: None,
108 script_hash: None,
109 args: None,
110 result: None,
111 logs: None,
112 deleted: None,
113 raw_code: None,
114 canceled,
115 canceled_by: None,
116 canceled_reason: 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 is_skipped,
126 email,
127 visible_to_owner,
128 mem_peak: None,
129 tag,
130 priority: None,
131 labels: None,
132 self_wait_time_ms: None,
133 aggregate_wait_time_ms: None,
134 preprocessed: None,
135 worker: None,
136 r#type: None,
137 }
138 }
139}
140#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
142pub enum JobKind {
143 #[serde(rename = "script")]
144 Script,
145 #[serde(rename = "preview")]
146 Preview,
147 #[serde(rename = "dependencies")]
148 Dependencies,
149 #[serde(rename = "flow")]
150 Flow,
151 #[serde(rename = "flowdependencies")]
152 Flowdependencies,
153 #[serde(rename = "appdependencies")]
154 Appdependencies,
155 #[serde(rename = "flowpreview")]
156 Flowpreview,
157 #[serde(rename = "script_hub")]
158 ScriptHub,
159 #[serde(rename = "identity")]
160 Identity,
161 #[serde(rename = "deploymentcallback")]
162 Deploymentcallback,
163 #[serde(rename = "singlestepflow")]
164 Singlestepflow,
165 #[serde(rename = "flowscript")]
166 Flowscript,
167 #[serde(rename = "flownode")]
168 Flownode,
169 #[serde(rename = "appscript")]
170 Appscript,
171 #[serde(rename = "aiagent")]
172 Aiagent,
173}
174
175impl Default for JobKind {
176 fn default() -> JobKind {
177 Self::Script
178 }
179}
180#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
182pub enum Type {
183 #[serde(rename = "CompletedJob")]
184 CompletedJob,
185}
186
187impl Default for Type {
188 fn default() -> Type {
189 Self::CompletedJob
190 }
191}
192