1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct RearPortRequest {
15 #[serde(rename = "device")]
16 pub device: Box<crate::models::BriefInterfaceRequestDevice>,
17 #[serde(
18 rename = "module",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub module: Option<Option<Box<crate::models::ConsolePortRequestModule>>>,
24 #[serde(rename = "name")]
25 pub name: String,
26 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
28 pub label: Option<String>,
29 #[serde(rename = "type")]
31 pub r#type: RHashType,
32 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
33 pub color: Option<String>,
34 #[serde(rename = "positions", skip_serializing_if = "Option::is_none")]
35 pub positions: Option<i32>,
36 #[serde(rename = "front_ports", skip_serializing_if = "Option::is_none")]
37 pub front_ports: Option<Vec<crate::models::RearPortMappingRequest>>,
38 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
39 pub description: Option<String>,
40 #[serde(rename = "mark_connected", skip_serializing_if = "Option::is_none")]
42 pub mark_connected: Option<bool>,
43 #[serde(
44 rename = "owner",
45 default,
46 with = "::serde_with::rust::double_option",
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub owner: Option<Option<Box<crate::models::AsnRangeRequestOwner>>>,
50 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
51 pub tags: Option<Vec<crate::models::NestedTagRequest>>,
52 #[serde(rename = "custom_fields", skip_serializing_if = "Option::is_none")]
53 pub custom_fields: Option<::std::collections::HashMap<String, serde_json::Value>>,
54}
55
56impl RearPortRequest {
57 pub fn new(
59 device: crate::models::BriefInterfaceRequestDevice,
60 name: String,
61 r#type: RHashType,
62 ) -> RearPortRequest {
63 RearPortRequest {
64 device: Box::new(device),
65 module: None,
66 name,
67 label: None,
68 r#type,
69 color: None,
70 positions: None,
71 front_ports: None,
72 description: None,
73 mark_connected: None,
74 owner: None,
75 tags: None,
76 custom_fields: None,
77 }
78 }
79}
80
81#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
83pub enum RHashType {
84 #[serde(rename = "8p8c")]
85 Variant8p8c,
86 #[serde(rename = "8p6c")]
87 Variant8p6c,
88 #[serde(rename = "8p4c")]
89 Variant8p4c,
90 #[serde(rename = "8p2c")]
91 Variant8p2c,
92 #[serde(rename = "6p6c")]
93 Variant6p6c,
94 #[serde(rename = "6p4c")]
95 Variant6p4c,
96 #[serde(rename = "6p2c")]
97 Variant6p2c,
98 #[serde(rename = "4p4c")]
99 Variant4p4c,
100 #[serde(rename = "4p2c")]
101 Variant4p2c,
102 #[serde(rename = "gg45")]
103 Gg45,
104 #[serde(rename = "tera-4p")]
105 Tera4p,
106 #[serde(rename = "tera-2p")]
107 Tera2p,
108 #[serde(rename = "tera-1p")]
109 Tera1p,
110 #[serde(rename = "110-punch")]
111 Variant110Punch,
112 #[serde(rename = "bnc")]
113 Bnc,
114 #[serde(rename = "f")]
115 F,
116 #[serde(rename = "n")]
117 N,
118 #[serde(rename = "mrj21")]
119 Mrj21,
120 #[serde(rename = "fc")]
121 Fc,
122 #[serde(rename = "fc-pc")]
123 FcPc,
124 #[serde(rename = "fc-upc")]
125 FcUpc,
126 #[serde(rename = "fc-apc")]
127 FcApc,
128 #[serde(rename = "lc")]
129 Lc,
130 #[serde(rename = "lc-pc")]
131 LcPc,
132 #[serde(rename = "lc-upc")]
133 LcUpc,
134 #[serde(rename = "lc-apc")]
135 LcApc,
136 #[serde(rename = "lsh")]
137 Lsh,
138 #[serde(rename = "lsh-pc")]
139 LshPc,
140 #[serde(rename = "lsh-upc")]
141 LshUpc,
142 #[serde(rename = "lsh-apc")]
143 LshApc,
144 #[serde(rename = "lx5")]
145 Lx5,
146 #[serde(rename = "lx5-pc")]
147 Lx5Pc,
148 #[serde(rename = "lx5-upc")]
149 Lx5Upc,
150 #[serde(rename = "lx5-apc")]
151 Lx5Apc,
152 #[serde(rename = "mpo")]
153 Mpo,
154 #[serde(rename = "mtrj")]
155 Mtrj,
156 #[serde(rename = "sc")]
157 Sc,
158 #[serde(rename = "sc-pc")]
159 ScPc,
160 #[serde(rename = "sc-upc")]
161 ScUpc,
162 #[serde(rename = "sc-apc")]
163 ScApc,
164 #[serde(rename = "st")]
165 St,
166 #[serde(rename = "cs")]
167 Cs,
168 #[serde(rename = "sn")]
169 Sn,
170 #[serde(rename = "sma-905")]
171 Sma905,
172 #[serde(rename = "sma-906")]
173 Sma906,
174 #[serde(rename = "urm-p2")]
175 UrmP2,
176 #[serde(rename = "urm-p4")]
177 UrmP4,
178 #[serde(rename = "urm-p8")]
179 UrmP8,
180 #[serde(rename = "splice")]
181 Splice,
182 #[serde(rename = "usb-a")]
183 UsbA,
184 #[serde(rename = "usb-b")]
185 UsbB,
186 #[serde(rename = "usb-c")]
187 UsbC,
188 #[serde(rename = "usb-mini-a")]
189 UsbMiniA,
190 #[serde(rename = "usb-mini-b")]
191 UsbMiniB,
192 #[serde(rename = "usb-micro-a")]
193 UsbMicroA,
194 #[serde(rename = "usb-micro-b")]
195 UsbMicroB,
196 #[serde(rename = "usb-micro-ab")]
197 UsbMicroAb,
198 #[serde(rename = "other")]
199 Other,
200}
201
202impl Default for RHashType {
203 fn default() -> RHashType {
204 Self::Variant8p8c
205 }
206}