1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::IntoStaticStr)]
13#[repr(i16)]
14#[non_exhaustive]
15pub enum ApiKey {
16 Produce = 0,
18 Fetch = 1,
20 ListOffsets = 2,
22 Metadata = 3,
24 OffsetCommit = 8,
26 OffsetFetch = 9,
28 FindCoordinator = 10,
30 JoinGroup = 11,
32 Heartbeat = 12,
34 LeaveGroup = 13,
36 SyncGroup = 14,
38 DescribeGroups = 15,
40 ListGroups = 16,
42 SaslHandshake = 17,
44 ApiVersions = 18,
46 CreateTopics = 19,
48 DeleteTopics = 20,
50 DeleteRecords = 21,
52 InitProducerId = 22,
54 OffsetForLeaderEpoch = 23,
56 AddPartitionsToTxn = 24,
58 AddOffsetsToTxn = 25,
60 EndTxn = 26,
62 WriteTxnMarkers = 27,
64 TxnOffsetCommit = 28,
66 DescribeAcls = 29,
68 CreateAcls = 30,
70 DeleteAcls = 31,
72 DescribeConfigs = 32,
74 AlterConfigs = 33,
76 AlterReplicaLogDirs = 34,
78 DescribeLogDirs = 35,
80 SaslAuthenticate = 36,
82 CreatePartitions = 37,
84 CreateDelegationToken = 38,
86 RenewDelegationToken = 39,
88 ExpireDelegationToken = 40,
90 DescribeDelegationToken = 41,
92 DeleteGroups = 42,
94 ElectLeaders = 43,
96 IncrementalAlterConfigs = 44,
98 AlterPartitionReassignments = 45,
100 ListPartitionReassignments = 46,
102 OffsetDelete = 47,
104 DescribeClientQuotas = 48,
106 AlterClientQuotas = 49,
108 DescribeUserScramCredentials = 50,
110 AlterUserScramCredentials = 51,
112 Vote = 52,
114 BeginQuorumEpoch = 53,
116 EndQuorumEpoch = 54,
118 DescribeQuorum = 55,
120 AlterPartition = 56,
122 UpdateFeatures = 57,
124 Envelope = 58,
126 FetchSnapshot = 59,
128 DescribeCluster = 60,
130 DescribeProducers = 61,
132 BrokerRegistration = 62,
134 BrokerHeartbeat = 63,
136 UnregisterBroker = 64,
138 DescribeTransactions = 65,
140 ListTransactions = 66,
142 AllocateProducerIds = 67,
144 ConsumerGroupHeartbeat = 68,
146 ConsumerGroupDescribe = 69,
148 ControllerRegistration = 70,
150 GetTelemetrySubscriptions = 71,
152 PushTelemetry = 72,
154 AssignReplicasToDirs = 73,
156 ListConfigResources = 74,
158 DescribeTopicPartitions = 75,
160 ShareGroupHeartbeat = 76,
162 ShareGroupDescribe = 77,
164 ShareFetch = 78,
166 ShareAcknowledge = 79,
168 AddRaftVoter = 80,
170 RemoveRaftVoter = 81,
172 UpdateRaftVoter = 82,
174 InitializeShareGroupState = 83,
176 ReadShareGroupState = 84,
178 WriteShareGroupState = 85,
180 DeleteShareGroupState = 86,
182 ReadShareGroupStateSummary = 87,
184 StreamsGroupHeartbeat = 88,
186 StreamsGroupDescribe = 89,
188 DescribeShareGroupOffsets = 90,
190 AlterShareGroupOffsets = 91,
192 DeleteShareGroupOffsets = 92,
194 StreamsGroupTopologyDescriptionUpdate = 93,
196 UnregisterController = 94,
198 GetReplicaLogInfo = 1020,
200}
201impl ApiKey {
202 pub const ALL: &'static [ApiKey] = &[
204 ApiKey::Produce,
205 ApiKey::Fetch,
206 ApiKey::ListOffsets,
207 ApiKey::Metadata,
208 ApiKey::OffsetCommit,
209 ApiKey::OffsetFetch,
210 ApiKey::FindCoordinator,
211 ApiKey::JoinGroup,
212 ApiKey::Heartbeat,
213 ApiKey::LeaveGroup,
214 ApiKey::SyncGroup,
215 ApiKey::DescribeGroups,
216 ApiKey::ListGroups,
217 ApiKey::SaslHandshake,
218 ApiKey::ApiVersions,
219 ApiKey::CreateTopics,
220 ApiKey::DeleteTopics,
221 ApiKey::DeleteRecords,
222 ApiKey::InitProducerId,
223 ApiKey::OffsetForLeaderEpoch,
224 ApiKey::AddPartitionsToTxn,
225 ApiKey::AddOffsetsToTxn,
226 ApiKey::EndTxn,
227 ApiKey::WriteTxnMarkers,
228 ApiKey::TxnOffsetCommit,
229 ApiKey::DescribeAcls,
230 ApiKey::CreateAcls,
231 ApiKey::DeleteAcls,
232 ApiKey::DescribeConfigs,
233 ApiKey::AlterConfigs,
234 ApiKey::AlterReplicaLogDirs,
235 ApiKey::DescribeLogDirs,
236 ApiKey::SaslAuthenticate,
237 ApiKey::CreatePartitions,
238 ApiKey::CreateDelegationToken,
239 ApiKey::RenewDelegationToken,
240 ApiKey::ExpireDelegationToken,
241 ApiKey::DescribeDelegationToken,
242 ApiKey::DeleteGroups,
243 ApiKey::ElectLeaders,
244 ApiKey::IncrementalAlterConfigs,
245 ApiKey::AlterPartitionReassignments,
246 ApiKey::ListPartitionReassignments,
247 ApiKey::OffsetDelete,
248 ApiKey::DescribeClientQuotas,
249 ApiKey::AlterClientQuotas,
250 ApiKey::DescribeUserScramCredentials,
251 ApiKey::AlterUserScramCredentials,
252 ApiKey::Vote,
253 ApiKey::BeginQuorumEpoch,
254 ApiKey::EndQuorumEpoch,
255 ApiKey::DescribeQuorum,
256 ApiKey::AlterPartition,
257 ApiKey::UpdateFeatures,
258 ApiKey::Envelope,
259 ApiKey::FetchSnapshot,
260 ApiKey::DescribeCluster,
261 ApiKey::DescribeProducers,
262 ApiKey::BrokerRegistration,
263 ApiKey::BrokerHeartbeat,
264 ApiKey::UnregisterBroker,
265 ApiKey::DescribeTransactions,
266 ApiKey::ListTransactions,
267 ApiKey::AllocateProducerIds,
268 ApiKey::ConsumerGroupHeartbeat,
269 ApiKey::ConsumerGroupDescribe,
270 ApiKey::ControllerRegistration,
271 ApiKey::GetTelemetrySubscriptions,
272 ApiKey::PushTelemetry,
273 ApiKey::AssignReplicasToDirs,
274 ApiKey::ListConfigResources,
275 ApiKey::DescribeTopicPartitions,
276 ApiKey::ShareGroupHeartbeat,
277 ApiKey::ShareGroupDescribe,
278 ApiKey::ShareFetch,
279 ApiKey::ShareAcknowledge,
280 ApiKey::AddRaftVoter,
281 ApiKey::RemoveRaftVoter,
282 ApiKey::UpdateRaftVoter,
283 ApiKey::InitializeShareGroupState,
284 ApiKey::ReadShareGroupState,
285 ApiKey::WriteShareGroupState,
286 ApiKey::DeleteShareGroupState,
287 ApiKey::ReadShareGroupStateSummary,
288 ApiKey::StreamsGroupHeartbeat,
289 ApiKey::StreamsGroupDescribe,
290 ApiKey::DescribeShareGroupOffsets,
291 ApiKey::AlterShareGroupOffsets,
292 ApiKey::DeleteShareGroupOffsets,
293 ApiKey::StreamsGroupTopologyDescriptionUpdate,
294 ApiKey::UnregisterController,
295 ApiKey::GetReplicaLogInfo,
296 ];
297 #[must_use]
299 pub fn from_i16(k: i16) -> Option<ApiKey> {
300 match k {
301 0 => Some(ApiKey::Produce),
302 1 => Some(ApiKey::Fetch),
303 2 => Some(ApiKey::ListOffsets),
304 3 => Some(ApiKey::Metadata),
305 8 => Some(ApiKey::OffsetCommit),
306 9 => Some(ApiKey::OffsetFetch),
307 10 => Some(ApiKey::FindCoordinator),
308 11 => Some(ApiKey::JoinGroup),
309 12 => Some(ApiKey::Heartbeat),
310 13 => Some(ApiKey::LeaveGroup),
311 14 => Some(ApiKey::SyncGroup),
312 15 => Some(ApiKey::DescribeGroups),
313 16 => Some(ApiKey::ListGroups),
314 17 => Some(ApiKey::SaslHandshake),
315 18 => Some(ApiKey::ApiVersions),
316 19 => Some(ApiKey::CreateTopics),
317 20 => Some(ApiKey::DeleteTopics),
318 21 => Some(ApiKey::DeleteRecords),
319 22 => Some(ApiKey::InitProducerId),
320 23 => Some(ApiKey::OffsetForLeaderEpoch),
321 24 => Some(ApiKey::AddPartitionsToTxn),
322 25 => Some(ApiKey::AddOffsetsToTxn),
323 26 => Some(ApiKey::EndTxn),
324 27 => Some(ApiKey::WriteTxnMarkers),
325 28 => Some(ApiKey::TxnOffsetCommit),
326 29 => Some(ApiKey::DescribeAcls),
327 30 => Some(ApiKey::CreateAcls),
328 31 => Some(ApiKey::DeleteAcls),
329 32 => Some(ApiKey::DescribeConfigs),
330 33 => Some(ApiKey::AlterConfigs),
331 34 => Some(ApiKey::AlterReplicaLogDirs),
332 35 => Some(ApiKey::DescribeLogDirs),
333 36 => Some(ApiKey::SaslAuthenticate),
334 37 => Some(ApiKey::CreatePartitions),
335 38 => Some(ApiKey::CreateDelegationToken),
336 39 => Some(ApiKey::RenewDelegationToken),
337 40 => Some(ApiKey::ExpireDelegationToken),
338 41 => Some(ApiKey::DescribeDelegationToken),
339 42 => Some(ApiKey::DeleteGroups),
340 43 => Some(ApiKey::ElectLeaders),
341 44 => Some(ApiKey::IncrementalAlterConfigs),
342 45 => Some(ApiKey::AlterPartitionReassignments),
343 46 => Some(ApiKey::ListPartitionReassignments),
344 47 => Some(ApiKey::OffsetDelete),
345 48 => Some(ApiKey::DescribeClientQuotas),
346 49 => Some(ApiKey::AlterClientQuotas),
347 50 => Some(ApiKey::DescribeUserScramCredentials),
348 51 => Some(ApiKey::AlterUserScramCredentials),
349 52 => Some(ApiKey::Vote),
350 53 => Some(ApiKey::BeginQuorumEpoch),
351 54 => Some(ApiKey::EndQuorumEpoch),
352 55 => Some(ApiKey::DescribeQuorum),
353 56 => Some(ApiKey::AlterPartition),
354 57 => Some(ApiKey::UpdateFeatures),
355 58 => Some(ApiKey::Envelope),
356 59 => Some(ApiKey::FetchSnapshot),
357 60 => Some(ApiKey::DescribeCluster),
358 61 => Some(ApiKey::DescribeProducers),
359 62 => Some(ApiKey::BrokerRegistration),
360 63 => Some(ApiKey::BrokerHeartbeat),
361 64 => Some(ApiKey::UnregisterBroker),
362 65 => Some(ApiKey::DescribeTransactions),
363 66 => Some(ApiKey::ListTransactions),
364 67 => Some(ApiKey::AllocateProducerIds),
365 68 => Some(ApiKey::ConsumerGroupHeartbeat),
366 69 => Some(ApiKey::ConsumerGroupDescribe),
367 70 => Some(ApiKey::ControllerRegistration),
368 71 => Some(ApiKey::GetTelemetrySubscriptions),
369 72 => Some(ApiKey::PushTelemetry),
370 73 => Some(ApiKey::AssignReplicasToDirs),
371 74 => Some(ApiKey::ListConfigResources),
372 75 => Some(ApiKey::DescribeTopicPartitions),
373 76 => Some(ApiKey::ShareGroupHeartbeat),
374 77 => Some(ApiKey::ShareGroupDescribe),
375 78 => Some(ApiKey::ShareFetch),
376 79 => Some(ApiKey::ShareAcknowledge),
377 80 => Some(ApiKey::AddRaftVoter),
378 81 => Some(ApiKey::RemoveRaftVoter),
379 82 => Some(ApiKey::UpdateRaftVoter),
380 83 => Some(ApiKey::InitializeShareGroupState),
381 84 => Some(ApiKey::ReadShareGroupState),
382 85 => Some(ApiKey::WriteShareGroupState),
383 86 => Some(ApiKey::DeleteShareGroupState),
384 87 => Some(ApiKey::ReadShareGroupStateSummary),
385 88 => Some(ApiKey::StreamsGroupHeartbeat),
386 89 => Some(ApiKey::StreamsGroupDescribe),
387 90 => Some(ApiKey::DescribeShareGroupOffsets),
388 91 => Some(ApiKey::AlterShareGroupOffsets),
389 92 => Some(ApiKey::DeleteShareGroupOffsets),
390 93 => Some(ApiKey::StreamsGroupTopologyDescriptionUpdate),
391 94 => Some(ApiKey::UnregisterController),
392 1020 => Some(ApiKey::GetReplicaLogInfo),
393 _ => None,
394 }
395 }
396}