proxmox_api/generated/nodes/node/disks/
list.rs

1pub struct ListClient<T> {
2    client: T,
3    path: String,
4}
5impl<T> ListClient<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, "/list"),
13        }
14    }
15}
16impl<T> ListClient<T>
17where
18    T: crate::client::Client,
19{
20    #[doc = "List local disks."]
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(
28        devpath: String,
29        gpt: bool,
30        mounted: bool,
31        osdid: u64,
32        osdid_list: Vec<u64>,
33        size: u64,
34    ) -> Self {
35        Self {
36            devpath,
37            gpt,
38            mounted,
39            osdid,
40            osdid_list,
41            size,
42            health: Default::default(),
43            model: Default::default(),
44            parent: Default::default(),
45            serial: Default::default(),
46            used: Default::default(),
47            vendor: Default::default(),
48            wwn: Default::default(),
49            additional_properties: Default::default(),
50        }
51    }
52}
53#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
54pub struct GetOutputItems {
55    #[doc = "The device path"]
56    pub devpath: String,
57    #[serde(
58        serialize_with = "crate::types::serialize_bool",
59        deserialize_with = "crate::types::deserialize_bool"
60    )]
61    pub gpt: bool,
62    #[serde(skip_serializing_if = "Option::is_none", default)]
63    pub health: Option<String>,
64    #[serde(skip_serializing_if = "Option::is_none", default)]
65    pub model: Option<String>,
66    #[serde(
67        serialize_with = "crate::types::serialize_bool",
68        deserialize_with = "crate::types::deserialize_bool"
69    )]
70    pub mounted: bool,
71    #[serde(
72        serialize_with = "crate::types::serialize_int",
73        deserialize_with = "crate::types::deserialize_int"
74    )]
75    pub osdid: u64,
76    #[serde(rename = "osdid-list")]
77    #[serde(skip_serializing_if = "::std::vec::Vec::is_empty", default)]
78    pub osdid_list: Vec<u64>,
79    #[serde(skip_serializing_if = "Option::is_none", default)]
80    #[doc = "For partitions only. The device path of the disk the partition resides on."]
81    pub parent: Option<String>,
82    #[serde(skip_serializing_if = "Option::is_none", default)]
83    pub serial: Option<String>,
84    #[serde(
85        serialize_with = "crate::types::serialize_int",
86        deserialize_with = "crate::types::deserialize_int"
87    )]
88    pub size: u64,
89    #[serde(skip_serializing_if = "Option::is_none", default)]
90    pub used: Option<String>,
91    #[serde(skip_serializing_if = "Option::is_none", default)]
92    pub vendor: Option<String>,
93    #[serde(skip_serializing_if = "Option::is_none", default)]
94    pub wwn: Option<String>,
95    #[serde(
96        flatten,
97        default,
98        skip_serializing_if = "::std::collections::HashMap::is_empty"
99    )]
100    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
101}
102#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
103pub struct GetParams {
104    #[serde(rename = "include-partitions")]
105    #[serde(
106        serialize_with = "crate::types::serialize_bool_optional",
107        deserialize_with = "crate::types::deserialize_bool_optional"
108    )]
109    #[serde(skip_serializing_if = "Option::is_none", default)]
110    #[doc = "Also include partitions."]
111    pub include_partitions: Option<bool>,
112    #[serde(
113        serialize_with = "crate::types::serialize_bool_optional",
114        deserialize_with = "crate::types::deserialize_bool_optional"
115    )]
116    #[serde(skip_serializing_if = "Option::is_none", default)]
117    #[doc = "Skip smart checks."]
118    pub skipsmart: Option<bool>,
119    #[serde(rename = "type")]
120    #[serde(skip_serializing_if = "Option::is_none", default)]
121    #[doc = "Only list specific types of disks."]
122    pub ty: Option<Type>,
123    #[serde(
124        flatten,
125        default,
126        skip_serializing_if = "::std::collections::HashMap::is_empty"
127    )]
128    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
129}
130#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
131pub enum Type {
132    #[serde(rename = "journal_disks")]
133    JournalDisks,
134    #[serde(rename = "unused")]
135    Unused,
136}