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