tapis_workflows/models/
req_image_build_task.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ReqImageBuildTask {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "type")]
19 pub r#type: models::EnumTaskType,
20 #[serde(rename = "depends_on", skip_serializing_if = "Option::is_none")]
21 pub depends_on: Option<Vec<models::TaskDependency>>,
22 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
23 pub description: Option<String>,
24 #[serde(rename = "execution_profile", skip_serializing_if = "Option::is_none")]
25 pub execution_profile: Option<Box<models::TaskExecutionProfile>>,
26 #[serde(rename = "input", skip_serializing_if = "Option::is_none")]
27 pub input: Option<std::collections::HashMap<String, models::SpecWithValue>>,
28 #[serde(rename = "output", skip_serializing_if = "Option::is_none")]
29 pub output: Option<std::collections::HashMap<String, models::OutputValue>>,
30 #[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
31 pub conditions: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
32 #[serde(rename = "builder")]
33 pub builder: models::EnumBuilder,
34 #[serde(rename = "cache", skip_serializing_if = "Option::is_none")]
35 pub cache: Option<bool>,
36 #[serde(rename = "context")]
37 pub context: Box<models::ReqContext>,
38 #[serde(rename = "destination")]
39 pub destination: Box<models::ReqDestination>,
40}
41
42impl ReqImageBuildTask {
43 pub fn new(
44 id: String,
45 r#type: models::EnumTaskType,
46 builder: models::EnumBuilder,
47 context: models::ReqContext,
48 destination: models::ReqDestination,
49 ) -> ReqImageBuildTask {
50 ReqImageBuildTask {
51 id,
52 r#type,
53 depends_on: None,
54 description: None,
55 execution_profile: None,
56 input: None,
57 output: None,
58 conditions: None,
59 builder,
60 cache: None,
61 context: Box::new(context),
62 destination: Box::new(destination),
63 }
64 }
65}