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