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