proxmox_api/generated/cluster/
resources.rs1pub struct ResourcesClient<T> {
2 client: T,
3 path: String,
4}
5impl<T> ResourcesClient<T>
6where
7 T: crate::client::Client,
8{
9 pub fn new(client: T, parent_path: &str) -> Self {
10 Self {
11 client,
12 path: format!("{}{}", parent_path, "/resources"),
13 }
14 }
15}
16impl<T> ResourcesClient<T>
17where
18 T: crate::client::Client,
19{
20 #[doc = "Resources index (cluster wide)."]
21 pub fn get(&self, params: GetParams) -> Result<Vec<GetOutputItems>, T::Error> {
22 let path = self.path.to_string();
23 self.client.get(&path, ¶ms)
24 }
25}
26impl GetOutputItems {
27 pub fn new(id: String, ty: Type) -> Self {
28 Self {
29 id,
30 ty,
31 cgroup_mode: Default::default(),
32 content: Default::default(),
33 cpu: Default::default(),
34 disk: Default::default(),
35 hastate: Default::default(),
36 level: Default::default(),
37 maxcpu: Default::default(),
38 maxdisk: Default::default(),
39 maxmem: Default::default(),
40 mem: Default::default(),
41 name: Default::default(),
42 node: Default::default(),
43 plugintype: Default::default(),
44 pool: Default::default(),
45 status: Default::default(),
46 storage: Default::default(),
47 uptime: Default::default(),
48 vmid: Default::default(),
49 additional_properties: Default::default(),
50 }
51 }
52}
53#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
54pub struct GetOutputItems {
55 #[serde(rename = "cgroup-mode")]
56 #[serde(
57 serialize_with = "crate::types::serialize_int_optional",
58 deserialize_with = "crate::types::deserialize_int_optional"
59 )]
60 #[serde(skip_serializing_if = "Option::is_none", default)]
61 #[doc = "The cgroup mode the node operates under (when type == node)."]
62 pub cgroup_mode: Option<u64>,
63 #[serde(skip_serializing_if = "Option::is_none", default)]
64 #[doc = "Allowed storage content types (when type == storage)."]
65 pub content: Option<String>,
66 #[serde(
67 serialize_with = "crate::types::serialize_number_optional",
68 deserialize_with = "crate::types::deserialize_number_optional"
69 )]
70 #[serde(skip_serializing_if = "Option::is_none", default)]
71 #[doc = "CPU utilization (when type in node,qemu,lxc)."]
72 pub cpu: Option<f64>,
73 #[serde(
74 serialize_with = "crate::types::serialize_int_optional",
75 deserialize_with = "crate::types::deserialize_int_optional"
76 )]
77 #[serde(skip_serializing_if = "Option::is_none", default)]
78 #[doc = "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc)."]
79 pub disk: Option<u64>,
80 #[serde(skip_serializing_if = "Option::is_none", default)]
81 #[doc = "HA service status (for HA managed VMs)."]
82 pub hastate: Option<String>,
83 #[doc = "Resource id."]
84 pub id: String,
85 #[serde(skip_serializing_if = "Option::is_none", default)]
86 #[doc = "Support level (when type == node)."]
87 pub level: Option<String>,
88 #[serde(
89 serialize_with = "crate::types::serialize_number_optional",
90 deserialize_with = "crate::types::deserialize_number_optional"
91 )]
92 #[serde(skip_serializing_if = "Option::is_none", default)]
93 #[doc = "Number of available CPUs (when type in node,qemu,lxc)."]
94 pub maxcpu: Option<f64>,
95 #[serde(
96 serialize_with = "crate::types::serialize_int_optional",
97 deserialize_with = "crate::types::deserialize_int_optional"
98 )]
99 #[serde(skip_serializing_if = "Option::is_none", default)]
100 #[doc = "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc)."]
101 pub maxdisk: Option<u64>,
102 #[serde(
103 serialize_with = "crate::types::serialize_int_optional",
104 deserialize_with = "crate::types::deserialize_int_optional"
105 )]
106 #[serde(skip_serializing_if = "Option::is_none", default)]
107 #[doc = "Number of available memory in bytes (when type in node,qemu,lxc)."]
108 pub maxmem: Option<u64>,
109 #[serde(
110 serialize_with = "crate::types::serialize_int_optional",
111 deserialize_with = "crate::types::deserialize_int_optional"
112 )]
113 #[serde(skip_serializing_if = "Option::is_none", default)]
114 #[doc = "Used memory in bytes (when type in node,qemu,lxc)."]
115 pub mem: Option<u64>,
116 #[serde(skip_serializing_if = "Option::is_none", default)]
117 #[doc = "Name of the resource."]
118 pub name: Option<String>,
119 #[serde(skip_serializing_if = "Option::is_none", default)]
120 #[doc = "The cluster node name (when type in node,storage,qemu,lxc)."]
121 pub node: Option<String>,
122 #[serde(skip_serializing_if = "Option::is_none", default)]
123 #[doc = "More specific type, if available."]
124 pub plugintype: Option<String>,
125 #[serde(skip_serializing_if = "Option::is_none", default)]
126 #[doc = "The pool name (when type in pool,qemu,lxc)."]
127 pub pool: Option<String>,
128 #[serde(skip_serializing_if = "Option::is_none", default)]
129 #[doc = "Resource type dependent status."]
130 pub status: Option<String>,
131 #[serde(skip_serializing_if = "Option::is_none", default)]
132 #[doc = "The storage identifier (when type == storage)."]
133 pub storage: Option<String>,
134 #[serde(rename = "type")]
135 #[doc = "Resource type."]
136 pub ty: Type,
137 #[serde(
138 serialize_with = "crate::types::serialize_int_optional",
139 deserialize_with = "crate::types::deserialize_int_optional"
140 )]
141 #[serde(skip_serializing_if = "Option::is_none", default)]
142 #[doc = "Node uptime in seconds (when type in node,qemu,lxc)."]
143 pub uptime: Option<u64>,
144 #[serde(skip_serializing_if = "Option::is_none", default)]
145 #[doc = "The numerical vmid (when type in qemu,lxc)."]
146 pub vmid: Option<crate::types::VmId>,
147 #[serde(
148 flatten,
149 default,
150 skip_serializing_if = "::std::collections::HashMap::is_empty"
151 )]
152 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
153}
154#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
155pub struct GetParams {
156 #[serde(rename = "type")]
157 #[serde(skip_serializing_if = "Option::is_none", default)]
158 pub ty: Option<Type>,
159 #[serde(
160 flatten,
161 default,
162 skip_serializing_if = "::std::collections::HashMap::is_empty"
163 )]
164 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
165}
166#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
167pub enum Type {
168 #[serde(rename = "lxc")]
169 Lxc,
170 #[serde(rename = "node")]
171 Node,
172 #[serde(rename = "openvz")]
173 Openvz,
174 #[serde(rename = "pool")]
175 Pool,
176 #[serde(rename = "qemu")]
177 Qemu,
178 #[serde(rename = "sdn")]
179 Sdn,
180 #[serde(rename = "storage")]
181 Storage,
182 #[serde(rename = "vm")]
183 Vm,
184}