proxmox_api/generated/nodes/node/lxc/
vmid.rs1pub mod clone;
2pub mod config;
3pub mod feature;
4pub mod firewall;
5pub mod interfaces;
6pub mod migrate;
7pub mod move_volume;
8pub mod mtunnel;
9pub mod mtunnelwebsocket;
10pub mod pending;
11pub mod remote_migrate;
12pub mod resize;
13pub mod rrd;
14pub mod rrddata;
15pub mod snapshot;
16pub mod spiceproxy;
17pub mod status;
18pub mod template;
19pub mod termproxy;
20pub mod vncproxy;
21pub mod vncwebsocket;
22pub struct VmidClient<T> {
23 client: T,
24 path: String,
25}
26impl<T> VmidClient<T>
27where
28 T: crate::client::Client,
29{
30 pub fn new(client: T, parent_path: &str, vmid: crate::types::VmId) -> Self {
31 Self {
32 client,
33 path: format!("{}/{}", parent_path, vmid),
34 }
35 }
36}
37impl<T> VmidClient<T>
38where
39 T: crate::client::Client,
40{
41 #[doc = "Destroy the container (also delete all uses files)."]
42 pub fn delete(&self, params: DeleteParams) -> Result<String, T::Error> {
43 let path = self.path.to_string();
44 self.client.delete(&path, ¶ms)
45 }
46}
47impl<T> VmidClient<T>
48where
49 T: crate::client::Client,
50{
51 #[doc = "Directory index"]
52 pub fn get(&self) -> Result<Vec<GetOutputItems>, T::Error> {
53 let path = self.path.to_string();
54 self.client.get(&path, &())
55 }
56}
57#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
58pub struct DeleteParams {
59 #[serde(rename = "destroy-unreferenced-disks")]
60 #[serde(
61 serialize_with = "crate::types::serialize_bool_optional",
62 deserialize_with = "crate::types::deserialize_bool_optional"
63 )]
64 #[serde(skip_serializing_if = "Option::is_none", default)]
65 #[doc = "If set, destroy additionally all disks with the VMID from all enabled storages which are not referenced in the config."]
66 pub destroy_unreferenced_disks: Option<bool>,
67 #[serde(
68 serialize_with = "crate::types::serialize_bool_optional",
69 deserialize_with = "crate::types::deserialize_bool_optional"
70 )]
71 #[serde(skip_serializing_if = "Option::is_none", default)]
72 #[doc = "Force destroy, even if running."]
73 pub force: Option<bool>,
74 #[serde(
75 serialize_with = "crate::types::serialize_bool_optional",
76 deserialize_with = "crate::types::deserialize_bool_optional"
77 )]
78 #[serde(skip_serializing_if = "Option::is_none", default)]
79 #[doc = "Remove container from all related configurations. For example, backup jobs, replication jobs or HA. Related ACLs and Firewall entries will *always* be removed."]
80 pub purge: Option<bool>,
81 #[serde(
82 flatten,
83 default,
84 skip_serializing_if = "::std::collections::HashMap::is_empty"
85 )]
86 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
87}
88impl GetOutputItems {
89 pub fn new(subdir: String) -> Self {
90 Self {
91 subdir,
92 additional_properties: Default::default(),
93 }
94 }
95}
96#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
97pub struct GetOutputItems {
98 pub subdir: String,
99 #[serde(
100 flatten,
101 default,
102 skip_serializing_if = "::std::collections::HashMap::is_empty"
103 )]
104 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
105}
106impl<T> VmidClient<T>
107where
108 T: crate::client::Client,
109{
110 pub fn config(&self) -> config::ConfigClient<T> {
111 config::ConfigClient::<T>::new(self.client.clone(), &self.path)
112 }
113}
114impl<T> VmidClient<T>
115where
116 T: crate::client::Client,
117{
118 pub fn status(&self) -> status::StatusClient<T> {
119 status::StatusClient::<T>::new(self.client.clone(), &self.path)
120 }
121}
122impl<T> VmidClient<T>
123where
124 T: crate::client::Client,
125{
126 pub fn snapshot(&self) -> snapshot::SnapshotClient<T> {
127 snapshot::SnapshotClient::<T>::new(self.client.clone(), &self.path)
128 }
129}
130impl<T> VmidClient<T>
131where
132 T: crate::client::Client,
133{
134 pub fn firewall(&self) -> firewall::FirewallClient<T> {
135 firewall::FirewallClient::<T>::new(self.client.clone(), &self.path)
136 }
137}
138impl<T> VmidClient<T>
139where
140 T: crate::client::Client,
141{
142 pub fn rrd(&self) -> rrd::RrdClient<T> {
143 rrd::RrdClient::<T>::new(self.client.clone(), &self.path)
144 }
145}
146impl<T> VmidClient<T>
147where
148 T: crate::client::Client,
149{
150 pub fn rrddata(&self) -> rrddata::RrddataClient<T> {
151 rrddata::RrddataClient::<T>::new(self.client.clone(), &self.path)
152 }
153}
154impl<T> VmidClient<T>
155where
156 T: crate::client::Client,
157{
158 pub fn vncproxy(&self) -> vncproxy::VncproxyClient<T> {
159 vncproxy::VncproxyClient::<T>::new(self.client.clone(), &self.path)
160 }
161}
162impl<T> VmidClient<T>
163where
164 T: crate::client::Client,
165{
166 pub fn termproxy(&self) -> termproxy::TermproxyClient<T> {
167 termproxy::TermproxyClient::<T>::new(self.client.clone(), &self.path)
168 }
169}
170impl<T> VmidClient<T>
171where
172 T: crate::client::Client,
173{
174 pub fn vncwebsocket(&self) -> vncwebsocket::VncwebsocketClient<T> {
175 vncwebsocket::VncwebsocketClient::<T>::new(self.client.clone(), &self.path)
176 }
177}
178impl<T> VmidClient<T>
179where
180 T: crate::client::Client,
181{
182 pub fn spiceproxy(&self) -> spiceproxy::SpiceproxyClient<T> {
183 spiceproxy::SpiceproxyClient::<T>::new(self.client.clone(), &self.path)
184 }
185}
186impl<T> VmidClient<T>
187where
188 T: crate::client::Client,
189{
190 pub fn remote_migrate(&self) -> remote_migrate::RemoteMigrateClient<T> {
191 remote_migrate::RemoteMigrateClient::<T>::new(self.client.clone(), &self.path)
192 }
193}
194impl<T> VmidClient<T>
195where
196 T: crate::client::Client,
197{
198 pub fn migrate(&self) -> migrate::MigrateClient<T> {
199 migrate::MigrateClient::<T>::new(self.client.clone(), &self.path)
200 }
201}
202impl<T> VmidClient<T>
203where
204 T: crate::client::Client,
205{
206 pub fn feature(&self) -> feature::FeatureClient<T> {
207 feature::FeatureClient::<T>::new(self.client.clone(), &self.path)
208 }
209}
210impl<T> VmidClient<T>
211where
212 T: crate::client::Client,
213{
214 pub fn template(&self) -> template::TemplateClient<T> {
215 template::TemplateClient::<T>::new(self.client.clone(), &self.path)
216 }
217}
218impl<T> VmidClient<T>
219where
220 T: crate::client::Client,
221{
222 pub fn clone(&self) -> clone::CloneClient<T> {
223 clone::CloneClient::<T>::new(self.client.clone(), &self.path)
224 }
225}
226impl<T> VmidClient<T>
227where
228 T: crate::client::Client,
229{
230 pub fn resize(&self) -> resize::ResizeClient<T> {
231 resize::ResizeClient::<T>::new(self.client.clone(), &self.path)
232 }
233}
234impl<T> VmidClient<T>
235where
236 T: crate::client::Client,
237{
238 pub fn move_volume(&self) -> move_volume::MoveVolumeClient<T> {
239 move_volume::MoveVolumeClient::<T>::new(self.client.clone(), &self.path)
240 }
241}
242impl<T> VmidClient<T>
243where
244 T: crate::client::Client,
245{
246 pub fn pending(&self) -> pending::PendingClient<T> {
247 pending::PendingClient::<T>::new(self.client.clone(), &self.path)
248 }
249}
250impl<T> VmidClient<T>
251where
252 T: crate::client::Client,
253{
254 pub fn interfaces(&self) -> interfaces::InterfacesClient<T> {
255 interfaces::InterfacesClient::<T>::new(self.client.clone(), &self.path)
256 }
257}
258impl<T> VmidClient<T>
259where
260 T: crate::client::Client,
261{
262 pub fn mtunnel(&self) -> mtunnel::MtunnelClient<T> {
263 mtunnel::MtunnelClient::<T>::new(self.client.clone(), &self.path)
264 }
265}
266impl<T> VmidClient<T>
267where
268 T: crate::client::Client,
269{
270 pub fn mtunnelwebsocket(&self) -> mtunnelwebsocket::MtunnelwebsocketClient<T> {
271 mtunnelwebsocket::MtunnelwebsocketClient::<T>::new(self.client.clone(), &self.path)
272 }
273}