nomad_api_types/types/
evaluation.rs

1/*
2 * This is an auto-generated file.
3 * Any manual changes may be overwritten without notice!
4 */
5
6use derive_builder::Builder;
7use serde::{Deserialize, Serialize};
8
9/// Evaluation is used to serialize an evaluation.
10///
11/// This struct was generated based on the Go types of the official Nomad API client.
12#[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}