nomad_api_types/types/
spread.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/// Spread is used to serialize task group allocation spread preferences
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 Spread {
14    #[serde(rename = "Attribute")]
15    #[builder(default)]
16    pub attribute: String,
17
18    #[serde(rename = "Weight", skip_serializing_if = "Option::is_none")]
19    #[builder(default)]
20    pub weight: Option<i8>,
21
22    #[serde(
23        rename = "SpreadTarget",
24        deserialize_with = "crate::deserialize_null_as_default"
25    )]
26    #[builder(default)]
27    pub spread_target: Vec<super::SpreadTarget>,
28}
29impl Spread {
30    pub fn builder() -> SpreadBuilder {
31        SpreadBuilder::default()
32    }
33}