Skip to main content

netbox_openapi/models/
dcim_power_outlets_create_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.2 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct DcimPowerOutletsCreateRequest {
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    /// Physical label
25    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
26    pub label: Option<String>,
27    /// Physical port type  * `iec-60320-c5` - C5 * `iec-60320-c7` - C7 * `iec-60320-c13` - C13 * `iec-60320-c15` - C15 * `iec-60320-c17` - C17 * `iec-60320-c19` - C19 * `iec-60320-c21` - C21 * `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-15r` - NEMA 1-15R * `nema-5-15r` - NEMA 5-15R * `nema-5-20r` - NEMA 5-20R * `nema-5-30r` - NEMA 5-30R * `nema-5-50r` - NEMA 5-50R * `nema-6-15r` - NEMA 6-15R * `nema-6-20r` - NEMA 6-20R * `nema-6-30r` - NEMA 6-30R * `nema-6-50r` - NEMA 6-50R * `nema-10-30r` - NEMA 10-30R * `nema-10-50r` - NEMA 10-50R * `nema-14-20r` - NEMA 14-20R * `nema-14-30r` - NEMA 14-30R * `nema-14-50r` - NEMA 14-50R * `nema-14-60r` - NEMA 14-60R * `nema-15-15r` - NEMA 15-15R * `nema-15-20r` - NEMA 15-20R * `nema-15-30r` - NEMA 15-30R * `nema-15-50r` - NEMA 15-50R * `nema-15-60r` - NEMA 15-60R * `nema-l1-15r` - NEMA L1-15R * `nema-l5-15r` - NEMA L5-15R * `nema-l5-20r` - NEMA L5-20R * `nema-l5-30r` - NEMA L5-30R * `nema-l5-50r` - NEMA L5-50R * `nema-l6-15r` - NEMA L6-15R * `nema-l6-20r` - NEMA L6-20R * `nema-l6-30r` - NEMA L6-30R * `nema-l6-50r` - NEMA L6-50R * `nema-l10-30r` - NEMA L10-30R * `nema-l14-20r` - NEMA L14-20R * `nema-l14-30r` - NEMA L14-30R * `nema-l14-50r` - NEMA L14-50R * `nema-l14-60r` - NEMA L14-60R * `nema-l15-20r` - NEMA L15-20R * `nema-l15-30r` - NEMA L15-30R * `nema-l15-50r` - NEMA L15-50R * `nema-l15-60r` - NEMA L15-60R * `nema-l21-20r` - NEMA L21-20R * `nema-l21-30r` - NEMA L21-30R * `nema-l22-20r` - NEMA L22-20R * `nema-l22-30r` - NEMA L22-30R * `CS6360C` - CS6360C * `CS6364C` - CS6364C * `CS8164C` - CS8164C * `CS8264C` - CS8264C * `CS8364C` - CS8364C * `CS8464C` - CS8464C * `ita-e` - ITA Type E (CEE 7/5) * `ita-f` - ITA Type F (CEE 7/3) * `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 * `ita-multistandard` - ITA Multistandard * `usb-a` - USB Type A * `usb-micro-b` - USB Micro B * `usb-c` - USB Type C * `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 * `eaton-c39` - Eaton C39 * `hdot-cx` - HDOT Cx * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20a` - Neutrik powerCON (20A) * `neutrik-powercon-32a` - 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
28    #[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    /// * `enabled` - Enabled * `disabled` - Disabled * `faulty` - Faulty
36    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
37    pub status: Option<Status>,
38    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
39    pub color: Option<String>,
40    #[serde(
41        rename = "power_port",
42        default,
43        with = "::serde_with::rust::double_option",
44        skip_serializing_if = "Option::is_none"
45    )]
46    pub power_port: Option<Option<Box<crate::models::PatchedWritablePowerOutletRequestPowerPort>>>,
47    /// Phase (for three-phase feeds)  * `A` - A * `B` - B * `C` - C
48    #[serde(
49        rename = "feed_leg",
50        default,
51        with = "::serde_with::rust::double_option",
52        skip_serializing_if = "Option::is_none"
53    )]
54    pub feed_leg: Option<Option<FeedLeg>>,
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 DcimPowerOutletsCreateRequest {
74    pub fn new(
75        device: crate::models::BriefInterfaceRequestDevice,
76        name: String,
77    ) -> DcimPowerOutletsCreateRequest {
78        DcimPowerOutletsCreateRequest {
79            device: Box::new(device),
80            module: None,
81            name,
82            label: None,
83            r#type: None,
84            status: None,
85            color: None,
86            power_port: None,
87            feed_leg: None,
88            description: None,
89            mark_connected: None,
90            owner: None,
91            tags: None,
92            custom_fields: None,
93        }
94    }
95}
96
97/// Physical port type  * `iec-60320-c5` - C5 * `iec-60320-c7` - C7 * `iec-60320-c13` - C13 * `iec-60320-c15` - C15 * `iec-60320-c17` - C17 * `iec-60320-c19` - C19 * `iec-60320-c21` - C21 * `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-15r` - NEMA 1-15R * `nema-5-15r` - NEMA 5-15R * `nema-5-20r` - NEMA 5-20R * `nema-5-30r` - NEMA 5-30R * `nema-5-50r` - NEMA 5-50R * `nema-6-15r` - NEMA 6-15R * `nema-6-20r` - NEMA 6-20R * `nema-6-30r` - NEMA 6-30R * `nema-6-50r` - NEMA 6-50R * `nema-10-30r` - NEMA 10-30R * `nema-10-50r` - NEMA 10-50R * `nema-14-20r` - NEMA 14-20R * `nema-14-30r` - NEMA 14-30R * `nema-14-50r` - NEMA 14-50R * `nema-14-60r` - NEMA 14-60R * `nema-15-15r` - NEMA 15-15R * `nema-15-20r` - NEMA 15-20R * `nema-15-30r` - NEMA 15-30R * `nema-15-50r` - NEMA 15-50R * `nema-15-60r` - NEMA 15-60R * `nema-l1-15r` - NEMA L1-15R * `nema-l5-15r` - NEMA L5-15R * `nema-l5-20r` - NEMA L5-20R * `nema-l5-30r` - NEMA L5-30R * `nema-l5-50r` - NEMA L5-50R * `nema-l6-15r` - NEMA L6-15R * `nema-l6-20r` - NEMA L6-20R * `nema-l6-30r` - NEMA L6-30R * `nema-l6-50r` - NEMA L6-50R * `nema-l10-30r` - NEMA L10-30R * `nema-l14-20r` - NEMA L14-20R * `nema-l14-30r` - NEMA L14-30R * `nema-l14-50r` - NEMA L14-50R * `nema-l14-60r` - NEMA L14-60R * `nema-l15-20r` - NEMA L15-20R * `nema-l15-30r` - NEMA L15-30R * `nema-l15-50r` - NEMA L15-50R * `nema-l15-60r` - NEMA L15-60R * `nema-l21-20r` - NEMA L21-20R * `nema-l21-30r` - NEMA L21-30R * `nema-l22-20r` - NEMA L22-20R * `nema-l22-30r` - NEMA L22-30R * `CS6360C` - CS6360C * `CS6364C` - CS6364C * `CS8164C` - CS8164C * `CS8264C` - CS8264C * `CS8364C` - CS8364C * `CS8464C` - CS8464C * `ita-e` - ITA Type E (CEE 7/5) * `ita-f` - ITA Type F (CEE 7/3) * `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 * `ita-multistandard` - ITA Multistandard * `usb-a` - USB Type A * `usb-micro-b` - USB Micro B * `usb-c` - USB Type C * `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 * `eaton-c39` - Eaton C39 * `hdot-cx` - HDOT Cx * `saf-d-grid` - Saf-D-Grid * `neutrik-powercon-20a` - Neutrik powerCON (20A) * `neutrik-powercon-32a` - 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
98#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
99pub enum RHashType {
100    #[serde(rename = "iec-60320-c5")]
101    Iec60320C5,
102    #[serde(rename = "iec-60320-c7")]
103    Iec60320C7,
104    #[serde(rename = "iec-60320-c13")]
105    Iec60320C13,
106    #[serde(rename = "iec-60320-c15")]
107    Iec60320C15,
108    #[serde(rename = "iec-60320-c17")]
109    Iec60320C17,
110    #[serde(rename = "iec-60320-c19")]
111    Iec60320C19,
112    #[serde(rename = "iec-60320-c21")]
113    Iec60320C21,
114    #[serde(rename = "iec-60309-p-n-e-4h")]
115    Iec60309PNE4h,
116    #[serde(rename = "iec-60309-p-n-e-6h")]
117    Iec60309PNE6h,
118    #[serde(rename = "iec-60309-p-n-e-9h")]
119    Iec60309PNE9h,
120    #[serde(rename = "iec-60309-2p-e-4h")]
121    Iec603092pE4h,
122    #[serde(rename = "iec-60309-2p-e-6h")]
123    Iec603092pE6h,
124    #[serde(rename = "iec-60309-2p-e-9h")]
125    Iec603092pE9h,
126    #[serde(rename = "iec-60309-3p-e-4h")]
127    Iec603093pE4h,
128    #[serde(rename = "iec-60309-3p-e-6h")]
129    Iec603093pE6h,
130    #[serde(rename = "iec-60309-3p-e-9h")]
131    Iec603093pE9h,
132    #[serde(rename = "iec-60309-3p-n-e-4h")]
133    Iec603093pNE4h,
134    #[serde(rename = "iec-60309-3p-n-e-6h")]
135    Iec603093pNE6h,
136    #[serde(rename = "iec-60309-3p-n-e-9h")]
137    Iec603093pNE9h,
138    #[serde(rename = "iec-60906-1")]
139    Iec609061,
140    #[serde(rename = "nbr-14136-10a")]
141    Nbr1413610a,
142    #[serde(rename = "nbr-14136-20a")]
143    Nbr1413620a,
144    #[serde(rename = "nema-1-15r")]
145    Nema115r,
146    #[serde(rename = "nema-5-15r")]
147    Nema515r,
148    #[serde(rename = "nema-5-20r")]
149    Nema520r,
150    #[serde(rename = "nema-5-30r")]
151    Nema530r,
152    #[serde(rename = "nema-5-50r")]
153    Nema550r,
154    #[serde(rename = "nema-6-15r")]
155    Nema615r,
156    #[serde(rename = "nema-6-20r")]
157    Nema620r,
158    #[serde(rename = "nema-6-30r")]
159    Nema630r,
160    #[serde(rename = "nema-6-50r")]
161    Nema650r,
162    #[serde(rename = "nema-10-30r")]
163    Nema1030r,
164    #[serde(rename = "nema-10-50r")]
165    Nema1050r,
166    #[serde(rename = "nema-14-20r")]
167    Nema1420r,
168    #[serde(rename = "nema-14-30r")]
169    Nema1430r,
170    #[serde(rename = "nema-14-50r")]
171    Nema1450r,
172    #[serde(rename = "nema-14-60r")]
173    Nema1460r,
174    #[serde(rename = "nema-15-15r")]
175    Nema1515r,
176    #[serde(rename = "nema-15-20r")]
177    Nema1520r,
178    #[serde(rename = "nema-15-30r")]
179    Nema1530r,
180    #[serde(rename = "nema-15-50r")]
181    Nema1550r,
182    #[serde(rename = "nema-15-60r")]
183    Nema1560r,
184    #[serde(rename = "nema-l1-15r")]
185    NemaL115r,
186    #[serde(rename = "nema-l5-15r")]
187    NemaL515r,
188    #[serde(rename = "nema-l5-20r")]
189    NemaL520r,
190    #[serde(rename = "nema-l5-30r")]
191    NemaL530r,
192    #[serde(rename = "nema-l5-50r")]
193    NemaL550r,
194    #[serde(rename = "nema-l6-15r")]
195    NemaL615r,
196    #[serde(rename = "nema-l6-20r")]
197    NemaL620r,
198    #[serde(rename = "nema-l6-30r")]
199    NemaL630r,
200    #[serde(rename = "nema-l6-50r")]
201    NemaL650r,
202    #[serde(rename = "nema-l10-30r")]
203    NemaL1030r,
204    #[serde(rename = "nema-l14-20r")]
205    NemaL1420r,
206    #[serde(rename = "nema-l14-30r")]
207    NemaL1430r,
208    #[serde(rename = "nema-l14-50r")]
209    NemaL1450r,
210    #[serde(rename = "nema-l14-60r")]
211    NemaL1460r,
212    #[serde(rename = "nema-l15-20r")]
213    NemaL1520r,
214    #[serde(rename = "nema-l15-30r")]
215    NemaL1530r,
216    #[serde(rename = "nema-l15-50r")]
217    NemaL1550r,
218    #[serde(rename = "nema-l15-60r")]
219    NemaL1560r,
220    #[serde(rename = "nema-l21-20r")]
221    NemaL2120r,
222    #[serde(rename = "nema-l21-30r")]
223    NemaL2130r,
224    #[serde(rename = "nema-l22-20r")]
225    NemaL2220r,
226    #[serde(rename = "nema-l22-30r")]
227    NemaL2230r,
228    #[serde(rename = "CS6360C")]
229    Cs6360C,
230    #[serde(rename = "CS6364C")]
231    Cs6364C,
232    #[serde(rename = "CS8164C")]
233    Cs8164C,
234    #[serde(rename = "CS8264C")]
235    Cs8264C,
236    #[serde(rename = "CS8364C")]
237    Cs8364C,
238    #[serde(rename = "CS8464C")]
239    Cs8464C,
240    #[serde(rename = "ita-e")]
241    ItaE,
242    #[serde(rename = "ita-f")]
243    ItaF,
244    #[serde(rename = "ita-g")]
245    ItaG,
246    #[serde(rename = "ita-h")]
247    ItaH,
248    #[serde(rename = "ita-i")]
249    ItaI,
250    #[serde(rename = "ita-j")]
251    ItaJ,
252    #[serde(rename = "ita-k")]
253    ItaK,
254    #[serde(rename = "ita-l")]
255    ItaL,
256    #[serde(rename = "ita-m")]
257    ItaM,
258    #[serde(rename = "ita-n")]
259    ItaN,
260    #[serde(rename = "ita-o")]
261    ItaO,
262    #[serde(rename = "ita-multistandard")]
263    ItaMultistandard,
264    #[serde(rename = "usb-a")]
265    UsbA,
266    #[serde(rename = "usb-micro-b")]
267    UsbMicroB,
268    #[serde(rename = "usb-c")]
269    UsbC,
270    #[serde(rename = "molex-micro-fit-1x2")]
271    MolexMicroFit1x2,
272    #[serde(rename = "molex-micro-fit-2x2")]
273    MolexMicroFit2x2,
274    #[serde(rename = "molex-micro-fit-2x3")]
275    MolexMicroFit2x3,
276    #[serde(rename = "molex-micro-fit-2x4")]
277    MolexMicroFit2x4,
278    #[serde(rename = "dc-terminal")]
279    DcTerminal,
280    #[serde(rename = "eaton-c39")]
281    EatonC39,
282    #[serde(rename = "hdot-cx")]
283    HdotCx,
284    #[serde(rename = "saf-d-grid")]
285    SafDGrid,
286    #[serde(rename = "neutrik-powercon-20a")]
287    NeutrikPowercon20a,
288    #[serde(rename = "neutrik-powercon-32a")]
289    NeutrikPowercon32a,
290    #[serde(rename = "neutrik-powercon-true1")]
291    NeutrikPowerconTrue1,
292    #[serde(rename = "neutrik-powercon-true1-top")]
293    NeutrikPowerconTrue1Top,
294    #[serde(rename = "ubiquiti-smartpower")]
295    UbiquitiSmartpower,
296    #[serde(rename = "hardwired")]
297    Hardwired,
298    #[serde(rename = "other")]
299    Other,
300    #[serde(rename = "")]
301    Empty,
302    #[serde(rename = "null")]
303    Null,
304}
305
306impl Default for RHashType {
307    fn default() -> RHashType {
308        Self::Iec60320C5
309    }
310}
311/// * `enabled` - Enabled * `disabled` - Disabled * `faulty` - Faulty
312#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
313pub enum Status {
314    #[serde(rename = "enabled")]
315    Enabled,
316    #[serde(rename = "disabled")]
317    Disabled,
318    #[serde(rename = "faulty")]
319    Faulty,
320}
321
322impl Default for Status {
323    fn default() -> Status {
324        Self::Enabled
325    }
326}
327/// Phase (for three-phase feeds)  * `A` - A * `B` - B * `C` - C
328#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
329pub enum FeedLeg {
330    #[serde(rename = "A")]
331    A,
332    #[serde(rename = "B")]
333    B,
334    #[serde(rename = "C")]
335    C,
336    #[serde(rename = "")]
337    Empty,
338    #[serde(rename = "null")]
339    Null,
340}
341
342impl Default for FeedLeg {
343    fn default() -> FeedLeg {
344        Self::A
345    }
346}