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