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