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