tapis_workflows/models/
request_task.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RequestTask {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17 pub id: Option<String>,
18 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
19 pub r#type: Option<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 = "auth", skip_serializing_if = "Option::is_none")]
33 pub auth: Option<serde_json::Value>,
34 #[serde(rename = "data", skip_serializing_if = "Option::is_none")]
35 pub data: Option<serde_json::Value>,
36 #[serde(rename = "headers", skip_serializing_if = "Option::is_none")]
37 pub headers: Option<serde_json::Value>,
38 #[serde(rename = "http_method", skip_serializing_if = "Option::is_none")]
39 pub http_method: Option<models::EnumHttpMethod>,
40 #[serde(rename = "query_params", skip_serializing_if = "Option::is_none")]
41 pub query_params: Option<serde_json::Value>,
42 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
43 pub url: Option<String>,
44}
45
46impl RequestTask {
47 pub fn new() -> RequestTask {
48 RequestTask {
49 id: None,
50 r#type: None,
51 depends_on: None,
52 description: None,
53 execution_profile: None,
54 input: None,
55 output: None,
56 conditions: None,
57 auth: None,
58 data: None,
59 headers: None,
60 http_method: None,
61 query_params: None,
62 url: None,
63 }
64 }
65}