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