Skip to main content

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