windmill_api/models/
completed_job.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.512.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 CompletedJob {
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    /// The user (u/userfoo) or group (g/groupfoo) whom the execution of this script will be permissioned_as and by extension its DT_TOKEN. 
57    #[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}
92
93impl CompletedJob {
94    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) -> CompletedJob {
95        CompletedJob {
96            workspace_id: None,
97            id,
98            parent_job: None,
99            created_by,
100            created_at,
101            started_at,
102            duration_ms,
103            success,
104            script_path: None,
105            script_hash: None,
106            args: None,
107            result: None,
108            logs: None,
109            deleted: None,
110            raw_code: None,
111            canceled,
112            canceled_by: None,
113            canceled_reason: None,
114            job_kind,
115            schedule_path: None,
116            permissioned_as,
117            flow_status: None,
118            workflow_as_code_status: None,
119            raw_flow: None,
120            is_flow_step,
121            language: None,
122            is_skipped,
123            email,
124            visible_to_owner,
125            mem_peak: None,
126            tag,
127            priority: None,
128            labels: None,
129            self_wait_time_ms: None,
130            aggregate_wait_time_ms: None,
131            preprocessed: None,
132            worker: None,
133        }
134    }
135}
136/// 
137#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
138pub enum JobKind {
139    #[serde(rename = "script")]
140    Script,
141    #[serde(rename = "preview")]
142    Preview,
143    #[serde(rename = "dependencies")]
144    Dependencies,
145    #[serde(rename = "flow")]
146    Flow,
147    #[serde(rename = "flowdependencies")]
148    Flowdependencies,
149    #[serde(rename = "appdependencies")]
150    Appdependencies,
151    #[serde(rename = "flowpreview")]
152    Flowpreview,
153    #[serde(rename = "script_hub")]
154    ScriptHub,
155    #[serde(rename = "identity")]
156    Identity,
157    #[serde(rename = "deploymentcallback")]
158    Deploymentcallback,
159    #[serde(rename = "singlescriptflow")]
160    Singlescriptflow,
161    #[serde(rename = "flowscript")]
162    Flowscript,
163    #[serde(rename = "flownode")]
164    Flownode,
165    #[serde(rename = "appscript")]
166    Appscript,
167}
168
169impl Default for JobKind {
170    fn default() -> JobKind {
171        Self::Script
172    }
173}
174