1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct FrontPortRequest {
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(rename = "type")]
31 pub r#type: RHashType,
32 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
33 pub color: Option<String>,
34 #[serde(rename = "rear_port")]
35 pub rear_port: Box<crate::models::FrontPortRearPortRequest>,
36 #[serde(rename = "rear_port_position", skip_serializing_if = "Option::is_none")]
38 pub rear_port_position: Option<i32>,
39 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
40 pub description: Option<String>,
41 #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
43 pub mark_connected: Option<bool>,
44 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
45 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
46 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
47 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
48}
49
50impl FrontPortRequest {
51 pub fn new(
53 device: crate::models::BriefInterfaceRequestDevice,
54 name: String,
55 r#type: RHashType,
56 rear_port: crate::models::FrontPortRearPortRequest,
57 ) -> FrontPortRequest {
58 FrontPortRequest {
59 device: Box::new(device),
60 module: None,
61 name,
62 label: None,
63 r#type,
64 color: None,
65 rear_port: Box::new(rear_port),
66 rear_port_position: None,
67 description: None,
68 mark_connected: None,
69 tags: None,
70 custom_fields: None,
71 }
72 }
73}
74
75#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
77pub enum RHashType {
78 #[serde(rename = "8p8c")]
79 Variant8p8c,
80 #[serde(rename = "8p6c")]
81 Variant8p6c,
82 #[serde(rename = "8p4c")]
83 Variant8p4c,
84 #[serde(rename = "8p2c")]
85 Variant8p2c,
86 #[serde(rename = "6p6c")]
87 Variant6p6c,
88 #[serde(rename = "6p4c")]
89 Variant6p4c,
90 #[serde(rename = "6p2c")]
91 Variant6p2c,
92 #[serde(rename = "4p4c")]
93 Variant4p4c,
94 #[serde(rename = "4p2c")]
95 Variant4p2c,
96 #[serde(rename = "gg45")]
97 Gg45,
98 #[serde(rename = "tera-4p")]
99 Tera4p,
100 #[serde(rename = "tera-2p")]
101 Tera2p,
102 #[serde(rename = "tera-1p")]
103 Tera1p,
104 #[serde(rename = "110-punch")]
105 Variant110Punch,
106 #[serde(rename = "bnc")]
107 Bnc,
108 #[serde(rename = "f")]
109 F,
110 #[serde(rename = "n")]
111 N,
112 #[serde(rename = "mrj21")]
113 Mrj21,
114 #[serde(rename = "fc")]
115 Fc,
116 #[serde(rename = "fc-pc")]
117 FcPc,
118 #[serde(rename = "fc-upc")]
119 FcUpc,
120 #[serde(rename = "fc-apc")]
121 FcApc,
122 #[serde(rename = "lc")]
123 Lc,
124 #[serde(rename = "lc-pc")]
125 LcPc,
126 #[serde(rename = "lc-upc")]
127 LcUpc,
128 #[serde(rename = "lc-apc")]
129 LcApc,
130 #[serde(rename = "lsh")]
131 Lsh,
132 #[serde(rename = "lsh-pc")]
133 LshPc,
134 #[serde(rename = "lsh-upc")]
135 LshUpc,
136 #[serde(rename = "lsh-apc")]
137 LshApc,
138 #[serde(rename = "lx5")]
139 Lx5,
140 #[serde(rename = "lx5-pc")]
141 Lx5Pc,
142 #[serde(rename = "lx5-upc")]
143 Lx5Upc,
144 #[serde(rename = "lx5-apc")]
145 Lx5Apc,
146 #[serde(rename = "mpo")]
147 Mpo,
148 #[serde(rename = "mtrj")]
149 Mtrj,
150 #[serde(rename = "sc")]
151 Sc,
152 #[serde(rename = "sc-pc")]
153 ScPc,
154 #[serde(rename = "sc-upc")]
155 ScUpc,
156 #[serde(rename = "sc-apc")]
157 ScApc,
158 #[serde(rename = "st")]
159 St,
160 #[serde(rename = "cs")]
161 Cs,
162 #[serde(rename = "sn")]
163 Sn,
164 #[serde(rename = "sma-905")]
165 Sma905,
166 #[serde(rename = "sma-906")]
167 Sma906,
168 #[serde(rename = "urm-p2")]
169 UrmP2,
170 #[serde(rename = "urm-p4")]
171 UrmP4,
172 #[serde(rename = "urm-p8")]
173 UrmP8,
174 #[serde(rename = "splice")]
175 Splice,
176 #[serde(rename = "usb-a")]
177 UsbA,
178 #[serde(rename = "usb-b")]
179 UsbB,
180 #[serde(rename = "usb-c")]
181 UsbC,
182 #[serde(rename = "usb-mini-a")]
183 UsbMiniA,
184 #[serde(rename = "usb-mini-b")]
185 UsbMiniB,
186 #[serde(rename = "usb-micro-a")]
187 UsbMicroA,
188 #[serde(rename = "usb-micro-b")]
189 UsbMicroB,
190 #[serde(rename = "usb-micro-ab")]
191 UsbMicroAb,
192 #[serde(rename = "other")]
193 Other,
194}
195
196impl Default for RHashType {
197 fn default() -> RHashType {
198 Self::Variant8p8c
199 }
200}