nomad_api_types/types/
evaluation.rs1use derive_builder::Builder;
7use serde::{Deserialize, Serialize};
8
9#[derive(Clone, Debug, PartialEq, Deserialize, Serialize, Builder, Default)]
13pub struct Evaluation {
14 #[serde(rename = "ID")]
15 #[builder(default)]
16 pub id: String,
17
18 #[serde(rename = "Priority")]
19 #[builder(default)]
20 pub priority: i64,
21
22 #[serde(rename = "Type")]
23 #[builder(default)]
24 pub r#type: String,
25
26 #[serde(rename = "TriggeredBy")]
27 #[builder(default)]
28 pub triggered_by: String,
29
30 #[serde(rename = "Namespace")]
31 #[builder(default)]
32 pub namespace: String,
33
34 #[serde(rename = "JobID")]
35 #[builder(default)]
36 pub job_id: String,
37
38 #[serde(rename = "JobModifyIndex")]
39 #[builder(default)]
40 pub job_modify_index: u64,
41
42 #[serde(rename = "NodeID")]
43 #[builder(default)]
44 pub node_id: String,
45
46 #[serde(rename = "NodeModifyIndex")]
47 #[builder(default)]
48 pub node_modify_index: u64,
49
50 #[serde(rename = "DeploymentID")]
51 #[builder(default)]
52 pub deployment_id: String,
53
54 #[serde(rename = "Status")]
55 #[builder(default)]
56 pub status: String,
57
58 #[serde(rename = "StatusDescription")]
59 #[builder(default)]
60 pub status_description: String,
61
62 #[serde(
63 rename = "Wait",
64 serialize_with = "crate::serialize_duration",
65 deserialize_with = "crate::deserialize_duration"
66 )]
67 #[builder(default)]
68 pub wait: chrono::TimeDelta,
69
70 #[serde(rename = "WaitUntil")]
71 #[builder(default)]
72 pub wait_until: chrono::DateTime<chrono::Utc>,
73
74 #[serde(rename = "NextEval")]
75 #[builder(default)]
76 pub next_eval: String,
77
78 #[serde(rename = "PreviousEval")]
79 #[builder(default)]
80 pub previous_eval: String,
81
82 #[serde(rename = "BlockedEval")]
83 #[builder(default)]
84 pub blocked_eval: String,
85
86 #[serde(
87 rename = "RelatedEvals",
88 deserialize_with = "crate::deserialize_null_as_default"
89 )]
90 #[builder(default)]
91 pub related_evals: Vec<super::EvaluationStub>,
92
93 #[serde(
94 rename = "FailedTGAllocs",
95 deserialize_with = "crate::deserialize_null_as_default"
96 )]
97 #[builder(default)]
98 pub failed_tg_allocs: std::collections::HashMap<String, super::AllocationMetric>,
99
100 #[serde(rename = "PlanAnnotations", skip_serializing_if = "Option::is_none")]
101 #[builder(default)]
102 pub plan_annotations: Option<super::PlanAnnotations>,
103
104 #[serde(
105 rename = "ClassEligibility",
106 deserialize_with = "crate::deserialize_null_as_default"
107 )]
108 #[builder(default)]
109 pub class_eligibility: std::collections::HashMap<String, bool>,
110
111 #[serde(rename = "EscapedComputedClass")]
112 #[builder(default)]
113 pub escaped_computed_class: bool,
114
115 #[serde(rename = "QuotaLimitReached")]
116 #[builder(default)]
117 pub quota_limit_reached: String,
118
119 #[serde(rename = "AnnotatePlan")]
120 #[builder(default)]
121 pub annotate_plan: bool,
122
123 #[serde(
124 rename = "QueuedAllocations",
125 deserialize_with = "crate::deserialize_null_as_default"
126 )]
127 #[builder(default)]
128 pub queued_allocations: std::collections::HashMap<String, i64>,
129
130 #[serde(rename = "SnapshotIndex")]
131 #[builder(default)]
132 pub snapshot_index: u64,
133
134 #[serde(rename = "CreateIndex")]
135 #[builder(default)]
136 pub create_index: u64,
137
138 #[serde(rename = "ModifyIndex")]
139 #[builder(default)]
140 pub modify_index: u64,
141
142 #[serde(rename = "CreateTime")]
143 #[builder(default)]
144 pub create_time: i64,
145
146 #[serde(rename = "ModifyTime")]
147 #[builder(default)]
148 pub modify_time: i64,
149}
150impl Evaluation {
151 pub fn builder() -> EvaluationBuilder {
152 EvaluationBuilder::default()
153 }
154}