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(
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 #[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#[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#[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#[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#[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}