1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BulkPowerOutletRequest {
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(
33 rename = "type",
34 default,
35 with = "::serde_with::rust::double_option",
36 skip_serializing_if = "Option::is_none"
37 )]
38 pub r#type: Option<Option<RHashType>>,
39 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
41 pub status: Option<Status>,
42 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
43 pub color: Option<Box<crate::models::BulkCableRequestColor>>,
44 #[serde(
45 rename = "power_port",
46 default,
47 with = "::serde_with::rust::double_option",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub power_port: Option<Option<Box<crate::models::BulkPowerOutletRequestPowerPort>>>,
51 #[serde(
53 rename = "feed_leg",
54 default,
55 with = "::serde_with::rust::double_option",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub feed_leg: Option<Option<FeedLeg>>,
59 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
60 pub description: Option<String>,
61 #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
63 pub mark_connected: Option<bool>,
64 #[serde(
65 rename = "owner",
66 default,
67 with = "::serde_with::rust::double_option",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
71 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
72 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
73 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
74 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
75}
76
77impl BulkPowerOutletRequest {
78 pub fn new(
80 id: i32,
81 device: crate::models::BriefInterfaceRequestDevice,
82 name: String,
83 ) -> BulkPowerOutletRequest {
84 BulkPowerOutletRequest {
85 id,
86 device: Box::new(device),
87 module: None,
88 name,
89 label: None,
90 r#type: None,
91 status: None,
92 color: None,
93 power_port: None,
94 feed_leg: None,
95 description: None,
96 mark_connected: None,
97 owner: None,
98 tags: None,
99 custom_fields: None,
100 }
101 }
102}
103
104#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
106pub enum RHashType {
107 #[serde(rename = "iec-60320-c5")]
108 Iec60320C5,
109 #[serde(rename = "iec-60320-c7")]
110 Iec60320C7,
111 #[serde(rename = "iec-60320-c13")]
112 Iec60320C13,
113 #[serde(rename = "iec-60320-c15")]
114 Iec60320C15,
115 #[serde(rename = "iec-60320-c17")]
116 Iec60320C17,
117 #[serde(rename = "iec-60320-c19")]
118 Iec60320C19,
119 #[serde(rename = "iec-60320-c21")]
120 Iec60320C21,
121 #[serde(rename = "iec-60309-p-n-e-4h")]
122 Iec60309PNE4h,
123 #[serde(rename = "iec-60309-p-n-e-6h")]
124 Iec60309PNE6h,
125 #[serde(rename = "iec-60309-p-n-e-9h")]
126 Iec60309PNE9h,
127 #[serde(rename = "iec-60309-2p-e-4h")]
128 Iec603092pE4h,
129 #[serde(rename = "iec-60309-2p-e-6h")]
130 Iec603092pE6h,
131 #[serde(rename = "iec-60309-2p-e-9h")]
132 Iec603092pE9h,
133 #[serde(rename = "iec-60309-3p-e-4h")]
134 Iec603093pE4h,
135 #[serde(rename = "iec-60309-3p-e-6h")]
136 Iec603093pE6h,
137 #[serde(rename = "iec-60309-3p-e-9h")]
138 Iec603093pE9h,
139 #[serde(rename = "iec-60309-3p-n-e-4h")]
140 Iec603093pNE4h,
141 #[serde(rename = "iec-60309-3p-n-e-6h")]
142 Iec603093pNE6h,
143 #[serde(rename = "iec-60309-3p-n-e-9h")]
144 Iec603093pNE9h,
145 #[serde(rename = "iec-60906-1")]
146 Iec609061,
147 #[serde(rename = "nbr-14136-10a")]
148 Nbr1413610a,
149 #[serde(rename = "nbr-14136-20a")]
150 Nbr1413620a,
151 #[serde(rename = "nema-1-15r")]
152 Nema115r,
153 #[serde(rename = "nema-5-15r")]
154 Nema515r,
155 #[serde(rename = "nema-5-20r")]
156 Nema520r,
157 #[serde(rename = "nema-5-30r")]
158 Nema530r,
159 #[serde(rename = "nema-5-50r")]
160 Nema550r,
161 #[serde(rename = "nema-6-15r")]
162 Nema615r,
163 #[serde(rename = "nema-6-20r")]
164 Nema620r,
165 #[serde(rename = "nema-6-30r")]
166 Nema630r,
167 #[serde(rename = "nema-6-50r")]
168 Nema650r,
169 #[serde(rename = "nema-10-30r")]
170 Nema1030r,
171 #[serde(rename = "nema-10-50r")]
172 Nema1050r,
173 #[serde(rename = "nema-14-20r")]
174 Nema1420r,
175 #[serde(rename = "nema-14-30r")]
176 Nema1430r,
177 #[serde(rename = "nema-14-50r")]
178 Nema1450r,
179 #[serde(rename = "nema-14-60r")]
180 Nema1460r,
181 #[serde(rename = "nema-15-15r")]
182 Nema1515r,
183 #[serde(rename = "nema-15-20r")]
184 Nema1520r,
185 #[serde(rename = "nema-15-30r")]
186 Nema1530r,
187 #[serde(rename = "nema-15-50r")]
188 Nema1550r,
189 #[serde(rename = "nema-15-60r")]
190 Nema1560r,
191 #[serde(rename = "nema-l1-15r")]
192 NemaL115r,
193 #[serde(rename = "nema-l5-15r")]
194 NemaL515r,
195 #[serde(rename = "nema-l5-20r")]
196 NemaL520r,
197 #[serde(rename = "nema-l5-30r")]
198 NemaL530r,
199 #[serde(rename = "nema-l5-50r")]
200 NemaL550r,
201 #[serde(rename = "nema-l6-15r")]
202 NemaL615r,
203 #[serde(rename = "nema-l6-20r")]
204 NemaL620r,
205 #[serde(rename = "nema-l6-30r")]
206 NemaL630r,
207 #[serde(rename = "nema-l6-50r")]
208 NemaL650r,
209 #[serde(rename = "nema-l10-30r")]
210 NemaL1030r,
211 #[serde(rename = "nema-l14-20r")]
212 NemaL1420r,
213 #[serde(rename = "nema-l14-30r")]
214 NemaL1430r,
215 #[serde(rename = "nema-l14-50r")]
216 NemaL1450r,
217 #[serde(rename = "nema-l14-60r")]
218 NemaL1460r,
219 #[serde(rename = "nema-l15-20r")]
220 NemaL1520r,
221 #[serde(rename = "nema-l15-30r")]
222 NemaL1530r,
223 #[serde(rename = "nema-l15-50r")]
224 NemaL1550r,
225 #[serde(rename = "nema-l15-60r")]
226 NemaL1560r,
227 #[serde(rename = "nema-l21-20r")]
228 NemaL2120r,
229 #[serde(rename = "nema-l21-30r")]
230 NemaL2130r,
231 #[serde(rename = "nema-l22-20r")]
232 NemaL2220r,
233 #[serde(rename = "nema-l22-30r")]
234 NemaL2230r,
235 #[serde(rename = "CS6360C")]
236 Cs6360C,
237 #[serde(rename = "CS6364C")]
238 Cs6364C,
239 #[serde(rename = "CS8164C")]
240 Cs8164C,
241 #[serde(rename = "CS8264C")]
242 Cs8264C,
243 #[serde(rename = "CS8364C")]
244 Cs8364C,
245 #[serde(rename = "CS8464C")]
246 Cs8464C,
247 #[serde(rename = "ita-e")]
248 ItaE,
249 #[serde(rename = "ita-f")]
250 ItaF,
251 #[serde(rename = "ita-g")]
252 ItaG,
253 #[serde(rename = "ita-h")]
254 ItaH,
255 #[serde(rename = "ita-i")]
256 ItaI,
257 #[serde(rename = "ita-j")]
258 ItaJ,
259 #[serde(rename = "ita-k")]
260 ItaK,
261 #[serde(rename = "ita-l")]
262 ItaL,
263 #[serde(rename = "ita-m")]
264 ItaM,
265 #[serde(rename = "ita-n")]
266 ItaN,
267 #[serde(rename = "ita-o")]
268 ItaO,
269 #[serde(rename = "ita-multistandard")]
270 ItaMultistandard,
271 #[serde(rename = "usb-a")]
272 UsbA,
273 #[serde(rename = "usb-micro-b")]
274 UsbMicroB,
275 #[serde(rename = "usb-c")]
276 UsbC,
277 #[serde(rename = "molex-micro-fit-1x2")]
278 MolexMicroFit1x2,
279 #[serde(rename = "molex-micro-fit-2x2")]
280 MolexMicroFit2x2,
281 #[serde(rename = "molex-micro-fit-2x3")]
282 MolexMicroFit2x3,
283 #[serde(rename = "molex-micro-fit-2x4")]
284 MolexMicroFit2x4,
285 #[serde(rename = "dc-terminal")]
286 DcTerminal,
287 #[serde(rename = "eaton-c39")]
288 EatonC39,
289 #[serde(rename = "hdot-cx")]
290 HdotCx,
291 #[serde(rename = "saf-d-grid")]
292 SafDGrid,
293 #[serde(rename = "neutrik-powercon-20a")]
294 NeutrikPowercon20a,
295 #[serde(rename = "neutrik-powercon-32a")]
296 NeutrikPowercon32a,
297 #[serde(rename = "neutrik-powercon-true1")]
298 NeutrikPowerconTrue1,
299 #[serde(rename = "neutrik-powercon-true1-top")]
300 NeutrikPowerconTrue1Top,
301 #[serde(rename = "ubiquiti-smartpower")]
302 UbiquitiSmartpower,
303 #[serde(rename = "hardwired")]
304 Hardwired,
305 #[serde(rename = "other")]
306 Other,
307 #[serde(rename = "")]
308 Empty,
309 #[serde(rename = "null")]
310 Null,
311}
312
313impl Default for RHashType {
314 fn default() -> RHashType {
315 Self::Iec60320C5
316 }
317}
318#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
320pub enum Status {
321 #[serde(rename = "enabled")]
322 Enabled,
323 #[serde(rename = "disabled")]
324 Disabled,
325 #[serde(rename = "faulty")]
326 Faulty,
327}
328
329impl Default for Status {
330 fn default() -> Status {
331 Self::Enabled
332 }
333}
334#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
336pub enum FeedLeg {
337 #[serde(rename = "A")]
338 A,
339 #[serde(rename = "B")]
340 B,
341 #[serde(rename = "C")]
342 C,
343 #[serde(rename = "")]
344 Empty,
345 #[serde(rename = "null")]
346 Null,
347}
348
349impl Default for FeedLeg {
350 fn default() -> FeedLeg {
351 Self::A
352 }
353}