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