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