netbox_openapi/models/bulk_power_port_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/// BulkPowerPortRequest : Adds an `owner` field for models which have a ForeignKey to users.Owner.
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct BulkPowerPortRequest {
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 /// Physical label
29 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
30 pub label: Option<String>,
31 /// * `iec-60320-c6` - C6 * `iec-60320-c8` - C8 * `iec-60320-c14` - C14 * `iec-60320-c16` - C16 * `iec-60320-c18` - C18 * `iec-60320-c20` - C20 * `iec-60320-c22` - C22 * `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-15p` - NEMA 1-15P * `nema-5-15p` - NEMA 5-15P * `nema-5-20p` - NEMA 5-20P * `nema-5-30p` - NEMA 5-30P * `nema-5-50p` - NEMA 5-50P * `nema-6-15p` - NEMA 6-15P * `nema-6-20p` - NEMA 6-20P * `nema-6-30p` - NEMA 6-30P * `nema-6-50p` - NEMA 6-50P * `nema-10-30p` - NEMA 10-30P * `nema-10-50p` - NEMA 10-50P * `nema-14-20p` - NEMA 14-20P * `nema-14-30p` - NEMA 14-30P * `nema-14-50p` - NEMA 14-50P * `nema-14-60p` - NEMA 14-60P * `nema-15-15p` - NEMA 15-15P * `nema-15-20p` - NEMA 15-20P * `nema-15-30p` - NEMA 15-30P * `nema-15-50p` - NEMA 15-50P * `nema-15-60p` - NEMA 15-60P * `nema-l1-15p` - NEMA L1-15P * `nema-l5-15p` - NEMA L5-15P * `nema-l5-20p` - NEMA L5-20P * `nema-l5-30p` - NEMA L5-30P * `nema-l5-50p` - NEMA L5-50P * `nema-l6-15p` - NEMA L6-15P * `nema-l6-20p` - NEMA L6-20P * `nema-l6-30p` - NEMA L6-30P * `nema-l6-50p` - NEMA L6-50P * `nema-l10-30p` - NEMA L10-30P * `nema-l14-20p` - NEMA L14-20P * `nema-l14-30p` - NEMA L14-30P * `nema-l14-50p` - NEMA L14-50P * `nema-l14-60p` - NEMA L14-60P * `nema-l15-20p` - NEMA L15-20P * `nema-l15-30p` - NEMA L15-30P * `nema-l15-50p` - NEMA L15-50P * `nema-l15-60p` - NEMA L15-60P * `nema-l21-20p` - NEMA L21-20P * `nema-l21-30p` - NEMA L21-30P * `nema-l22-20p` - NEMA L22-20P * `nema-l22-30p` - NEMA L22-30P * `cs6361c` - CS6361C * `cs6365c` - CS6365C * `cs8165c` - CS8165C * `cs8265c` - CS8265C * `cs8365c` - CS8365C * `cs8465c` - CS8465C * `ita-c` - ITA Type C (CEE 7/16) * `ita-e` - ITA Type E (CEE 7/6) * `ita-f` - ITA Type F (CEE 7/4) * `ita-ef` - ITA Type E/F (CEE 7/7) * `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 * `usb-a` - USB Type A * `usb-b` - USB Type B * `usb-c` - USB Type C * `usb-mini-a` - USB Mini A * `usb-mini-b` - USB Mini B * `usb-micro-a` - USB Micro A * `usb-micro-b` - USB Micro B * `usb-micro-ab` - USB Micro AB * `usb-3-b` - USB 3.0 Type B * `usb-3-micro-b` - USB 3.0 Micro B * `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 * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20` - Neutrik powerCON (20A) * `neutrik-powercon-32` - 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
32 #[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 /// Maximum power draw (watts)
40 #[serde(
41 rename = "maximum_draw",
42 default,
43 with = "::serde_with::rust::double_option",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub maximum_draw: Option<Option<i32>>,
47 /// Allocated power draw (watts)
48 #[serde(
49 rename = "allocated_draw",
50 default,
51 with = "::serde_with::rust::double_option",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub allocated_draw: Option<Option<i32>>,
55 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
56 pub description: Option<String>,
57 /// Treat as if a cable is connected
58 #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
59 pub mark_connected: Option<bool>,
60 #[serde(
61 rename = "owner",
62 default,
63 with = "::serde_with::rust::double_option",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
67 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
68 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
69 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
70 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
71}
72
73impl BulkPowerPortRequest {
74 /// Adds an `owner` field for models which have a ForeignKey to users.Owner.
75 pub fn new(
76 id: i32,
77 device: crate::models::BriefInterfaceRequestDevice,
78 name: String,
79 ) -> BulkPowerPortRequest {
80 BulkPowerPortRequest {
81 id,
82 device: Box::new(device),
83 module: None,
84 name,
85 label: None,
86 r#type: None,
87 maximum_draw: None,
88 allocated_draw: None,
89 description: None,
90 mark_connected: None,
91 owner: None,
92 tags: None,
93 custom_fields: None,
94 }
95 }
96}
97
98/// * `iec-60320-c6` - C6 * `iec-60320-c8` - C8 * `iec-60320-c14` - C14 * `iec-60320-c16` - C16 * `iec-60320-c18` - C18 * `iec-60320-c20` - C20 * `iec-60320-c22` - C22 * `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-15p` - NEMA 1-15P * `nema-5-15p` - NEMA 5-15P * `nema-5-20p` - NEMA 5-20P * `nema-5-30p` - NEMA 5-30P * `nema-5-50p` - NEMA 5-50P * `nema-6-15p` - NEMA 6-15P * `nema-6-20p` - NEMA 6-20P * `nema-6-30p` - NEMA 6-30P * `nema-6-50p` - NEMA 6-50P * `nema-10-30p` - NEMA 10-30P * `nema-10-50p` - NEMA 10-50P * `nema-14-20p` - NEMA 14-20P * `nema-14-30p` - NEMA 14-30P * `nema-14-50p` - NEMA 14-50P * `nema-14-60p` - NEMA 14-60P * `nema-15-15p` - NEMA 15-15P * `nema-15-20p` - NEMA 15-20P * `nema-15-30p` - NEMA 15-30P * `nema-15-50p` - NEMA 15-50P * `nema-15-60p` - NEMA 15-60P * `nema-l1-15p` - NEMA L1-15P * `nema-l5-15p` - NEMA L5-15P * `nema-l5-20p` - NEMA L5-20P * `nema-l5-30p` - NEMA L5-30P * `nema-l5-50p` - NEMA L5-50P * `nema-l6-15p` - NEMA L6-15P * `nema-l6-20p` - NEMA L6-20P * `nema-l6-30p` - NEMA L6-30P * `nema-l6-50p` - NEMA L6-50P * `nema-l10-30p` - NEMA L10-30P * `nema-l14-20p` - NEMA L14-20P * `nema-l14-30p` - NEMA L14-30P * `nema-l14-50p` - NEMA L14-50P * `nema-l14-60p` - NEMA L14-60P * `nema-l15-20p` - NEMA L15-20P * `nema-l15-30p` - NEMA L15-30P * `nema-l15-50p` - NEMA L15-50P * `nema-l15-60p` - NEMA L15-60P * `nema-l21-20p` - NEMA L21-20P * `nema-l21-30p` - NEMA L21-30P * `nema-l22-20p` - NEMA L22-20P * `nema-l22-30p` - NEMA L22-30P * `cs6361c` - CS6361C * `cs6365c` - CS6365C * `cs8165c` - CS8165C * `cs8265c` - CS8265C * `cs8365c` - CS8365C * `cs8465c` - CS8465C * `ita-c` - ITA Type C (CEE 7/16) * `ita-e` - ITA Type E (CEE 7/6) * `ita-f` - ITA Type F (CEE 7/4) * `ita-ef` - ITA Type E/F (CEE 7/7) * `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 * `usb-a` - USB Type A * `usb-b` - USB Type B * `usb-c` - USB Type C * `usb-mini-a` - USB Mini A * `usb-mini-b` - USB Mini B * `usb-micro-a` - USB Micro A * `usb-micro-b` - USB Micro B * `usb-micro-ab` - USB Micro AB * `usb-3-b` - USB 3.0 Type B * `usb-3-micro-b` - USB 3.0 Micro B * `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 * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20` - Neutrik powerCON (20A) * `neutrik-powercon-32` - 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
99#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
100pub enum RHashType {
101 #[serde(rename = "iec-60320-c6")]
102 Iec60320C6,
103 #[serde(rename = "iec-60320-c8")]
104 Iec60320C8,
105 #[serde(rename = "iec-60320-c14")]
106 Iec60320C14,
107 #[serde(rename = "iec-60320-c16")]
108 Iec60320C16,
109 #[serde(rename = "iec-60320-c18")]
110 Iec60320C18,
111 #[serde(rename = "iec-60320-c20")]
112 Iec60320C20,
113 #[serde(rename = "iec-60320-c22")]
114 Iec60320C22,
115 #[serde(rename = "iec-60309-p-n-e-4h")]
116 Iec60309PNE4h,
117 #[serde(rename = "iec-60309-p-n-e-6h")]
118 Iec60309PNE6h,
119 #[serde(rename = "iec-60309-p-n-e-9h")]
120 Iec60309PNE9h,
121 #[serde(rename = "iec-60309-2p-e-4h")]
122 Iec603092pE4h,
123 #[serde(rename = "iec-60309-2p-e-6h")]
124 Iec603092pE6h,
125 #[serde(rename = "iec-60309-2p-e-9h")]
126 Iec603092pE9h,
127 #[serde(rename = "iec-60309-3p-e-4h")]
128 Iec603093pE4h,
129 #[serde(rename = "iec-60309-3p-e-6h")]
130 Iec603093pE6h,
131 #[serde(rename = "iec-60309-3p-e-9h")]
132 Iec603093pE9h,
133 #[serde(rename = "iec-60309-3p-n-e-4h")]
134 Iec603093pNE4h,
135 #[serde(rename = "iec-60309-3p-n-e-6h")]
136 Iec603093pNE6h,
137 #[serde(rename = "iec-60309-3p-n-e-9h")]
138 Iec603093pNE9h,
139 #[serde(rename = "iec-60906-1")]
140 Iec609061,
141 #[serde(rename = "nbr-14136-10a")]
142 Nbr1413610a,
143 #[serde(rename = "nbr-14136-20a")]
144 Nbr1413620a,
145 #[serde(rename = "nema-1-15p")]
146 Nema115p,
147 #[serde(rename = "nema-5-15p")]
148 Nema515p,
149 #[serde(rename = "nema-5-20p")]
150 Nema520p,
151 #[serde(rename = "nema-5-30p")]
152 Nema530p,
153 #[serde(rename = "nema-5-50p")]
154 Nema550p,
155 #[serde(rename = "nema-6-15p")]
156 Nema615p,
157 #[serde(rename = "nema-6-20p")]
158 Nema620p,
159 #[serde(rename = "nema-6-30p")]
160 Nema630p,
161 #[serde(rename = "nema-6-50p")]
162 Nema650p,
163 #[serde(rename = "nema-10-30p")]
164 Nema1030p,
165 #[serde(rename = "nema-10-50p")]
166 Nema1050p,
167 #[serde(rename = "nema-14-20p")]
168 Nema1420p,
169 #[serde(rename = "nema-14-30p")]
170 Nema1430p,
171 #[serde(rename = "nema-14-50p")]
172 Nema1450p,
173 #[serde(rename = "nema-14-60p")]
174 Nema1460p,
175 #[serde(rename = "nema-15-15p")]
176 Nema1515p,
177 #[serde(rename = "nema-15-20p")]
178 Nema1520p,
179 #[serde(rename = "nema-15-30p")]
180 Nema1530p,
181 #[serde(rename = "nema-15-50p")]
182 Nema1550p,
183 #[serde(rename = "nema-15-60p")]
184 Nema1560p,
185 #[serde(rename = "nema-l1-15p")]
186 NemaL115p,
187 #[serde(rename = "nema-l5-15p")]
188 NemaL515p,
189 #[serde(rename = "nema-l5-20p")]
190 NemaL520p,
191 #[serde(rename = "nema-l5-30p")]
192 NemaL530p,
193 #[serde(rename = "nema-l5-50p")]
194 NemaL550p,
195 #[serde(rename = "nema-l6-15p")]
196 NemaL615p,
197 #[serde(rename = "nema-l6-20p")]
198 NemaL620p,
199 #[serde(rename = "nema-l6-30p")]
200 NemaL630p,
201 #[serde(rename = "nema-l6-50p")]
202 NemaL650p,
203 #[serde(rename = "nema-l10-30p")]
204 NemaL1030p,
205 #[serde(rename = "nema-l14-20p")]
206 NemaL1420p,
207 #[serde(rename = "nema-l14-30p")]
208 NemaL1430p,
209 #[serde(rename = "nema-l14-50p")]
210 NemaL1450p,
211 #[serde(rename = "nema-l14-60p")]
212 NemaL1460p,
213 #[serde(rename = "nema-l15-20p")]
214 NemaL1520p,
215 #[serde(rename = "nema-l15-30p")]
216 NemaL1530p,
217 #[serde(rename = "nema-l15-50p")]
218 NemaL1550p,
219 #[serde(rename = "nema-l15-60p")]
220 NemaL1560p,
221 #[serde(rename = "nema-l21-20p")]
222 NemaL2120p,
223 #[serde(rename = "nema-l21-30p")]
224 NemaL2130p,
225 #[serde(rename = "nema-l22-20p")]
226 NemaL2220p,
227 #[serde(rename = "nema-l22-30p")]
228 NemaL2230p,
229 #[serde(rename = "cs6361c")]
230 Cs6361c,
231 #[serde(rename = "cs6365c")]
232 Cs6365c,
233 #[serde(rename = "cs8165c")]
234 Cs8165c,
235 #[serde(rename = "cs8265c")]
236 Cs8265c,
237 #[serde(rename = "cs8365c")]
238 Cs8365c,
239 #[serde(rename = "cs8465c")]
240 Cs8465c,
241 #[serde(rename = "ita-c")]
242 ItaC,
243 #[serde(rename = "ita-e")]
244 ItaE,
245 #[serde(rename = "ita-f")]
246 ItaF,
247 #[serde(rename = "ita-ef")]
248 ItaEf,
249 #[serde(rename = "ita-g")]
250 ItaG,
251 #[serde(rename = "ita-h")]
252 ItaH,
253 #[serde(rename = "ita-i")]
254 ItaI,
255 #[serde(rename = "ita-j")]
256 ItaJ,
257 #[serde(rename = "ita-k")]
258 ItaK,
259 #[serde(rename = "ita-l")]
260 ItaL,
261 #[serde(rename = "ita-m")]
262 ItaM,
263 #[serde(rename = "ita-n")]
264 ItaN,
265 #[serde(rename = "ita-o")]
266 ItaO,
267 #[serde(rename = "usb-a")]
268 UsbA,
269 #[serde(rename = "usb-b")]
270 UsbB,
271 #[serde(rename = "usb-c")]
272 UsbC,
273 #[serde(rename = "usb-mini-a")]
274 UsbMiniA,
275 #[serde(rename = "usb-mini-b")]
276 UsbMiniB,
277 #[serde(rename = "usb-micro-a")]
278 UsbMicroA,
279 #[serde(rename = "usb-micro-b")]
280 UsbMicroB,
281 #[serde(rename = "usb-micro-ab")]
282 UsbMicroAb,
283 #[serde(rename = "usb-3-b")]
284 Usb3B,
285 #[serde(rename = "usb-3-micro-b")]
286 Usb3MicroB,
287 #[serde(rename = "molex-micro-fit-1x2")]
288 MolexMicroFit1x2,
289 #[serde(rename = "molex-micro-fit-2x2")]
290 MolexMicroFit2x2,
291 #[serde(rename = "molex-micro-fit-2x3")]
292 MolexMicroFit2x3,
293 #[serde(rename = "molex-micro-fit-2x4")]
294 MolexMicroFit2x4,
295 #[serde(rename = "dc-terminal")]
296 DcTerminal,
297 #[serde(rename = "saf-d-grid")]
298 SafDGrid,
299 #[serde(rename = "neutrik-powercon-20")]
300 NeutrikPowercon20,
301 #[serde(rename = "neutrik-powercon-32")]
302 NeutrikPowercon32,
303 #[serde(rename = "neutrik-powercon-true1")]
304 NeutrikPowerconTrue1,
305 #[serde(rename = "neutrik-powercon-true1-top")]
306 NeutrikPowerconTrue1Top,
307 #[serde(rename = "ubiquiti-smartpower")]
308 UbiquitiSmartpower,
309 #[serde(rename = "hardwired")]
310 Hardwired,
311 #[serde(rename = "other")]
312 Other,
313 #[serde(rename = "")]
314 Empty,
315 #[serde(rename = "null")]
316 Null,
317}
318
319impl Default for RHashType {
320 fn default() -> RHashType {
321 Self::Iec60320C6
322 }
323}