netbox_openapi/models/power_outlet_template_request.rs
1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.6.8 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// PowerOutletTemplateRequest : Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PowerOutletTemplateRequest {
15 #[serde(
16 rename = "device_type",
17 default,
18 with = "::serde_with::rust::double_option",
19 skip_serializing_if = "Option::is_none"
20 )]
21 pub device_type: Option<Option<Box<crate::models::BulkConsolePortTemplateRequestDeviceType>>>,
22 #[serde(
23 rename = "module_type",
24 default,
25 with = "::serde_with::rust::double_option",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub module_type: Option<Option<Box<crate::models::BulkConsolePortTemplateRequestModuleType>>>,
29 /// {module} is accepted as a substitution for the module bay position when attached to a module type.
30 #[serde(rename = "name")]
31 pub name: String,
32 /// Physical label
33 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34 pub label: Option<String>,
35 /// * `iec-60320-c5` - C5 * `iec-60320-c7` - C7 * `iec-60320-c13` - C13 * `iec-60320-c15` - C15 * `iec-60320-c17` - C17 * `iec-60320-c19` - C19 * `iec-60320-c21` - C21 * `iec-60309-p-n-e-4h` - P+N+E 4H * `iec-60309-p-n-e-6h` - P+N+E 6H * `iec-60309-p-n-e-9h` - P+N+E 9H * `iec-60309-2p-e-4h` - 2P+E 4H * `iec-60309-2p-e-6h` - 2P+E 6H * `iec-60309-2p-e-9h` - 2P+E 9H * `iec-60309-3p-e-4h` - 3P+E 4H * `iec-60309-3p-e-6h` - 3P+E 6H * `iec-60309-3p-e-9h` - 3P+E 9H * `iec-60309-3p-n-e-4h` - 3P+N+E 4H * `iec-60309-3p-n-e-6h` - 3P+N+E 6H * `iec-60309-3p-n-e-9h` - 3P+N+E 9H * `iec-60906-1` - IEC 60906-1 * `nbr-14136-10a` - 2P+T 10A (NBR 14136) * `nbr-14136-20a` - 2P+T 20A (NBR 14136) * `nema-1-15r` - NEMA 1-15R * `nema-5-15r` - NEMA 5-15R * `nema-5-20r` - NEMA 5-20R * `nema-5-30r` - NEMA 5-30R * `nema-5-50r` - NEMA 5-50R * `nema-6-15r` - NEMA 6-15R * `nema-6-20r` - NEMA 6-20R * `nema-6-30r` - NEMA 6-30R * `nema-6-50r` - NEMA 6-50R * `nema-10-30r` - NEMA 10-30R * `nema-10-50r` - NEMA 10-50R * `nema-14-20r` - NEMA 14-20R * `nema-14-30r` - NEMA 14-30R * `nema-14-50r` - NEMA 14-50R * `nema-14-60r` - NEMA 14-60R * `nema-15-15r` - NEMA 15-15R * `nema-15-20r` - NEMA 15-20R * `nema-15-30r` - NEMA 15-30R * `nema-15-50r` - NEMA 15-50R * `nema-15-60r` - NEMA 15-60R * `nema-l1-15r` - NEMA L1-15R * `nema-l5-15r` - NEMA L5-15R * `nema-l5-20r` - NEMA L5-20R * `nema-l5-30r` - NEMA L5-30R * `nema-l5-50r` - NEMA L5-50R * `nema-l6-15r` - NEMA L6-15R * `nema-l6-20r` - NEMA L6-20R * `nema-l6-30r` - NEMA L6-30R * `nema-l6-50r` - NEMA L6-50R * `nema-l10-30r` - NEMA L10-30R * `nema-l14-20r` - NEMA L14-20R * `nema-l14-30r` - NEMA L14-30R * `nema-l14-50r` - NEMA L14-50R * `nema-l14-60r` - NEMA L14-60R * `nema-l15-20r` - NEMA L15-20R * `nema-l15-30r` - NEMA L15-30R * `nema-l15-50r` - NEMA L15-50R * `nema-l15-60r` - NEMA L15-60R * `nema-l21-20r` - NEMA L21-20R * `nema-l21-30r` - NEMA L21-30R * `nema-l22-20r` - NEMA L22-20R * `nema-l22-30r` - NEMA L22-30R * `CS6360C` - CS6360C * `CS6364C` - CS6364C * `CS8164C` - CS8164C * `CS8264C` - CS8264C * `CS8364C` - CS8364C * `CS8464C` - CS8464C * `ita-e` - ITA Type E (CEE 7/5) * `ita-f` - ITA Type F (CEE 7/3) * `ita-g` - ITA Type G (BS 1363) * `ita-h` - ITA Type H * `ita-i` - ITA Type I * `ita-j` - ITA Type J * `ita-k` - ITA Type K * `ita-l` - ITA Type L (CEI 23-50) * `ita-m` - ITA Type M (BS 546) * `ita-n` - ITA Type N * `ita-o` - ITA Type O * `ita-multistandard` - ITA Multistandard * `usb-a` - USB Type A * `usb-micro-b` - USB Micro B * `usb-c` - USB Type C * `molex-micro-fit-1x2` - Molex Micro-Fit 1x2 * `molex-micro-fit-2x2` - Molex Micro-Fit 2x2 * `molex-micro-fit-2x3` - Molex Micro-Fit 2x3 * `molex-micro-fit-2x4` - Molex Micro-Fit 2x4 * `dc-terminal` - DC Terminal * `eaton-c39` - Eaton C39 * `hdot-cx` - HDOT Cx * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20a` - Neutrik powerCON (20A) * `neutrik-powercon-32a` - Neutrik powerCON (32A) * `neutrik-powercon-true1` - Neutrik powerCON TRUE1 * `neutrik-powercon-true1-top` - Neutrik powerCON TRUE1 TOP * `ubiquiti-smartpower` - Ubiquiti SmartPower * `hardwired` - Hardwired * `other` - Other
36 #[serde(
37 rename = "type",
38 default,
39 with = "::serde_with::rust::double_option",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub r#type: Option<Option<RHashType>>,
43 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
44 pub color: Option<Box<crate::models::BulkCableRequestColor>>,
45 #[serde(
46 rename = "power_port",
47 default,
48 with = "::serde_with::rust::double_option",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub power_port: Option<Option<Box<crate::models::BulkPowerOutletTemplateRequestPowerPort>>>,
52 /// * `A` - A * `B` - B * `C` - C
53 #[serde(
54 rename = "feed_leg",
55 default,
56 with = "::serde_with::rust::double_option",
57 skip_serializing_if = "Option::is_none"
58 )]
59 pub feed_leg: Option<Option<FeedLeg>>,
60 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
61 pub description: Option<String>,
62}
63
64impl PowerOutletTemplateRequest {
65 /// Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during validation. (DRF does not do this by default; see <https://github.com/encode/django-rest-framework/issues/3144>)
66 pub fn new(name: String) -> PowerOutletTemplateRequest {
67 PowerOutletTemplateRequest {
68 device_type: None,
69 module_type: None,
70 name,
71 label: None,
72 r#type: None,
73 color: None,
74 power_port: None,
75 feed_leg: None,
76 description: None,
77 }
78 }
79}
80
81/// * `iec-60320-c5` - C5 * `iec-60320-c7` - C7 * `iec-60320-c13` - C13 * `iec-60320-c15` - C15 * `iec-60320-c17` - C17 * `iec-60320-c19` - C19 * `iec-60320-c21` - C21 * `iec-60309-p-n-e-4h` - P+N+E 4H * `iec-60309-p-n-e-6h` - P+N+E 6H * `iec-60309-p-n-e-9h` - P+N+E 9H * `iec-60309-2p-e-4h` - 2P+E 4H * `iec-60309-2p-e-6h` - 2P+E 6H * `iec-60309-2p-e-9h` - 2P+E 9H * `iec-60309-3p-e-4h` - 3P+E 4H * `iec-60309-3p-e-6h` - 3P+E 6H * `iec-60309-3p-e-9h` - 3P+E 9H * `iec-60309-3p-n-e-4h` - 3P+N+E 4H * `iec-60309-3p-n-e-6h` - 3P+N+E 6H * `iec-60309-3p-n-e-9h` - 3P+N+E 9H * `iec-60906-1` - IEC 60906-1 * `nbr-14136-10a` - 2P+T 10A (NBR 14136) * `nbr-14136-20a` - 2P+T 20A (NBR 14136) * `nema-1-15r` - NEMA 1-15R * `nema-5-15r` - NEMA 5-15R * `nema-5-20r` - NEMA 5-20R * `nema-5-30r` - NEMA 5-30R * `nema-5-50r` - NEMA 5-50R * `nema-6-15r` - NEMA 6-15R * `nema-6-20r` - NEMA 6-20R * `nema-6-30r` - NEMA 6-30R * `nema-6-50r` - NEMA 6-50R * `nema-10-30r` - NEMA 10-30R * `nema-10-50r` - NEMA 10-50R * `nema-14-20r` - NEMA 14-20R * `nema-14-30r` - NEMA 14-30R * `nema-14-50r` - NEMA 14-50R * `nema-14-60r` - NEMA 14-60R * `nema-15-15r` - NEMA 15-15R * `nema-15-20r` - NEMA 15-20R * `nema-15-30r` - NEMA 15-30R * `nema-15-50r` - NEMA 15-50R * `nema-15-60r` - NEMA 15-60R * `nema-l1-15r` - NEMA L1-15R * `nema-l5-15r` - NEMA L5-15R * `nema-l5-20r` - NEMA L5-20R * `nema-l5-30r` - NEMA L5-30R * `nema-l5-50r` - NEMA L5-50R * `nema-l6-15r` - NEMA L6-15R * `nema-l6-20r` - NEMA L6-20R * `nema-l6-30r` - NEMA L6-30R * `nema-l6-50r` - NEMA L6-50R * `nema-l10-30r` - NEMA L10-30R * `nema-l14-20r` - NEMA L14-20R * `nema-l14-30r` - NEMA L14-30R * `nema-l14-50r` - NEMA L14-50R * `nema-l14-60r` - NEMA L14-60R * `nema-l15-20r` - NEMA L15-20R * `nema-l15-30r` - NEMA L15-30R * `nema-l15-50r` - NEMA L15-50R * `nema-l15-60r` - NEMA L15-60R * `nema-l21-20r` - NEMA L21-20R * `nema-l21-30r` - NEMA L21-30R * `nema-l22-20r` - NEMA L22-20R * `nema-l22-30r` - NEMA L22-30R * `CS6360C` - CS6360C * `CS6364C` - CS6364C * `CS8164C` - CS8164C * `CS8264C` - CS8264C * `CS8364C` - CS8364C * `CS8464C` - CS8464C * `ita-e` - ITA Type E (CEE 7/5) * `ita-f` - ITA Type F (CEE 7/3) * `ita-g` - ITA Type G (BS 1363) * `ita-h` - ITA Type H * `ita-i` - ITA Type I * `ita-j` - ITA Type J * `ita-k` - ITA Type K * `ita-l` - ITA Type L (CEI 23-50) * `ita-m` - ITA Type M (BS 546) * `ita-n` - ITA Type N * `ita-o` - ITA Type O * `ita-multistandard` - ITA Multistandard * `usb-a` - USB Type A * `usb-micro-b` - USB Micro B * `usb-c` - USB Type C * `molex-micro-fit-1x2` - Molex Micro-Fit 1x2 * `molex-micro-fit-2x2` - Molex Micro-Fit 2x2 * `molex-micro-fit-2x3` - Molex Micro-Fit 2x3 * `molex-micro-fit-2x4` - Molex Micro-Fit 2x4 * `dc-terminal` - DC Terminal * `eaton-c39` - Eaton C39 * `hdot-cx` - HDOT Cx * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20a` - Neutrik powerCON (20A) * `neutrik-powercon-32a` - Neutrik powerCON (32A) * `neutrik-powercon-true1` - Neutrik powerCON TRUE1 * `neutrik-powercon-true1-top` - Neutrik powerCON TRUE1 TOP * `ubiquiti-smartpower` - Ubiquiti SmartPower * `hardwired` - Hardwired * `other` - Other
82#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
83pub enum RHashType {
84 #[serde(rename = "iec-60320-c5")]
85 Iec60320C5,
86 #[serde(rename = "iec-60320-c7")]
87 Iec60320C7,
88 #[serde(rename = "iec-60320-c13")]
89 Iec60320C13,
90 #[serde(rename = "iec-60320-c15")]
91 Iec60320C15,
92 #[serde(rename = "iec-60320-c17")]
93 Iec60320C17,
94 #[serde(rename = "iec-60320-c19")]
95 Iec60320C19,
96 #[serde(rename = "iec-60320-c21")]
97 Iec60320C21,
98 #[serde(rename = "iec-60309-p-n-e-4h")]
99 Iec60309PNE4h,
100 #[serde(rename = "iec-60309-p-n-e-6h")]
101 Iec60309PNE6h,
102 #[serde(rename = "iec-60309-p-n-e-9h")]
103 Iec60309PNE9h,
104 #[serde(rename = "iec-60309-2p-e-4h")]
105 Iec603092pE4h,
106 #[serde(rename = "iec-60309-2p-e-6h")]
107 Iec603092pE6h,
108 #[serde(rename = "iec-60309-2p-e-9h")]
109 Iec603092pE9h,
110 #[serde(rename = "iec-60309-3p-e-4h")]
111 Iec603093pE4h,
112 #[serde(rename = "iec-60309-3p-e-6h")]
113 Iec603093pE6h,
114 #[serde(rename = "iec-60309-3p-e-9h")]
115 Iec603093pE9h,
116 #[serde(rename = "iec-60309-3p-n-e-4h")]
117 Iec603093pNE4h,
118 #[serde(rename = "iec-60309-3p-n-e-6h")]
119 Iec603093pNE6h,
120 #[serde(rename = "iec-60309-3p-n-e-9h")]
121 Iec603093pNE9h,
122 #[serde(rename = "iec-60906-1")]
123 Iec609061,
124 #[serde(rename = "nbr-14136-10a")]
125 Nbr1413610a,
126 #[serde(rename = "nbr-14136-20a")]
127 Nbr1413620a,
128 #[serde(rename = "nema-1-15r")]
129 Nema115r,
130 #[serde(rename = "nema-5-15r")]
131 Nema515r,
132 #[serde(rename = "nema-5-20r")]
133 Nema520r,
134 #[serde(rename = "nema-5-30r")]
135 Nema530r,
136 #[serde(rename = "nema-5-50r")]
137 Nema550r,
138 #[serde(rename = "nema-6-15r")]
139 Nema615r,
140 #[serde(rename = "nema-6-20r")]
141 Nema620r,
142 #[serde(rename = "nema-6-30r")]
143 Nema630r,
144 #[serde(rename = "nema-6-50r")]
145 Nema650r,
146 #[serde(rename = "nema-10-30r")]
147 Nema1030r,
148 #[serde(rename = "nema-10-50r")]
149 Nema1050r,
150 #[serde(rename = "nema-14-20r")]
151 Nema1420r,
152 #[serde(rename = "nema-14-30r")]
153 Nema1430r,
154 #[serde(rename = "nema-14-50r")]
155 Nema1450r,
156 #[serde(rename = "nema-14-60r")]
157 Nema1460r,
158 #[serde(rename = "nema-15-15r")]
159 Nema1515r,
160 #[serde(rename = "nema-15-20r")]
161 Nema1520r,
162 #[serde(rename = "nema-15-30r")]
163 Nema1530r,
164 #[serde(rename = "nema-15-50r")]
165 Nema1550r,
166 #[serde(rename = "nema-15-60r")]
167 Nema1560r,
168 #[serde(rename = "nema-l1-15r")]
169 NemaL115r,
170 #[serde(rename = "nema-l5-15r")]
171 NemaL515r,
172 #[serde(rename = "nema-l5-20r")]
173 NemaL520r,
174 #[serde(rename = "nema-l5-30r")]
175 NemaL530r,
176 #[serde(rename = "nema-l5-50r")]
177 NemaL550r,
178 #[serde(rename = "nema-l6-15r")]
179 NemaL615r,
180 #[serde(rename = "nema-l6-20r")]
181 NemaL620r,
182 #[serde(rename = "nema-l6-30r")]
183 NemaL630r,
184 #[serde(rename = "nema-l6-50r")]
185 NemaL650r,
186 #[serde(rename = "nema-l10-30r")]
187 NemaL1030r,
188 #[serde(rename = "nema-l14-20r")]
189 NemaL1420r,
190 #[serde(rename = "nema-l14-30r")]
191 NemaL1430r,
192 #[serde(rename = "nema-l14-50r")]
193 NemaL1450r,
194 #[serde(rename = "nema-l14-60r")]
195 NemaL1460r,
196 #[serde(rename = "nema-l15-20r")]
197 NemaL1520r,
198 #[serde(rename = "nema-l15-30r")]
199 NemaL1530r,
200 #[serde(rename = "nema-l15-50r")]
201 NemaL1550r,
202 #[serde(rename = "nema-l15-60r")]
203 NemaL1560r,
204 #[serde(rename = "nema-l21-20r")]
205 NemaL2120r,
206 #[serde(rename = "nema-l21-30r")]
207 NemaL2130r,
208 #[serde(rename = "nema-l22-20r")]
209 NemaL2220r,
210 #[serde(rename = "nema-l22-30r")]
211 NemaL2230r,
212 #[serde(rename = "CS6360C")]
213 Cs6360C,
214 #[serde(rename = "CS6364C")]
215 Cs6364C,
216 #[serde(rename = "CS8164C")]
217 Cs8164C,
218 #[serde(rename = "CS8264C")]
219 Cs8264C,
220 #[serde(rename = "CS8364C")]
221 Cs8364C,
222 #[serde(rename = "CS8464C")]
223 Cs8464C,
224 #[serde(rename = "ita-e")]
225 ItaE,
226 #[serde(rename = "ita-f")]
227 ItaF,
228 #[serde(rename = "ita-g")]
229 ItaG,
230 #[serde(rename = "ita-h")]
231 ItaH,
232 #[serde(rename = "ita-i")]
233 ItaI,
234 #[serde(rename = "ita-j")]
235 ItaJ,
236 #[serde(rename = "ita-k")]
237 ItaK,
238 #[serde(rename = "ita-l")]
239 ItaL,
240 #[serde(rename = "ita-m")]
241 ItaM,
242 #[serde(rename = "ita-n")]
243 ItaN,
244 #[serde(rename = "ita-o")]
245 ItaO,
246 #[serde(rename = "ita-multistandard")]
247 ItaMultistandard,
248 #[serde(rename = "usb-a")]
249 UsbA,
250 #[serde(rename = "usb-micro-b")]
251 UsbMicroB,
252 #[serde(rename = "usb-c")]
253 UsbC,
254 #[serde(rename = "molex-micro-fit-1x2")]
255 MolexMicroFit1x2,
256 #[serde(rename = "molex-micro-fit-2x2")]
257 MolexMicroFit2x2,
258 #[serde(rename = "molex-micro-fit-2x3")]
259 MolexMicroFit2x3,
260 #[serde(rename = "molex-micro-fit-2x4")]
261 MolexMicroFit2x4,
262 #[serde(rename = "dc-terminal")]
263 DcTerminal,
264 #[serde(rename = "eaton-c39")]
265 EatonC39,
266 #[serde(rename = "hdot-cx")]
267 HdotCx,
268 #[serde(rename = "saf-d-grid")]
269 SafDGrid,
270 #[serde(rename = "neutrik-powercon-20a")]
271 NeutrikPowercon20a,
272 #[serde(rename = "neutrik-powercon-32a")]
273 NeutrikPowercon32a,
274 #[serde(rename = "neutrik-powercon-true1")]
275 NeutrikPowerconTrue1,
276 #[serde(rename = "neutrik-powercon-true1-top")]
277 NeutrikPowerconTrue1Top,
278 #[serde(rename = "ubiquiti-smartpower")]
279 UbiquitiSmartpower,
280 #[serde(rename = "hardwired")]
281 Hardwired,
282 #[serde(rename = "other")]
283 Other,
284 #[serde(rename = "")]
285 Empty,
286 #[serde(rename = "null")]
287 Null,
288}
289
290impl Default for RHashType {
291 fn default() -> RHashType {
292 Self::Iec60320C5
293 }
294}
295/// * `A` - A * `B` - B * `C` - C
296#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
297pub enum FeedLeg {
298 #[serde(rename = "A")]
299 A,
300 #[serde(rename = "B")]
301 B,
302 #[serde(rename = "C")]
303 C,
304 #[serde(rename = "")]
305 Empty,
306 #[serde(rename = "null")]
307 Null,
308}
309
310impl Default for FeedLeg {
311 fn default() -> FeedLeg {
312 Self::A
313 }
314}