nomad_api_types/types/
resources.rs1use derive_builder::Builder;
7use serde::{Deserialize, Serialize};
8
9#[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 #[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}