Skip to main content

proxmox_api/generated/nodes/
node.rs

1pub 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}