netbox_openapi/models/
power_port_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.4.2-Docker-3.4.1 (4.4)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11/// PowerPortTemplateRequest : 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 PowerPortTemplateRequest {
15    #[serde(
16        rename = "device_type",
17        default,
18        with = "::serde_with::rust::double_option",
19        skip_serializing_if = "Option::is_none"
20    )]
21    pub device_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestDeviceType>>>,
22    #[serde(
23        rename = "module_type",
24        default,
25        with = "::serde_with::rust::double_option",
26        skip_serializing_if = "Option::is_none"
27    )]
28    pub module_type: Option<Option<Box<crate::models::ConsolePortTemplateRequestModuleType>>>,
29    /// {module} is accepted as a substitution for the module bay position when attached to a module type.
30    #[serde(rename = "name")]
31    pub name: String,
32    /// Physical label
33    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34    pub label: Option<String>,
35    /// * `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-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
36    #[serde(
37        rename = "type",
38        default,
39        with = "::serde_with::rust::double_option",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub r#type: Option<Option<RHashType>>,
43    /// Maximum power draw (watts)
44    #[serde(
45        rename = "maximum_draw",
46        default,
47        with = "::serde_with::rust::double_option",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub maximum_draw: Option<Option<i32>>,
51    /// Allocated power draw (watts)
52    #[serde(
53        rename = "allocated_draw",
54        default,
55        with = "::serde_with::rust::double_option",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub allocated_draw: Option<Option<i32>>,
59    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
60    pub description: Option<String>,
61}
62
63impl PowerPortTemplateRequest {
64    /// 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>)
65    pub fn new(name: String) -> PowerPortTemplateRequest {
66        PowerPortTemplateRequest {
67            device_type: None,
68            module_type: None,
69            name,
70            label: None,
71            r#type: None,
72            maximum_draw: None,
73            allocated_draw: None,
74            description: None,
75        }
76    }
77}
78
79/// * `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-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
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
81pub enum RHashType {
82    #[serde(rename = "iec-60320-c6")]
83    Iec60320C6,
84    #[serde(rename = "iec-60320-c8")]
85    Iec60320C8,
86    #[serde(rename = "iec-60320-c14")]
87    Iec60320C14,
88    #[serde(rename = "iec-60320-c16")]
89    Iec60320C16,
90    #[serde(rename = "iec-60320-c18")]
91    Iec60320C18,
92    #[serde(rename = "iec-60320-c20")]
93    Iec60320C20,
94    #[serde(rename = "iec-60320-c22")]
95    Iec60320C22,
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-15p")]
127    Nema115p,
128    #[serde(rename = "nema-5-15p")]
129    Nema515p,
130    #[serde(rename = "nema-5-20p")]
131    Nema520p,
132    #[serde(rename = "nema-5-30p")]
133    Nema530p,
134    #[serde(rename = "nema-5-50p")]
135    Nema550p,
136    #[serde(rename = "nema-6-15p")]
137    Nema615p,
138    #[serde(rename = "nema-6-20p")]
139    Nema620p,
140    #[serde(rename = "nema-6-30p")]
141    Nema630p,
142    #[serde(rename = "nema-6-50p")]
143    Nema650p,
144    #[serde(rename = "nema-10-30p")]
145    Nema1030p,
146    #[serde(rename = "nema-10-50p")]
147    Nema1050p,
148    #[serde(rename = "nema-14-20p")]
149    Nema1420p,
150    #[serde(rename = "nema-14-30p")]
151    Nema1430p,
152    #[serde(rename = "nema-14-50p")]
153    Nema1450p,
154    #[serde(rename = "nema-14-60p")]
155    Nema1460p,
156    #[serde(rename = "nema-15-15p")]
157    Nema1515p,
158    #[serde(rename = "nema-15-20p")]
159    Nema1520p,
160    #[serde(rename = "nema-15-30p")]
161    Nema1530p,
162    #[serde(rename = "nema-15-50p")]
163    Nema1550p,
164    #[serde(rename = "nema-15-60p")]
165    Nema1560p,
166    #[serde(rename = "nema-l1-15p")]
167    NemaL115p,
168    #[serde(rename = "nema-l5-15p")]
169    NemaL515p,
170    #[serde(rename = "nema-l5-20p")]
171    NemaL520p,
172    #[serde(rename = "nema-l5-30p")]
173    NemaL530p,
174    #[serde(rename = "nema-l5-50p")]
175    NemaL550p,
176    #[serde(rename = "nema-l6-15p")]
177    NemaL615p,
178    #[serde(rename = "nema-l6-20p")]
179    NemaL620p,
180    #[serde(rename = "nema-l6-30p")]
181    NemaL630p,
182    #[serde(rename = "nema-l6-50p")]
183    NemaL650p,
184    #[serde(rename = "nema-l10-30p")]
185    NemaL1030p,
186    #[serde(rename = "nema-l14-20p")]
187    NemaL1420p,
188    #[serde(rename = "nema-l14-30p")]
189    NemaL1430p,
190    #[serde(rename = "nema-l14-50p")]
191    NemaL1450p,
192    #[serde(rename = "nema-l14-60p")]
193    NemaL1460p,
194    #[serde(rename = "nema-l15-20p")]
195    NemaL1520p,
196    #[serde(rename = "nema-l15-30p")]
197    NemaL1530p,
198    #[serde(rename = "nema-l15-50p")]
199    NemaL1550p,
200    #[serde(rename = "nema-l15-60p")]
201    NemaL1560p,
202    #[serde(rename = "nema-l21-20p")]
203    NemaL2120p,
204    #[serde(rename = "nema-l21-30p")]
205    NemaL2130p,
206    #[serde(rename = "nema-l22-20p")]
207    NemaL2220p,
208    #[serde(rename = "nema-l22-30p")]
209    NemaL2230p,
210    #[serde(rename = "cs6361c")]
211    Cs6361c,
212    #[serde(rename = "cs6365c")]
213    Cs6365c,
214    #[serde(rename = "cs8165c")]
215    Cs8165c,
216    #[serde(rename = "cs8265c")]
217    Cs8265c,
218    #[serde(rename = "cs8365c")]
219    Cs8365c,
220    #[serde(rename = "cs8465c")]
221    Cs8465c,
222    #[serde(rename = "ita-c")]
223    ItaC,
224    #[serde(rename = "ita-e")]
225    ItaE,
226    #[serde(rename = "ita-f")]
227    ItaF,
228    #[serde(rename = "ita-ef")]
229    ItaEf,
230    #[serde(rename = "ita-g")]
231    ItaG,
232    #[serde(rename = "ita-h")]
233    ItaH,
234    #[serde(rename = "ita-i")]
235    ItaI,
236    #[serde(rename = "ita-j")]
237    ItaJ,
238    #[serde(rename = "ita-k")]
239    ItaK,
240    #[serde(rename = "ita-l")]
241    ItaL,
242    #[serde(rename = "ita-m")]
243    ItaM,
244    #[serde(rename = "ita-n")]
245    ItaN,
246    #[serde(rename = "ita-o")]
247    ItaO,
248    #[serde(rename = "usb-a")]
249    UsbA,
250    #[serde(rename = "usb-b")]
251    UsbB,
252    #[serde(rename = "usb-c")]
253    UsbC,
254    #[serde(rename = "usb-mini-a")]
255    UsbMiniA,
256    #[serde(rename = "usb-mini-b")]
257    UsbMiniB,
258    #[serde(rename = "usb-micro-a")]
259    UsbMicroA,
260    #[serde(rename = "usb-micro-b")]
261    UsbMicroB,
262    #[serde(rename = "usb-micro-ab")]
263    UsbMicroAb,
264    #[serde(rename = "usb-3-b")]
265    Usb3B,
266    #[serde(rename = "usb-3-micro-b")]
267    Usb3MicroB,
268    #[serde(rename = "molex-micro-fit-1x2")]
269    MolexMicroFit1x2,
270    #[serde(rename = "molex-micro-fit-2x2")]
271    MolexMicroFit2x2,
272    #[serde(rename = "molex-micro-fit-2x4")]
273    MolexMicroFit2x4,
274    #[serde(rename = "dc-terminal")]
275    DcTerminal,
276    #[serde(rename = "saf-d-grid")]
277    SafDGrid,
278    #[serde(rename = "neutrik-powercon-20")]
279    NeutrikPowercon20,
280    #[serde(rename = "neutrik-powercon-32")]
281    NeutrikPowercon32,
282    #[serde(rename = "neutrik-powercon-true1")]
283    NeutrikPowerconTrue1,
284    #[serde(rename = "neutrik-powercon-true1-top")]
285    NeutrikPowerconTrue1Top,
286    #[serde(rename = "ubiquiti-smartpower")]
287    UbiquitiSmartpower,
288    #[serde(rename = "hardwired")]
289    Hardwired,
290    #[serde(rename = "other")]
291    Other,
292    #[serde(rename = "")]
293    Empty,
294    #[serde(rename = "null")]
295    Null,
296}
297
298impl Default for RHashType {
299    fn default() -> RHashType {
300        Self::Iec60320C6
301    }
302}