nomad_client/models/
task.rs1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Task {
16 #[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
17 pub name: Option<String>,
18 #[serde(rename = "Driver", skip_serializing_if = "Option::is_none")]
19 pub driver: Option<String>,
20 #[serde(rename = "User", skip_serializing_if = "Option::is_none")]
21 pub user: Option<String>,
22 #[serde(rename = "Lifecycle", skip_serializing_if = "Option::is_none")]
23 pub lifecycle: Option<Box<crate::models::TaskLifecycle>>,
24 #[serde(rename = "Config", skip_serializing_if = "Option::is_none")]
25 pub config: Option<::std::collections::HashMap<String, serde_json::Value>>,
26 #[serde(rename = "Constraints", skip_serializing_if = "Option::is_none")]
27 pub constraints: Option<Vec<crate::models::Constraint>>,
28 #[serde(rename = "Affinities", skip_serializing_if = "Option::is_none")]
29 pub affinities: Option<Vec<crate::models::Affinity>>,
30 #[serde(rename = "Env", skip_serializing_if = "Option::is_none")]
31 pub env: Option<::std::collections::HashMap<String, String>>,
32 #[serde(rename = "Services", skip_serializing_if = "Option::is_none")]
33 pub services: Option<Vec<crate::models::Service>>,
34 #[serde(rename = "Resources", skip_serializing_if = "Option::is_none")]
35 pub resources: Option<Box<crate::models::Resources>>,
36 #[serde(rename = "Meta", skip_serializing_if = "Option::is_none")]
37 pub meta: Option<::std::collections::HashMap<String, String>>,
38 #[serde(rename = "KillTimeout", skip_serializing_if = "Option::is_none")]
39 pub kill_timeout: Option<i64>,
40 #[serde(rename = "LogConfig", skip_serializing_if = "Option::is_none")]
41 pub log_config: Option<Box<crate::models::LogConfig>>,
42 #[serde(rename = "Artifacts", skip_serializing_if = "Option::is_none")]
43 pub artifacts: Option<Vec<crate::models::TaskArtifact>>,
44 #[serde(rename = "Vault", skip_serializing_if = "Option::is_none")]
45 pub vault: Option<Box<crate::models::Vault>>,
46 #[serde(rename = "Templates", skip_serializing_if = "Option::is_none")]
47 pub templates: Option<Vec<crate::models::Template>>,
48 #[serde(rename = "DispatchPayload", skip_serializing_if = "Option::is_none")]
49 pub dispatch_payload: Option<Box<crate::models::DispatchPayloadConfig>>,
50 #[serde(rename = "VolumeMounts", skip_serializing_if = "Option::is_none")]
51 pub volume_mounts: Option<Vec<crate::models::VolumeMount>>,
52 #[serde(rename = "Csi_plugin", skip_serializing_if = "Option::is_none")]
53 pub csi_plugin: Option<Box<crate::models::TaskCsiPluginConfig>>,
54 #[serde(rename = "Leader", skip_serializing_if = "Option::is_none")]
55 pub leader: Option<bool>,
56 #[serde(rename = "ShutdownDelay", skip_serializing_if = "Option::is_none")]
57 pub shutdown_delay: Option<i64>,
58 #[serde(rename = "KillSignal", skip_serializing_if = "Option::is_none")]
59 pub kill_signal: Option<String>,
60 #[serde(rename = "Kind", skip_serializing_if = "Option::is_none")]
61 pub kind: Option<String>,
62}
63
64impl Task {
65 pub fn new() -> Task {
66 Task {
67 name: None,
68 driver: None,
69 user: None,
70 lifecycle: None,
71 config: None,
72 constraints: None,
73 affinities: None,
74 env: None,
75 services: None,
76 resources: None,
77 meta: None,
78 kill_timeout: None,
79 log_config: None,
80 artifacts: None,
81 vault: None,
82 templates: None,
83 dispatch_payload: None,
84 volume_mounts: None,
85 csi_plugin: None,
86 leader: None,
87 shutdown_delay: None,
88 kill_signal: None,
89 kind: None,
90 }
91 }
92}
93
94