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