1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct JobOneOf1 {
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 #[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 #[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 = "worker", skip_serializing_if = "Option::is_none")]
87 pub worker: Option<String>,
88 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
89 pub r#type: Option<Type>,
90}
91
92impl JobOneOf1 {
93 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) -> JobOneOf1 {
94 JobOneOf1 {
95 workspace_id: None,
96 id,
97 parent_job: None,
98 created_by: None,
99 created_at: None,
100 started_at: None,
101 scheduled_for: None,
102 running,
103 script_path: None,
104 script_hash: None,
105 args: None,
106 logs: None,
107 raw_code: None,
108 canceled,
109 canceled_by: None,
110 canceled_reason: None,
111 last_ping: None,
112 job_kind,
113 schedule_path: None,
114 permissioned_as,
115 flow_status: None,
116 workflow_as_code_status: None,
117 raw_flow: None,
118 is_flow_step,
119 language: None,
120 email,
121 visible_to_owner,
122 mem_peak: None,
123 tag,
124 priority: None,
125 self_wait_time_ms: None,
126 aggregate_wait_time_ms: None,
127 suspend: None,
128 preprocessed: None,
129 worker: None,
130 r#type: None,
131 }
132 }
133}
134#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
136pub enum JobKind {
137 #[serde(rename = "script")]
138 Script,
139 #[serde(rename = "preview")]
140 Preview,
141 #[serde(rename = "dependencies")]
142 Dependencies,
143 #[serde(rename = "flowdependencies")]
144 Flowdependencies,
145 #[serde(rename = "appdependencies")]
146 Appdependencies,
147 #[serde(rename = "flow")]
148 Flow,
149 #[serde(rename = "flowpreview")]
150 Flowpreview,
151 #[serde(rename = "script_hub")]
152 ScriptHub,
153 #[serde(rename = "identity")]
154 Identity,
155 #[serde(rename = "deploymentcallback")]
156 Deploymentcallback,
157 #[serde(rename = "singlestepflow")]
158 Singlestepflow,
159 #[serde(rename = "flowscript")]
160 Flowscript,
161 #[serde(rename = "flownode")]
162 Flownode,
163 #[serde(rename = "appscript")]
164 Appscript,
165 #[serde(rename = "aiagent")]
166 Aiagent,
167}
168
169impl Default for JobKind {
170 fn default() -> JobKind {
171 Self::Script
172 }
173}
174#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
176pub enum Type {
177 #[serde(rename = "QueuedJob")]
178 QueuedJob,
179}
180
181impl Default for Type {
182 fn default() -> Type {
183 Self::QueuedJob
184 }
185}
186