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