Skip to main content

tapis_workflows/models/
function_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
14use serde_with::serde_as;
15
16#[serde_as]
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
18pub struct FunctionTask {
19    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
20    pub id: Option<String>,
21    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
22    pub r#type: Option<models::EnumTaskType>,
23    #[serde(rename = "depends_on", skip_serializing_if = "Option::is_none")]
24    pub depends_on: Option<Vec<models::TaskDependency>>,
25    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
26    pub description: Option<String>,
27    #[serde(rename = "execution_profile", skip_serializing_if = "Option::is_none")]
28    pub execution_profile: Option<Box<models::TaskExecutionProfile>>,
29    #[serde(rename = "input", skip_serializing_if = "Option::is_none")]
30    pub input: Option<std::collections::HashMap<String, models::SpecWithValue>>,
31    #[serde(rename = "output", skip_serializing_if = "Option::is_none")]
32    pub output: Option<std::collections::HashMap<String, models::OutputValue>>,
33    #[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
34    pub conditions: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
35    #[serde(rename = "git_repositories", skip_serializing_if = "Option::is_none")]
36    pub git_repositories: Option<Vec<models::GitCloneDetails>>,
37    #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
38    pub runtime: Option<models::EnumRuntimeEnvironment>,
39    #[serde(rename = "installer", skip_serializing_if = "Option::is_none")]
40    pub installer: Option<models::EnumInstaller>,
41    #[serde(rename = "command", skip_serializing_if = "Option::is_none")]
42    pub command: Option<String>,
43    #[serde(rename = "entrypoint", skip_serializing_if = "Option::is_none")]
44    pub entrypoint: Option<String>,
45    #[serde_as(as = "Option<serde_with::base64::Base64>")]
46    #[serde(rename = "code", skip_serializing_if = "Option::is_none")]
47    pub code: Option<Vec<u8>>,
48    #[serde(rename = "packages", skip_serializing_if = "Option::is_none")]
49    pub packages: Option<Vec<String>>,
50}
51
52impl FunctionTask {
53    pub fn new() -> FunctionTask {
54        FunctionTask {
55            id: None,
56            r#type: None,
57            depends_on: None,
58            description: None,
59            execution_profile: None,
60            input: None,
61            output: None,
62            conditions: None,
63            git_repositories: None,
64            runtime: None,
65            installer: None,
66            command: None,
67            entrypoint: None,
68            code: None,
69            packages: None,
70        }
71    }
72}