tapis_workflows/models/
task.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14use serde_with::serde_as;
15
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(tag = "type")]
18pub enum Task {
19 #[serde(rename = "image_build")]
20 ImageBuild(Box<models::ImageBuildTask>),
21 #[serde(rename = "request")]
22 Request(Box<models::RequestTask>),
23 #[serde(rename = "application")]
24 Application(Box<models::ApplicationTask>),
25 #[serde(rename = "tapis_job")]
26 TapisJob(Box<models::TapisJobTask>),
27 #[serde(rename = "tapis_actor")]
28 TapisActor(Box<models::TapisActorTask>),
29 #[serde(rename = "function")]
30 Function(Box<models::FunctionTask>),
31 #[serde(rename = "template")]
32 Template(Box<models::TemplateTask>),
33}
34
35impl Default for Task {
36 fn default() -> Self {
37 Self::ImageBuild(Default::default())
38 }
39}