nomad_api_types/types/
resources.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/// Resources encapsulates the required resources of
10/// a given task or task group.
11///
12/// This struct was generated based on the Go types of the official Nomad API client.
13#[derive(Clone, Debug, PartialEq, Deserialize, Serialize, Builder, Default)]
14pub struct Resources {
15    #[serde(rename = "CPU", skip_serializing_if = "Option::is_none")]
16    #[builder(default)]
17    pub cpu: Option<i64>,
18
19    #[serde(rename = "Cores", skip_serializing_if = "Option::is_none")]
20    #[builder(default)]
21    pub cores: Option<i64>,
22
23    #[serde(rename = "memory", skip_serializing_if = "Option::is_none")]
24    #[builder(default)]
25    pub memory_mb: Option<i64>,
26
27    #[serde(rename = "memory_max", skip_serializing_if = "Option::is_none")]
28    #[builder(default)]
29    pub memory_max_mb: Option<i64>,
30
31    #[serde(rename = "disk", skip_serializing_if = "Option::is_none")]
32    #[builder(default)]
33    pub disk_mb: Option<i64>,
34
35    #[serde(
36        rename = "Networks",
37        deserialize_with = "crate::deserialize_null_as_default"
38    )]
39    #[builder(default)]
40    pub networks: Vec<super::NetworkResource>,
41
42    #[serde(
43        rename = "Devices",
44        deserialize_with = "crate::deserialize_null_as_default"
45    )]
46    #[builder(default)]
47    pub devices: Vec<super::RequestedDevice>,
48
49    #[serde(rename = "NUMA", skip_serializing_if = "Option::is_none")]
50    #[builder(default)]
51    pub numa: Option<super::NumaResource>,
52
53    #[serde(rename = "secrets", skip_serializing_if = "Option::is_none")]
54    #[builder(default)]
55    pub secrets_mb: Option<i64>,
56
57    /// COMPAT(0.10)
58    /// XXX Deprecated. Please do not use. The field will be removed in Nomad
59    /// 0.10 and is only being kept to allow any references to be removed before
60    /// then.
61    #[serde(rename = "IOPS", skip_serializing_if = "Option::is_none")]
62    #[builder(default)]
63    pub iops: Option<i64>,
64}
65impl Resources {
66    pub fn builder() -> ResourcesBuilder {
67        ResourcesBuilder::default()
68    }
69}