proxmox_api/generated/cluster/
resources.rs

1pub 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, &params)
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}