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