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