1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct WritableConsolePortRequest {
15 #[serde(rename = "device")]
16 pub device: Box<crate::models::BriefInterfaceRequestDevice>,
17 #[serde(
18 rename = "module",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub module: Option<Option<Box<crate::models::ConsolePortRequestModule>>>,
24 #[serde(rename = "name")]
25 pub name: String,
26 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
28 pub label: Option<String>,
29 #[serde(
31 rename = "type",
32 default,
33 with = "::serde_with::rust::double_option",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub r#type: Option<Option<RHashType>>,
37 #[serde(
39 rename = "speed",
40 default,
41 with = "::serde_with::rust::double_option",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub speed: Option<Option<Speed>>,
45 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
46 pub description: Option<String>,
47 #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
49 pub mark_connected: Option<bool>,
50 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
51 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
52 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
53 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
54}
55
56impl WritableConsolePortRequest {
57 pub fn new(
59 device: crate::models::BriefInterfaceRequestDevice,
60 name: String,
61 ) -> WritableConsolePortRequest {
62 WritableConsolePortRequest {
63 device: Box::new(device),
64 module: None,
65 name,
66 label: None,
67 r#type: None,
68 speed: None,
69 description: None,
70 mark_connected: None,
71 tags: None,
72 custom_fields: None,
73 }
74 }
75}
76
77#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
79pub enum RHashType {
80 #[serde(rename = "de-9")]
81 De9,
82 #[serde(rename = "db-25")]
83 Db25,
84 #[serde(rename = "rj-11")]
85 Rj11,
86 #[serde(rename = "rj-12")]
87 Rj12,
88 #[serde(rename = "rj-45")]
89 Rj45,
90 #[serde(rename = "mini-din-8")]
91 MiniDin8,
92 #[serde(rename = "usb-a")]
93 UsbA,
94 #[serde(rename = "usb-b")]
95 UsbB,
96 #[serde(rename = "usb-c")]
97 UsbC,
98 #[serde(rename = "usb-mini-a")]
99 UsbMiniA,
100 #[serde(rename = "usb-mini-b")]
101 UsbMiniB,
102 #[serde(rename = "usb-micro-a")]
103 UsbMicroA,
104 #[serde(rename = "usb-micro-b")]
105 UsbMicroB,
106 #[serde(rename = "usb-micro-ab")]
107 UsbMicroAb,
108 #[serde(rename = "other")]
109 Other,
110 #[serde(rename = "")]
111 Empty,
112 #[serde(rename = "null")]
113 Null,
114}
115
116impl Default for RHashType {
117 fn default() -> RHashType {
118 Self::De9
119 }
120}
121#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
123pub enum Speed {
124 #[serde(rename = "1200")]
125 Variant1200,
126 #[serde(rename = "2400")]
127 Variant2400,
128 #[serde(rename = "4800")]
129 Variant4800,
130 #[serde(rename = "9600")]
131 Variant9600,
132 #[serde(rename = "19200")]
133 Variant19200,
134 #[serde(rename = "38400")]
135 Variant38400,
136 #[serde(rename = "57600")]
137 Variant57600,
138 #[serde(rename = "115200")]
139 Variant115200,
140 #[serde(rename = "null")]
141 Null,
142}
143
144impl Default for Speed {
145 fn default() -> Speed {
146 Self::Variant1200
147 }
148}