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