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