proxmox_api/generated/nodes/
node.rs1pub mod aplinfo;
2pub mod apt;
3pub mod capabilities;
4pub mod ceph;
5pub mod certificates;
6pub mod config;
7pub mod disks;
8pub mod dns;
9pub mod execute;
10pub mod firewall;
11pub mod hardware;
12pub mod hosts;
13pub mod journal;
14pub mod lxc;
15pub mod migrateall;
16pub mod netstat;
17pub mod network;
18pub mod qemu;
19pub mod query_oci_repo_tags;
20pub mod query_url_metadata;
21pub mod replication;
22pub mod report;
23pub mod rrd;
24pub mod rrddata;
25pub mod scan;
26pub mod sdn;
27pub mod services;
28pub mod spiceshell;
29pub mod startall;
30pub mod status;
31pub mod stopall;
32pub mod storage;
33pub mod subscription;
34pub mod suspendall;
35pub mod syslog;
36pub mod tasks;
37pub mod termproxy;
38pub mod time;
39pub mod version;
40pub mod vncshell;
41pub mod vncwebsocket;
42pub mod vzdump;
43pub mod wakeonlan;
44#[derive(Debug, Clone)]
45pub struct NodeClient<T> {
46 client: T,
47 path: String,
48}
49impl<T> NodeClient<T>
50where
51 T: crate::client::Client,
52{
53 pub fn new(client: T, parent_path: &str, node: &str) -> Self {
54 Self {
55 client,
56 path: format!("{}/{}", parent_path, node),
57 }
58 }
59}
60impl<T> NodeClient<T>
61where
62 T: crate::client::Client,
63{
64 #[doc = "Node index."]
65 #[doc = ""]
66 pub async fn get(&self) -> Result<Vec<GetOutputItems>, T::Error> {
67 let path = self.path.to_string();
68 let optional_vec: Option<Vec<GetOutputItems>> = self.client.get(&path, &()).await?;
69 Ok(optional_vec.unwrap_or_default())
70 }
71}
72#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
73pub struct GetOutputItems {
74 #[serde(
75 flatten,
76 default,
77 skip_serializing_if = "::std::collections::HashMap::is_empty"
78 )]
79 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
80}
81impl<T> NodeClient<T>
82where
83 T: crate::client::Client,
84{
85 pub fn qemu(&self) -> qemu::QemuClient<T> {
86 qemu::QemuClient::<T>::new(self.client.clone(), &self.path)
87 }
88}
89impl<T> NodeClient<T>
90where
91 T: crate::client::Client,
92{
93 pub fn lxc(&self) -> lxc::LxcClient<T> {
94 lxc::LxcClient::<T>::new(self.client.clone(), &self.path)
95 }
96}
97impl<T> NodeClient<T>
98where
99 T: crate::client::Client,
100{
101 pub fn ceph(&self) -> ceph::CephClient<T> {
102 ceph::CephClient::<T>::new(self.client.clone(), &self.path)
103 }
104}
105impl<T> NodeClient<T>
106where
107 T: crate::client::Client,
108{
109 pub fn vzdump(&self) -> vzdump::VzdumpClient<T> {
110 vzdump::VzdumpClient::<T>::new(self.client.clone(), &self.path)
111 }
112}
113impl<T> NodeClient<T>
114where
115 T: crate::client::Client,
116{
117 pub fn services(&self) -> services::ServicesClient<T> {
118 services::ServicesClient::<T>::new(self.client.clone(), &self.path)
119 }
120}
121impl<T> NodeClient<T>
122where
123 T: crate::client::Client,
124{
125 pub fn subscription(&self) -> subscription::SubscriptionClient<T> {
126 subscription::SubscriptionClient::<T>::new(self.client.clone(), &self.path)
127 }
128}
129impl<T> NodeClient<T>
130where
131 T: crate::client::Client,
132{
133 pub fn network(&self) -> network::NetworkClient<T> {
134 network::NetworkClient::<T>::new(self.client.clone(), &self.path)
135 }
136}
137impl<T> NodeClient<T>
138where
139 T: crate::client::Client,
140{
141 pub fn tasks(&self) -> tasks::TasksClient<T> {
142 tasks::TasksClient::<T>::new(self.client.clone(), &self.path)
143 }
144}
145impl<T> NodeClient<T>
146where
147 T: crate::client::Client,
148{
149 pub fn scan(&self) -> scan::ScanClient<T> {
150 scan::ScanClient::<T>::new(self.client.clone(), &self.path)
151 }
152}
153impl<T> NodeClient<T>
154where
155 T: crate::client::Client,
156{
157 pub fn hardware(&self) -> hardware::HardwareClient<T> {
158 hardware::HardwareClient::<T>::new(self.client.clone(), &self.path)
159 }
160}
161impl<T> NodeClient<T>
162where
163 T: crate::client::Client,
164{
165 pub fn capabilities(&self) -> capabilities::CapabilitiesClient<T> {
166 capabilities::CapabilitiesClient::<T>::new(self.client.clone(), &self.path)
167 }
168}
169impl<T> NodeClient<T>
170where
171 T: crate::client::Client,
172{
173 pub fn storage(&self) -> storage::StorageClient<T> {
174 storage::StorageClient::<T>::new(self.client.clone(), &self.path)
175 }
176}
177impl<T> NodeClient<T>
178where
179 T: crate::client::Client,
180{
181 pub fn disks(&self) -> disks::DisksClient<T> {
182 disks::DisksClient::<T>::new(self.client.clone(), &self.path)
183 }
184}
185impl<T> NodeClient<T>
186where
187 T: crate::client::Client,
188{
189 pub fn apt(&self) -> apt::AptClient<T> {
190 apt::AptClient::<T>::new(self.client.clone(), &self.path)
191 }
192}
193impl<T> NodeClient<T>
194where
195 T: crate::client::Client,
196{
197 pub fn firewall(&self) -> firewall::FirewallClient<T> {
198 firewall::FirewallClient::<T>::new(self.client.clone(), &self.path)
199 }
200}
201impl<T> NodeClient<T>
202where
203 T: crate::client::Client,
204{
205 pub fn replication(&self) -> replication::ReplicationClient<T> {
206 replication::ReplicationClient::<T>::new(self.client.clone(), &self.path)
207 }
208}
209impl<T> NodeClient<T>
210where
211 T: crate::client::Client,
212{
213 pub fn certificates(&self) -> certificates::CertificatesClient<T> {
214 certificates::CertificatesClient::<T>::new(self.client.clone(), &self.path)
215 }
216}
217impl<T> NodeClient<T>
218where
219 T: crate::client::Client,
220{
221 pub fn config(&self) -> config::ConfigClient<T> {
222 config::ConfigClient::<T>::new(self.client.clone(), &self.path)
223 }
224}
225impl<T> NodeClient<T>
226where
227 T: crate::client::Client,
228{
229 pub fn sdn(&self) -> sdn::SdnClient<T> {
230 sdn::SdnClient::<T>::new(self.client.clone(), &self.path)
231 }
232}
233impl<T> NodeClient<T>
234where
235 T: crate::client::Client,
236{
237 pub fn version(&self) -> version::VersionClient<T> {
238 version::VersionClient::<T>::new(self.client.clone(), &self.path)
239 }
240}
241impl<T> NodeClient<T>
242where
243 T: crate::client::Client,
244{
245 pub fn status(&self) -> status::StatusClient<T> {
246 status::StatusClient::<T>::new(self.client.clone(), &self.path)
247 }
248}
249impl<T> NodeClient<T>
250where
251 T: crate::client::Client,
252{
253 pub fn netstat(&self) -> netstat::NetstatClient<T> {
254 netstat::NetstatClient::<T>::new(self.client.clone(), &self.path)
255 }
256}
257impl<T> NodeClient<T>
258where
259 T: crate::client::Client,
260{
261 pub fn execute(&self) -> execute::ExecuteClient<T> {
262 execute::ExecuteClient::<T>::new(self.client.clone(), &self.path)
263 }
264}
265impl<T> NodeClient<T>
266where
267 T: crate::client::Client,
268{
269 pub fn wakeonlan(&self) -> wakeonlan::WakeonlanClient<T> {
270 wakeonlan::WakeonlanClient::<T>::new(self.client.clone(), &self.path)
271 }
272}
273impl<T> NodeClient<T>
274where
275 T: crate::client::Client,
276{
277 pub fn rrd(&self) -> rrd::RrdClient<T> {
278 rrd::RrdClient::<T>::new(self.client.clone(), &self.path)
279 }
280}
281impl<T> NodeClient<T>
282where
283 T: crate::client::Client,
284{
285 pub fn rrddata(&self) -> rrddata::RrddataClient<T> {
286 rrddata::RrddataClient::<T>::new(self.client.clone(), &self.path)
287 }
288}
289impl<T> NodeClient<T>
290where
291 T: crate::client::Client,
292{
293 pub fn syslog(&self) -> syslog::SyslogClient<T> {
294 syslog::SyslogClient::<T>::new(self.client.clone(), &self.path)
295 }
296}
297impl<T> NodeClient<T>
298where
299 T: crate::client::Client,
300{
301 pub fn journal(&self) -> journal::JournalClient<T> {
302 journal::JournalClient::<T>::new(self.client.clone(), &self.path)
303 }
304}
305impl<T> NodeClient<T>
306where
307 T: crate::client::Client,
308{
309 pub fn vncshell(&self) -> vncshell::VncshellClient<T> {
310 vncshell::VncshellClient::<T>::new(self.client.clone(), &self.path)
311 }
312}
313impl<T> NodeClient<T>
314where
315 T: crate::client::Client,
316{
317 pub fn termproxy(&self) -> termproxy::TermproxyClient<T> {
318 termproxy::TermproxyClient::<T>::new(self.client.clone(), &self.path)
319 }
320}
321impl<T> NodeClient<T>
322where
323 T: crate::client::Client,
324{
325 pub fn vncwebsocket(&self) -> vncwebsocket::VncwebsocketClient<T> {
326 vncwebsocket::VncwebsocketClient::<T>::new(self.client.clone(), &self.path)
327 }
328}
329impl<T> NodeClient<T>
330where
331 T: crate::client::Client,
332{
333 pub fn spiceshell(&self) -> spiceshell::SpiceshellClient<T> {
334 spiceshell::SpiceshellClient::<T>::new(self.client.clone(), &self.path)
335 }
336}
337impl<T> NodeClient<T>
338where
339 T: crate::client::Client,
340{
341 pub fn dns(&self) -> dns::DnsClient<T> {
342 dns::DnsClient::<T>::new(self.client.clone(), &self.path)
343 }
344}
345impl<T> NodeClient<T>
346where
347 T: crate::client::Client,
348{
349 pub fn time(&self) -> time::TimeClient<T> {
350 time::TimeClient::<T>::new(self.client.clone(), &self.path)
351 }
352}
353impl<T> NodeClient<T>
354where
355 T: crate::client::Client,
356{
357 pub fn aplinfo(&self) -> aplinfo::AplinfoClient<T> {
358 aplinfo::AplinfoClient::<T>::new(self.client.clone(), &self.path)
359 }
360}
361impl<T> NodeClient<T>
362where
363 T: crate::client::Client,
364{
365 pub fn query_oci_repo_tags(&self) -> query_oci_repo_tags::QueryOciRepoTagsClient<T> {
366 query_oci_repo_tags::QueryOciRepoTagsClient::<T>::new(self.client.clone(), &self.path)
367 }
368}
369impl<T> NodeClient<T>
370where
371 T: crate::client::Client,
372{
373 pub fn query_url_metadata(&self) -> query_url_metadata::QueryUrlMetadataClient<T> {
374 query_url_metadata::QueryUrlMetadataClient::<T>::new(self.client.clone(), &self.path)
375 }
376}
377impl<T> NodeClient<T>
378where
379 T: crate::client::Client,
380{
381 pub fn report(&self) -> report::ReportClient<T> {
382 report::ReportClient::<T>::new(self.client.clone(), &self.path)
383 }
384}
385impl<T> NodeClient<T>
386where
387 T: crate::client::Client,
388{
389 pub fn startall(&self) -> startall::StartallClient<T> {
390 startall::StartallClient::<T>::new(self.client.clone(), &self.path)
391 }
392}
393impl<T> NodeClient<T>
394where
395 T: crate::client::Client,
396{
397 pub fn stopall(&self) -> stopall::StopallClient<T> {
398 stopall::StopallClient::<T>::new(self.client.clone(), &self.path)
399 }
400}
401impl<T> NodeClient<T>
402where
403 T: crate::client::Client,
404{
405 pub fn suspendall(&self) -> suspendall::SuspendallClient<T> {
406 suspendall::SuspendallClient::<T>::new(self.client.clone(), &self.path)
407 }
408}
409impl<T> NodeClient<T>
410where
411 T: crate::client::Client,
412{
413 pub fn migrateall(&self) -> migrateall::MigrateallClient<T> {
414 migrateall::MigrateallClient::<T>::new(self.client.clone(), &self.path)
415 }
416}
417impl<T> NodeClient<T>
418where
419 T: crate::client::Client,
420{
421 pub fn hosts(&self) -> hosts::HostsClient<T> {
422 hosts::HostsClient::<T>::new(self.client.clone(), &self.path)
423 }
424}