Skip to main content

proxmox_api/generated/nodes/node/qemu/vmid/cloudinit/
dump.rs

1#[derive(Debug, Clone)]
2pub struct DumpClient<T> {
3    client: T,
4    path: String,
5}
6impl<T> DumpClient<T>
7where
8    T: crate::client::Client,
9{
10    pub fn new(client: T, parent_path: &str) -> Self {
11        Self {
12            client,
13            path: format!("{}{}", parent_path, "/dump"),
14        }
15    }
16}
17impl<T> DumpClient<T>
18where
19    T: crate::client::Client,
20{
21    #[doc = "Get automatically generated cloudinit config."]
22    #[doc = ""]
23    #[doc = "Permission check: perm(\"/vms/{vmid}\", [\"VM.Audit\"])"]
24    pub async fn get(&self, params: GetParams) -> Result<String, T::Error> {
25        let path = self.path.to_string();
26        self.client.get(&path, &params).await
27    }
28}
29impl GetParams {
30    pub fn new(ty: Type) -> Self {
31        Self {
32            ty,
33            additional_properties: ::std::default::Default::default(),
34        }
35    }
36}
37#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
38pub struct GetParams {
39    #[serde(rename = "type")]
40    #[doc = "Config type."]
41    #[doc = ""]
42    pub ty: Type,
43    #[serde(
44        flatten,
45        default,
46        skip_serializing_if = "::std::collections::HashMap::is_empty"
47    )]
48    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
49}
50#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
51#[doc = "Config type."]
52#[doc = ""]
53pub enum Type {
54    #[serde(rename = "meta")]
55    Meta,
56    #[serde(rename = "network")]
57    Network,
58    #[serde(rename = "user")]
59    User,
60}
61impl TryFrom<&str> for Type {
62    type Error = String;
63    fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
64        match value {
65            "meta" => Ok(Self::Meta),
66            "network" => Ok(Self::Network),
67            "user" => Ok(Self::User),
68            v => Err(format!("Unknown variant {v}")),
69        }
70    }
71}