Skip to main content

tapis_workflows/models/
req_tapis_actor_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 ReqTapisActorTask {
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 = "poll", skip_serializing_if = "Option::is_none")]
33    pub poll: Option<bool>,
34    #[serde(rename = "tapis_actor_id")]
35    pub tapis_actor_id: String,
36    #[serde(
37        rename = "tapis_actor_message",
38        default,
39        with = "::serde_with::rust::double_option",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub tapis_actor_message: Option<Option<String>>,
43}
44
45impl ReqTapisActorTask {
46    pub fn new(
47        id: String,
48        r#type: models::EnumTaskType,
49        tapis_actor_id: String,
50    ) -> ReqTapisActorTask {
51        ReqTapisActorTask {
52            id,
53            r#type,
54            depends_on: None,
55            description: None,
56            execution_profile: None,
57            input: None,
58            output: None,
59            conditions: None,
60            poll: None,
61            tapis_actor_id,
62            tapis_actor_message: None,
63        }
64    }
65}