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