nomad_api_types/types/
allocation.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/// Allocation is used for serialization of allocations.
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)]
13pub struct Allocation {
14    #[serde(rename = "ID")]
15    #[builder(default)]
16    pub id: String,
17
18    #[serde(rename = "Namespace")]
19    #[builder(default)]
20    pub namespace: String,
21
22    #[serde(rename = "EvalID")]
23    #[builder(default)]
24    pub eval_id: String,
25
26    #[serde(rename = "Name")]
27    #[builder(default)]
28    pub name: String,
29
30    #[serde(rename = "NodeID")]
31    #[builder(default)]
32    pub node_id: String,
33
34    #[serde(rename = "NodeName")]
35    #[builder(default)]
36    pub node_name: String,
37
38    #[serde(rename = "JobID")]
39    #[builder(default)]
40    pub job_id: String,
41
42    #[serde(rename = "Job", skip_serializing_if = "Option::is_none")]
43    pub job: Option<super::Job>,
44
45    #[serde(rename = "TaskGroup")]
46    #[builder(default)]
47    pub task_group: String,
48
49    #[serde(rename = "Resources", skip_serializing_if = "Option::is_none")]
50    #[builder(default)]
51    pub resources: Option<super::Resources>,
52
53    #[serde(
54        rename = "TaskResources",
55        deserialize_with = "crate::deserialize_null_as_default"
56    )]
57    #[builder(default)]
58    pub task_resources: std::collections::HashMap<String, super::Resources>,
59
60    #[serde(rename = "AllocatedResources", skip_serializing_if = "Option::is_none")]
61    #[builder(default)]
62    pub allocated_resources: Option<super::AllocatedResources>,
63
64    #[serde(
65        rename = "Services",
66        deserialize_with = "crate::deserialize_null_as_default"
67    )]
68    #[builder(default)]
69    pub services: std::collections::HashMap<String, String>,
70
71    #[serde(rename = "Metrics", skip_serializing_if = "Option::is_none")]
72    #[builder(default)]
73    pub metrics: Option<super::AllocationMetric>,
74
75    #[serde(rename = "DesiredStatus")]
76    #[builder(default)]
77    pub desired_status: String,
78
79    #[serde(rename = "DesiredDescription")]
80    #[builder(default)]
81    pub desired_description: String,
82
83    #[serde(rename = "DesiredTransition")]
84    #[builder(default)]
85    pub desired_transition: super::DesiredTransition,
86
87    #[serde(rename = "ClientStatus")]
88    #[builder(default)]
89    pub client_status: String,
90
91    #[serde(rename = "ClientDescription")]
92    #[builder(default)]
93    pub client_description: String,
94
95    #[serde(
96        rename = "TaskStates",
97        deserialize_with = "crate::deserialize_null_as_default"
98    )]
99    #[builder(default)]
100    pub task_states: std::collections::HashMap<String, super::TaskState>,
101
102    #[serde(rename = "DeploymentID")]
103    #[builder(default)]
104    pub deployment_id: String,
105
106    #[serde(rename = "DeploymentStatus", skip_serializing_if = "Option::is_none")]
107    #[builder(default)]
108    pub deployment_status: Option<super::AllocDeploymentStatus>,
109
110    #[serde(rename = "FollowupEvalID")]
111    #[builder(default)]
112    pub followup_eval_id: String,
113
114    #[serde(rename = "PreviousAllocation")]
115    #[builder(default)]
116    pub previous_allocation: String,
117
118    #[serde(rename = "NextAllocation")]
119    #[builder(default)]
120    pub next_allocation: String,
121
122    #[serde(rename = "RescheduleTracker", skip_serializing_if = "Option::is_none")]
123    #[builder(default)]
124    pub reschedule_tracker: Option<super::RescheduleTracker>,
125
126    #[serde(rename = "NetworkStatus", skip_serializing_if = "Option::is_none")]
127    #[builder(default)]
128    pub network_status: Option<super::AllocNetworkStatus>,
129
130    #[serde(
131        rename = "PreemptedAllocations",
132        deserialize_with = "crate::deserialize_null_as_default"
133    )]
134    #[builder(default)]
135    pub preempted_allocations: Vec<String>,
136
137    #[serde(rename = "PreemptedByAllocation")]
138    #[builder(default)]
139    pub preempted_by_allocation: String,
140
141    #[serde(rename = "CreateIndex")]
142    #[builder(default)]
143    pub create_index: u64,
144
145    #[serde(rename = "ModifyIndex")]
146    #[builder(default)]
147    pub modify_index: u64,
148
149    #[serde(rename = "AllocModifyIndex")]
150    #[builder(default)]
151    pub alloc_modify_index: u64,
152
153    #[serde(rename = "CreateTime")]
154    #[builder(default)]
155    pub create_time: i64,
156
157    #[serde(rename = "ModifyTime")]
158    #[builder(default)]
159    pub modify_time: i64,
160}