Skip to main content

netbox_openapi/models/
dcim_cables_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 DcimCablesCreateRequest {
13    /// * `cat3` - CAT3 * `cat5` - CAT5 * `cat5e` - CAT5e * `cat6` - CAT6 * `cat6a` - CAT6a * `cat7` - CAT7 * `cat7a` - CAT7a * `cat8` - CAT8 * `mrj21-trunk` - MRJ21 Trunk * `dac-active` - Direct Attach Copper (Active) * `dac-passive` - Direct Attach Copper (Passive) * `coaxial` - Coaxial * `rg-6` - RG-6 * `rg-8` - RG-8 * `rg-11` - RG-11 * `rg-59` - RG-59 * `rg-62` - RG-62 * `rg-213` - RG-213 * `lmr-100` - LMR-100 * `lmr-200` - LMR-200 * `lmr-400` - LMR-400 * `mmf` - Multimode Fiber * `mmf-om1` - Multimode Fiber (OM1) * `mmf-om2` - Multimode Fiber (OM2) * `mmf-om3` - Multimode Fiber (OM3) * `mmf-om4` - Multimode Fiber (OM4) * `mmf-om5` - Multimode Fiber (OM5) * `smf` - Single-mode Fiber * `smf-os1` - Single-mode Fiber (OS1) * `smf-os2` - Single-mode Fiber (OS2) * `aoc` - Active Optical Cabling (AOC) * `power` - Power * `usb` - USB
14    #[serde(
15        rename = "type",
16        default,
17        with = "::serde_with::rust::double_option",
18        skip_serializing_if = "Option::is_none"
19    )]
20    pub r#type: Option<Option<RHashType>>,
21    #[serde(rename = "a_terminations", skip_serializing_if = "Option::is_none")]
22    pub a_terminations: Option<Vec<crate::models::GenericObjectRequest>>,
23    #[serde(rename = "b_terminations", skip_serializing_if = "Option::is_none")]
24    pub b_terminations: Option<Vec<crate::models::GenericObjectRequest>>,
25    /// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
26    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
27    pub status: Option<Status>,
28    /// * `single-1c1p` - 1C1P * `single-1c2p` - 1C2P * `single-1c4p` - 1C4P * `single-1c6p` - 1C6P * `single-1c8p` - 1C8P * `single-1c12p` - 1C12P * `single-1c16p` - 1C16P * `trunk-2c1p` - 2C1P trunk * `trunk-2c2p` - 2C2P trunk * `trunk-2c4p` - 2C4P trunk * `trunk-2c4p-shuffle` - 2C4P trunk (shuffle) * `trunk-2c6p` - 2C6P trunk * `trunk-2c8p` - 2C8P trunk * `trunk-2c12p` - 2C12P trunk * `trunk-4c1p` - 4C1P trunk * `trunk-4c2p` - 4C2P trunk * `trunk-4c4p` - 4C4P trunk * `trunk-4c4p-shuffle` - 4C4P trunk (shuffle) * `trunk-4c6p` - 4C6P trunk * `trunk-4c8p` - 4C8P trunk * `trunk-8c4p` - 8C4P trunk * `breakout-1c2p-2c1p` - 1C2P:2C1P breakout * `breakout-1c4p-4c1p` - 1C4P:4C1P breakout * `breakout-1c6p-6c1p` - 1C6P:6C1P breakout * `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)
29    #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
30    pub profile: Option<Profile>,
31    #[serde(
32        rename = "tenant",
33        default,
34        with = "::serde_with::rust::double_option",
35        skip_serializing_if = "Option::is_none"
36    )]
37    pub tenant: Option<Option<Box<crate::models::AsnRangeRequestTenant>>>,
38    #[serde(
39        rename = "bundle",
40        default,
41        with = "::serde_with::rust::double_option",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub bundle: Option<Option<Box<crate::models::CableRequestBundle>>>,
45    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
46    pub label: Option<String>,
47    #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
48    pub color: Option<String>,
49    #[serde(
50        rename = "length",
51        default,
52        with = "::serde_with::rust::double_option",
53        skip_serializing_if = "Option::is_none"
54    )]
55    pub length: Option<Option<f64>>,
56    /// * `km` - Kilometers * `m` - Meters * `cm` - Centimeters * `mi` - Miles * `ft` - Feet * `in` - Inches
57    #[serde(
58        rename = "length_unit",
59        default,
60        with = "::serde_with::rust::double_option",
61        skip_serializing_if = "Option::is_none"
62    )]
63    pub length_unit: Option<Option<LengthUnit>>,
64    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
65    pub description: Option<String>,
66    #[serde(
67        rename = "owner",
68        default,
69        with = "::serde_with::rust::double_option",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
73    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
74    pub comments: Option<String>,
75    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
76    pub tags: Option<Vec<crate::models::NestedTagRequest>>,
77    #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
78    pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
79}
80
81impl DcimCablesCreateRequest {
82    pub fn new() -> DcimCablesCreateRequest {
83        DcimCablesCreateRequest {
84            r#type: None,
85            a_terminations: None,
86            b_terminations: None,
87            status: None,
88            profile: None,
89            tenant: None,
90            bundle: None,
91            label: None,
92            color: None,
93            length: None,
94            length_unit: None,
95            description: None,
96            owner: None,
97            comments: None,
98            tags: None,
99            custom_fields: None,
100        }
101    }
102}
103
104/// * `cat3` - CAT3 * `cat5` - CAT5 * `cat5e` - CAT5e * `cat6` - CAT6 * `cat6a` - CAT6a * `cat7` - CAT7 * `cat7a` - CAT7a * `cat8` - CAT8 * `mrj21-trunk` - MRJ21 Trunk * `dac-active` - Direct Attach Copper (Active) * `dac-passive` - Direct Attach Copper (Passive) * `coaxial` - Coaxial * `rg-6` - RG-6 * `rg-8` - RG-8 * `rg-11` - RG-11 * `rg-59` - RG-59 * `rg-62` - RG-62 * `rg-213` - RG-213 * `lmr-100` - LMR-100 * `lmr-200` - LMR-200 * `lmr-400` - LMR-400 * `mmf` - Multimode Fiber * `mmf-om1` - Multimode Fiber (OM1) * `mmf-om2` - Multimode Fiber (OM2) * `mmf-om3` - Multimode Fiber (OM3) * `mmf-om4` - Multimode Fiber (OM4) * `mmf-om5` - Multimode Fiber (OM5) * `smf` - Single-mode Fiber * `smf-os1` - Single-mode Fiber (OS1) * `smf-os2` - Single-mode Fiber (OS2) * `aoc` - Active Optical Cabling (AOC) * `power` - Power * `usb` - USB
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
106pub enum RHashType {
107    #[serde(rename = "cat3")]
108    Cat3,
109    #[serde(rename = "cat5")]
110    Cat5,
111    #[serde(rename = "cat5e")]
112    Cat5e,
113    #[serde(rename = "cat6")]
114    Cat6,
115    #[serde(rename = "cat6a")]
116    Cat6a,
117    #[serde(rename = "cat7")]
118    Cat7,
119    #[serde(rename = "cat7a")]
120    Cat7a,
121    #[serde(rename = "cat8")]
122    Cat8,
123    #[serde(rename = "mrj21-trunk")]
124    Mrj21Trunk,
125    #[serde(rename = "dac-active")]
126    DacActive,
127    #[serde(rename = "dac-passive")]
128    DacPassive,
129    #[serde(rename = "coaxial")]
130    Coaxial,
131    #[serde(rename = "rg-6")]
132    Rg6,
133    #[serde(rename = "rg-8")]
134    Rg8,
135    #[serde(rename = "rg-11")]
136    Rg11,
137    #[serde(rename = "rg-59")]
138    Rg59,
139    #[serde(rename = "rg-62")]
140    Rg62,
141    #[serde(rename = "rg-213")]
142    Rg213,
143    #[serde(rename = "lmr-100")]
144    Lmr100,
145    #[serde(rename = "lmr-200")]
146    Lmr200,
147    #[serde(rename = "lmr-400")]
148    Lmr400,
149    #[serde(rename = "mmf")]
150    Mmf,
151    #[serde(rename = "mmf-om1")]
152    MmfOm1,
153    #[serde(rename = "mmf-om2")]
154    MmfOm2,
155    #[serde(rename = "mmf-om3")]
156    MmfOm3,
157    #[serde(rename = "mmf-om4")]
158    MmfOm4,
159    #[serde(rename = "mmf-om5")]
160    MmfOm5,
161    #[serde(rename = "smf")]
162    Smf,
163    #[serde(rename = "smf-os1")]
164    SmfOs1,
165    #[serde(rename = "smf-os2")]
166    SmfOs2,
167    #[serde(rename = "aoc")]
168    Aoc,
169    #[serde(rename = "power")]
170    Power,
171    #[serde(rename = "usb")]
172    Usb,
173    #[serde(rename = "")]
174    Empty,
175    #[serde(rename = "null")]
176    Null,
177}
178
179impl Default for RHashType {
180    fn default() -> RHashType {
181        Self::Cat3
182    }
183}
184/// * `connected` - Connected * `planned` - Planned * `decommissioning` - Decommissioning
185#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
186pub enum Status {
187    #[serde(rename = "connected")]
188    Connected,
189    #[serde(rename = "planned")]
190    Planned,
191    #[serde(rename = "decommissioning")]
192    Decommissioning,
193}
194
195impl Default for Status {
196    fn default() -> Status {
197        Self::Connected
198    }
199}
200/// * `single-1c1p` - 1C1P * `single-1c2p` - 1C2P * `single-1c4p` - 1C4P * `single-1c6p` - 1C6P * `single-1c8p` - 1C8P * `single-1c12p` - 1C12P * `single-1c16p` - 1C16P * `trunk-2c1p` - 2C1P trunk * `trunk-2c2p` - 2C2P trunk * `trunk-2c4p` - 2C4P trunk * `trunk-2c4p-shuffle` - 2C4P trunk (shuffle) * `trunk-2c6p` - 2C6P trunk * `trunk-2c8p` - 2C8P trunk * `trunk-2c12p` - 2C12P trunk * `trunk-4c1p` - 4C1P trunk * `trunk-4c2p` - 4C2P trunk * `trunk-4c4p` - 4C4P trunk * `trunk-4c4p-shuffle` - 4C4P trunk (shuffle) * `trunk-4c6p` - 4C6P trunk * `trunk-4c8p` - 4C8P trunk * `trunk-8c4p` - 8C4P trunk * `breakout-1c2p-2c1p` - 1C2P:2C1P breakout * `breakout-1c4p-4c1p` - 1C4P:4C1P breakout * `breakout-1c6p-6c1p` - 1C6P:6C1P breakout * `breakout-2c4p-8c1p-shuffle` - 2C4P:8C1P breakout (shuffle)
201#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
202pub enum Profile {
203    #[serde(rename = "single-1c1p")]
204    Single1c1p,
205    #[serde(rename = "single-1c2p")]
206    Single1c2p,
207    #[serde(rename = "single-1c4p")]
208    Single1c4p,
209    #[serde(rename = "single-1c6p")]
210    Single1c6p,
211    #[serde(rename = "single-1c8p")]
212    Single1c8p,
213    #[serde(rename = "single-1c12p")]
214    Single1c12p,
215    #[serde(rename = "single-1c16p")]
216    Single1c16p,
217    #[serde(rename = "trunk-2c1p")]
218    Trunk2c1p,
219    #[serde(rename = "trunk-2c2p")]
220    Trunk2c2p,
221    #[serde(rename = "trunk-2c4p")]
222    Trunk2c4p,
223    #[serde(rename = "trunk-2c4p-shuffle")]
224    Trunk2c4pShuffle,
225    #[serde(rename = "trunk-2c6p")]
226    Trunk2c6p,
227    #[serde(rename = "trunk-2c8p")]
228    Trunk2c8p,
229    #[serde(rename = "trunk-2c12p")]
230    Trunk2c12p,
231    #[serde(rename = "trunk-4c1p")]
232    Trunk4c1p,
233    #[serde(rename = "trunk-4c2p")]
234    Trunk4c2p,
235    #[serde(rename = "trunk-4c4p")]
236    Trunk4c4p,
237    #[serde(rename = "trunk-4c4p-shuffle")]
238    Trunk4c4pShuffle,
239    #[serde(rename = "trunk-4c6p")]
240    Trunk4c6p,
241    #[serde(rename = "trunk-4c8p")]
242    Trunk4c8p,
243    #[serde(rename = "trunk-8c4p")]
244    Trunk8c4p,
245    #[serde(rename = "breakout-1c2p-2c1p")]
246    Breakout1c2p2c1p,
247    #[serde(rename = "breakout-1c4p-4c1p")]
248    Breakout1c4p4c1p,
249    #[serde(rename = "breakout-1c6p-6c1p")]
250    Breakout1c6p6c1p,
251    #[serde(rename = "breakout-2c4p-8c1p-shuffle")]
252    Breakout2c4p8c1pShuffle,
253    #[serde(rename = "")]
254    Empty,
255}
256
257impl Default for Profile {
258    fn default() -> Profile {
259        Self::Single1c1p
260    }
261}
262/// * `km` - Kilometers * `m` - Meters * `cm` - Centimeters * `mi` - Miles * `ft` - Feet * `in` - Inches
263#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
264pub enum LengthUnit {
265    #[serde(rename = "km")]
266    Km,
267    #[serde(rename = "m")]
268    M,
269    #[serde(rename = "cm")]
270    Cm,
271    #[serde(rename = "mi")]
272    Mi,
273    #[serde(rename = "ft")]
274    Ft,
275    #[serde(rename = "in")]
276    In,
277    #[serde(rename = "")]
278    Empty,
279    #[serde(rename = "null")]
280    Null,
281}
282
283impl Default for LengthUnit {
284    fn default() -> LengthUnit {
285        Self::Km
286    }
287}