1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct Cable {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<i32>,
17 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18 pub url: Option<String>,
19 #[serde(rename = "display_url", skip_serializing_if = "Option::is_none")]
20 pub display_url: Option<String>,
21 #[serde(rename = "display", skip_serializing_if = "Option::is_none")]
22 pub display: Option<String>,
23 #[serde(
25 rename = "type",
26 default,
27 with = "::serde_with::rust::double_option",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub r#type: Option<Option<RHashType>>,
31 #[serde(rename = "a_terminations", skip_serializing_if = "Option::is_none")]
32 pub a_terminations: Option<Vec<crate::models::GenericObject>>,
33 #[serde(rename = "b_terminations", skip_serializing_if = "Option::is_none")]
34 pub b_terminations: Option<Vec<crate::models::GenericObject>>,
35 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
36 pub status: Option<Box<crate::models::CableStatus>>,
37 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
38 pub profile: Option<Box<crate::models::CableProfile>>,
39 #[serde(
40 rename = "tenant",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub tenant: Option<Option<Box<crate::models::BriefTenant>>>,
46 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
47 pub label: Option<String>,
48 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
49 pub color: Option<String>,
50 #[serde(
51 rename = "length",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub length: Option<Option<f64>>,
57 #[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<Box<crate::models::CableLengthUnit>>>,
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::BriefOwner>>>,
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::NestedTag>>,
77 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
78 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
79 #[serde(
80 rename = "created",
81 default,
82 with = "::serde_with::rust::double_option",
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub created: Option<Option<String>>,
86 #[serde(
87 rename = "last_updated",
88 default,
89 with = "::serde_with::rust::double_option",
90 skip_serializing_if = "Option::is_none"
91 )]
92 pub last_updated: Option<Option<String>>,
93}
94
95impl Cable {
96 pub fn new() -> Cable {
98 Cable {
99 id: None,
100 url: None,
101 display_url: None,
102 display: None,
103 r#type: None,
104 a_terminations: None,
105 b_terminations: None,
106 status: None,
107 profile: None,
108 tenant: None,
109 label: None,
110 color: None,
111 length: None,
112 length_unit: None,
113 description: None,
114 owner: None,
115 comments: None,
116 tags: None,
117 custom_fields: None,
118 created: None,
119 last_updated: None,
120 }
121 }
122}
123
124#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
126pub enum RHashType {
127 #[serde(rename = "cat3")]
128 Cat3,
129 #[serde(rename = "cat5")]
130 Cat5,
131 #[serde(rename = "cat5e")]
132 Cat5e,
133 #[serde(rename = "cat6")]
134 Cat6,
135 #[serde(rename = "cat6a")]
136 Cat6a,
137 #[serde(rename = "cat7")]
138 Cat7,
139 #[serde(rename = "cat7a")]
140 Cat7a,
141 #[serde(rename = "cat8")]
142 Cat8,
143 #[serde(rename = "mrj21-trunk")]
144 Mrj21Trunk,
145 #[serde(rename = "dac-active")]
146 DacActive,
147 #[serde(rename = "dac-passive")]
148 DacPassive,
149 #[serde(rename = "coaxial")]
150 Coaxial,
151 #[serde(rename = "rg-6")]
152 Rg6,
153 #[serde(rename = "rg-8")]
154 Rg8,
155 #[serde(rename = "rg-11")]
156 Rg11,
157 #[serde(rename = "rg-59")]
158 Rg59,
159 #[serde(rename = "rg-62")]
160 Rg62,
161 #[serde(rename = "rg-213")]
162 Rg213,
163 #[serde(rename = "lmr-100")]
164 Lmr100,
165 #[serde(rename = "lmr-200")]
166 Lmr200,
167 #[serde(rename = "lmr-400")]
168 Lmr400,
169 #[serde(rename = "mmf")]
170 Mmf,
171 #[serde(rename = "mmf-om1")]
172 MmfOm1,
173 #[serde(rename = "mmf-om2")]
174 MmfOm2,
175 #[serde(rename = "mmf-om3")]
176 MmfOm3,
177 #[serde(rename = "mmf-om4")]
178 MmfOm4,
179 #[serde(rename = "mmf-om5")]
180 MmfOm5,
181 #[serde(rename = "smf")]
182 Smf,
183 #[serde(rename = "smf-os1")]
184 SmfOs1,
185 #[serde(rename = "smf-os2")]
186 SmfOs2,
187 #[serde(rename = "aoc")]
188 Aoc,
189 #[serde(rename = "power")]
190 Power,
191 #[serde(rename = "usb")]
192 Usb,
193 #[serde(rename = "")]
194 Empty,
195 #[serde(rename = "null")]
196 Null,
197}
198
199impl Default for RHashType {
200 fn default() -> RHashType {
201 Self::Cat3
202 }
203}