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