Skip to main content

proxmox_api/generated/nodes/node/hardware/
usb.rs

1#[derive(Debug, Clone)]
2pub struct UsbClient<T> {
3    client: T,
4    path: String,
5}
6impl<T> UsbClient<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, "/usb"),
14        }
15    }
16}
17impl<T> UsbClient<T>
18where
19    T: crate::client::Client,
20{
21    #[doc = "List local USB devices."]
22    #[doc = ""]
23    #[doc = "Permission check: perm(\"/\", [\"Sys.Modify\"])"]
24    pub async fn get(&self) -> Result<Vec<GetOutputItems>, T::Error> {
25        let path = self.path.to_string();
26        let optional_vec: Option<Vec<GetOutputItems>> = self.client.get(&path, &()).await?;
27        Ok(optional_vec.unwrap_or_default())
28    }
29}
30impl GetOutputItems {
31    pub fn new(
32        busnum: i64,
33        class: i64,
34        devnum: i64,
35        level: i64,
36        port: i64,
37        prodid: String,
38        speed: String,
39        vendid: String,
40    ) -> Self {
41        Self {
42            busnum,
43            class,
44            devnum,
45            level,
46            port,
47            prodid,
48            speed,
49            vendid,
50            manufacturer: ::std::default::Default::default(),
51            product: ::std::default::Default::default(),
52            serial: ::std::default::Default::default(),
53            usbpath: ::std::default::Default::default(),
54            additional_properties: ::std::default::Default::default(),
55        }
56    }
57}
58#[derive(Clone, Debug, :: serde :: Serialize, :: serde :: Deserialize)]
59pub struct GetOutputItems {
60    #[serde(
61        serialize_with = "crate::types::serialize_int",
62        deserialize_with = "crate::types::deserialize_int"
63    )]
64    pub busnum: i64,
65    #[serde(
66        serialize_with = "crate::types::serialize_int",
67        deserialize_with = "crate::types::deserialize_int"
68    )]
69    pub class: i64,
70    #[serde(
71        serialize_with = "crate::types::serialize_int",
72        deserialize_with = "crate::types::deserialize_int"
73    )]
74    pub devnum: i64,
75    #[serde(
76        serialize_with = "crate::types::serialize_int",
77        deserialize_with = "crate::types::deserialize_int"
78    )]
79    pub level: i64,
80    #[serde(skip_serializing_if = "Option::is_none", default)]
81    pub manufacturer: Option<String>,
82    #[serde(
83        serialize_with = "crate::types::serialize_int",
84        deserialize_with = "crate::types::deserialize_int"
85    )]
86    pub port: i64,
87    pub prodid: String,
88    #[serde(skip_serializing_if = "Option::is_none", default)]
89    pub product: Option<String>,
90    #[serde(skip_serializing_if = "Option::is_none", default)]
91    pub serial: Option<String>,
92    pub speed: String,
93    #[serde(skip_serializing_if = "Option::is_none", default)]
94    pub usbpath: Option<String>,
95    pub vendid: String,
96    #[serde(
97        flatten,
98        default,
99        skip_serializing_if = "::std::collections::HashMap::is_empty"
100    )]
101    pub additional_properties: ::std::collections::HashMap<String, ::serde_json::Value>,
102}