nomad_api_types/types/
template.rs1use derive_builder::Builder;
7use serde::{Deserialize, Serialize};
8
9#[derive(Clone, Debug, PartialEq, Deserialize, Serialize, Builder, Default)]
11pub struct Template {
12 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
13 #[builder(default)]
14 pub source_path: Option<String>,
15
16 #[serde(rename = "destination", skip_serializing_if = "Option::is_none")]
17 #[builder(default)]
18 pub dest_path: Option<String>,
19
20 #[serde(rename = "data", skip_serializing_if = "Option::is_none")]
21 #[builder(default)]
22 pub embedded_tmpl: Option<String>,
23
24 #[serde(rename = "change_mode", skip_serializing_if = "Option::is_none")]
25 #[builder(default)]
26 pub change_mode: Option<String>,
27
28 #[serde(rename = "change_script", skip_serializing_if = "Option::is_none")]
29 #[builder(default)]
30 pub change_script: Option<super::ChangeScript>,
31
32 #[serde(rename = "change_signal", skip_serializing_if = "Option::is_none")]
33 #[builder(default)]
34 pub change_signal: Option<String>,
35
36 #[serde(rename = "once", skip_serializing_if = "Option::is_none")]
37 #[builder(default)]
38 pub once: Option<bool>,
39
40 #[serde(
41 rename = "splay",
42 skip_serializing_if = "Option::is_none",
43 serialize_with = "crate::serialize_duration_option",
44 deserialize_with = "crate::deserialize_duration_option",
45 default
46 )]
47 #[builder(default)]
48 pub splay: Option<chrono::TimeDelta>,
49
50 #[serde(rename = "perms", skip_serializing_if = "Option::is_none")]
51 #[builder(default)]
52 pub perms: Option<String>,
53
54 #[serde(rename = "uid", skip_serializing_if = "Option::is_none")]
55 #[builder(default)]
56 pub uid: Option<i64>,
57
58 #[serde(rename = "gid", skip_serializing_if = "Option::is_none")]
59 #[builder(default)]
60 pub gid: Option<i64>,
61
62 #[serde(rename = "left_delimiter", skip_serializing_if = "Option::is_none")]
63 #[builder(default)]
64 pub left_delim: Option<String>,
65
66 #[serde(rename = "right_delimiter", skip_serializing_if = "Option::is_none")]
67 #[builder(default)]
68 pub right_delim: Option<String>,
69
70 #[serde(rename = "env", skip_serializing_if = "Option::is_none")]
71 #[builder(default)]
72 pub envvars: Option<bool>,
73
74 #[serde(
75 rename = "vault_grace",
76 skip_serializing_if = "Option::is_none",
77 serialize_with = "crate::serialize_duration_option",
78 deserialize_with = "crate::deserialize_duration_option",
79 default
80 )]
81 #[builder(default)]
82 pub vault_grace: Option<chrono::TimeDelta>,
83
84 #[serde(rename = "wait", skip_serializing_if = "Option::is_none")]
85 #[builder(default)]
86 pub wait: Option<super::WaitConfig>,
87
88 #[serde(
89 rename = "error_on_missing_key",
90 skip_serializing_if = "Option::is_none"
91 )]
92 #[builder(default)]
93 pub err_missing_key: Option<bool>,
94}
95impl Template {
96 pub fn builder() -> TemplateBuilder {
97 TemplateBuilder::default()
98 }
99}