proxmox_api/generated/nodes/node/disks/
list.rs1#[derive(Debug, Clone)]
2pub struct ListClient<T> {
3 client: T,
4 path: String,
5}
6impl<T> ListClient<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, "/list"),
14 }
15 }
16}
17impl<T> ListClient<T>
18where
19 T: crate::client::Client,
20{
21 #[doc = "List local disks."]
22 #[doc = ""]
23 #[doc = "Permission check: or(perm(\"/\", [\"Sys.Audit\"]), perm(\"/nodes/{node}\", [\"Sys.Audit\"]))"]
24 pub async fn get(&self, params: GetParams) -> Result<Vec<GetOutputItems>, T::Error> {
25 let path = self.path.to_string();
26 let optional_vec: Option<Vec<GetOutputItems>> = self.client.get(&path, ¶ms).await?;
27 Ok(optional_vec.unwrap_or_default())
28 }
29}
30impl GetOutputItems {
31 pub fn new(
32 devpath: String,
33 gpt: bool,
34 mounted: bool,
35 osdid: i64,
36 osdid_list: Vec<i64>,
37 size: i64,
38 ) -> Self {
39 Self {
40 devpath,
41 gpt,
42 mounted,
43 osdid,
44 osdid_list,
45 size,
46 health: ::std::default::Default::default(),
47 model: ::std::default::Default::default(),
48 parent: ::std::default::Default::default(),
49 serial: ::std::default::Default::default(),
50 used: ::std::default::Default::default(),
51 vendor: ::std::default::Default::default(),
52 wwn: ::std::default::Default::default(),
53 additional_properties: ::std::default::Default::default(),
54 }
55 }
56}
57#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
58pub struct GetOutputItems {
59 #[doc = "The device path"]
60 #[doc = ""]
61 pub devpath: String,
62 #[serde(
63 serialize_with = "crate::types::serialize_bool",
64 deserialize_with = "crate::types::deserialize_bool"
65 )]
66 pub gpt: bool,
67 #[serde(skip_serializing_if = "Option::is_none", default)]
68 pub health: Option<String>,
69 #[serde(skip_serializing_if = "Option::is_none", default)]
70 pub model: Option<String>,
71 #[serde(
72 serialize_with = "crate::types::serialize_bool",
73 deserialize_with = "crate::types::deserialize_bool"
74 )]
75 pub mounted: bool,
76 #[serde(
77 serialize_with = "crate::types::serialize_int",
78 deserialize_with = "crate::types::deserialize_int"
79 )]
80 pub osdid: i64,
81 #[serde(rename = "osdid-list")]
82 #[serde(skip_serializing_if = "::std::vec::Vec::is_empty", default)]
83 pub osdid_list: Vec<i64>,
84 #[serde(skip_serializing_if = "Option::is_none", default)]
85 #[doc = "For partitions only. The device path of the disk the partition resides on."]
86 #[doc = ""]
87 pub parent: Option<String>,
88 #[serde(skip_serializing_if = "Option::is_none", default)]
89 pub serial: Option<String>,
90 #[serde(
91 serialize_with = "crate::types::serialize_int",
92 deserialize_with = "crate::types::deserialize_int"
93 )]
94 pub size: i64,
95 #[serde(skip_serializing_if = "Option::is_none", default)]
96 pub used: Option<String>,
97 #[serde(skip_serializing_if = "Option::is_none", default)]
98 pub vendor: Option<String>,
99 #[serde(skip_serializing_if = "Option::is_none", default)]
100 pub wwn: Option<String>,
101 #[serde(
102 flatten,
103 default,
104 skip_serializing_if = "::std::collections::HashMap::is_empty"
105 )]
106 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
107}
108#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, Default)]
109pub struct GetParams {
110 #[serde(rename = "include-partitions")]
111 #[serde(
112 serialize_with = "crate::types::serialize_bool_optional",
113 deserialize_with = "crate::types::deserialize_bool_optional"
114 )]
115 #[serde(skip_serializing_if = "Option::is_none", default)]
116 #[doc = "Also include partitions."]
117 #[doc = ""]
118 pub include_partitions: Option<bool>,
119 #[serde(
120 serialize_with = "crate::types::serialize_bool_optional",
121 deserialize_with = "crate::types::deserialize_bool_optional"
122 )]
123 #[serde(skip_serializing_if = "Option::is_none", default)]
124 #[doc = "Skip smart checks."]
125 #[doc = ""]
126 pub skipsmart: Option<bool>,
127 #[serde(rename = "type")]
128 #[serde(skip_serializing_if = "Option::is_none", default)]
129 #[doc = "Only list specific types of disks."]
130 #[doc = ""]
131 pub ty: Option<Type>,
132 #[serde(
133 flatten,
134 default,
135 skip_serializing_if = "::std::collections::HashMap::is_empty"
136 )]
137 pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
138}
139#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize, PartialEq)]
140#[doc = "Only list specific types of disks."]
141#[doc = ""]
142pub enum Type {
143 #[serde(rename = "journal_disks")]
144 JournalDisks,
145 #[serde(rename = "unused")]
146 Unused,
147}
148impl TryFrom<&str> for Type {
149 type Error = String;
150 fn try_from(value: &str) -> Result<Self, <Self as TryFrom<&str>>::Error> {
151 match value {
152 "journal_disks" => Ok(Self::JournalDisks),
153 "unused" => Ok(Self::Unused),
154 v => Err(format!("Unknown variant {v}")),
155 }
156 }
157}