Skip to main content

tapis_workflows/models/
req_image_build_task.rs

1/*
2 * Tapis Workflows API
3 *
4 * Create and manage pipelines
5 *
6 * The version of the OpenAPI document: 1.6.0
7 * Contact: cicsupport@tacc.utexas.edu
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 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}