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