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