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