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