Skip to main content

krabka_protocol/opt/rustwide/workdir/generated/
api_key.rs

1// AUTO-GENERATED by krabka-protocol-codegen against a9ce3221537b8653448750697915607dc7936cf3. Do not edit.
2// To regenerate: ./tools/regenerate.sh
3
4/// Kafka API key registry generated from the vendored schemas.
5///
6/// Each variant corresponds to a request/response pair defined in the schemas.
7/// Variants with `validVersions = "none"` are omitted (reserved keys with no
8/// currently-valid wire version).
9///
10/// The enum is `#[non_exhaustive]` so that adding variants for new Kafka API
11/// keys in future schema updates is non-breaking.
12#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::IntoStaticStr)]
13#[repr(i16)]
14#[non_exhaustive]
15pub enum ApiKey {
16    /// `ProduceRequest` (versions 3–13).
17    Produce = 0,
18    /// `FetchRequest` (versions 4–18).
19    Fetch = 1,
20    /// `ListOffsetsRequest` (versions 1–11).
21    ListOffsets = 2,
22    /// `MetadataRequest` (versions 0–13).
23    Metadata = 3,
24    /// `OffsetCommitRequest` (versions 2–10).
25    OffsetCommit = 8,
26    /// `OffsetFetchRequest` (versions 1–10).
27    OffsetFetch = 9,
28    /// `FindCoordinatorRequest` (versions 0–6).
29    FindCoordinator = 10,
30    /// `JoinGroupRequest` (versions 0–9).
31    JoinGroup = 11,
32    /// `HeartbeatRequest` (versions 0–4).
33    Heartbeat = 12,
34    /// `LeaveGroupRequest` (versions 0–5).
35    LeaveGroup = 13,
36    /// `SyncGroupRequest` (versions 0–5).
37    SyncGroup = 14,
38    /// `DescribeGroupsRequest` (versions 0–6).
39    DescribeGroups = 15,
40    /// `ListGroupsRequest` (versions 0–5).
41    ListGroups = 16,
42    /// `SaslHandshakeRequest` (versions 0–1).
43    SaslHandshake = 17,
44    /// `ApiVersionsRequest` (versions 0–5).
45    ApiVersions = 18,
46    /// `CreateTopicsRequest` (versions 2–7).
47    CreateTopics = 19,
48    /// `DeleteTopicsRequest` (versions 1–6).
49    DeleteTopics = 20,
50    /// `DeleteRecordsRequest` (versions 0–2).
51    DeleteRecords = 21,
52    /// `InitProducerIdRequest` (versions 0–6).
53    InitProducerId = 22,
54    /// `OffsetForLeaderEpochRequest` (versions 2–4).
55    OffsetForLeaderEpoch = 23,
56    /// `AddPartitionsToTxnRequest` (versions 0–5).
57    AddPartitionsToTxn = 24,
58    /// `AddOffsetsToTxnRequest` (versions 0–4).
59    AddOffsetsToTxn = 25,
60    /// `EndTxnRequest` (versions 0–5).
61    EndTxn = 26,
62    /// `WriteTxnMarkersRequest` (versions 1–2).
63    WriteTxnMarkers = 27,
64    /// `TxnOffsetCommitRequest` (versions 0–6).
65    TxnOffsetCommit = 28,
66    /// `DescribeAclsRequest` (versions 1–3).
67    DescribeAcls = 29,
68    /// `CreateAclsRequest` (versions 1–3).
69    CreateAcls = 30,
70    /// `DeleteAclsRequest` (versions 1–3).
71    DeleteAcls = 31,
72    /// `DescribeConfigsRequest` (versions 1–4).
73    DescribeConfigs = 32,
74    /// `AlterConfigsRequest` (versions 0–2).
75    AlterConfigs = 33,
76    /// `AlterReplicaLogDirsRequest` (versions 1–2).
77    AlterReplicaLogDirs = 34,
78    /// `DescribeLogDirsRequest` (versions 1–5).
79    DescribeLogDirs = 35,
80    /// `SaslAuthenticateRequest` (versions 0–2).
81    SaslAuthenticate = 36,
82    /// `CreatePartitionsRequest` (versions 0–3).
83    CreatePartitions = 37,
84    /// `CreateDelegationTokenRequest` (versions 1–3).
85    CreateDelegationToken = 38,
86    /// `RenewDelegationTokenRequest` (versions 1–2).
87    RenewDelegationToken = 39,
88    /// `ExpireDelegationTokenRequest` (versions 1–2).
89    ExpireDelegationToken = 40,
90    /// `DescribeDelegationTokenRequest` (versions 1–3).
91    DescribeDelegationToken = 41,
92    /// `DeleteGroupsRequest` (versions 0–3).
93    DeleteGroups = 42,
94    /// `ElectLeadersRequest` (versions 0–2).
95    ElectLeaders = 43,
96    /// `IncrementalAlterConfigsRequest` (versions 0–1).
97    IncrementalAlterConfigs = 44,
98    /// `AlterPartitionReassignmentsRequest` (versions 0–1).
99    AlterPartitionReassignments = 45,
100    /// `ListPartitionReassignmentsRequest` (versions 0–0).
101    ListPartitionReassignments = 46,
102    /// `OffsetDeleteRequest` (versions 0–0).
103    OffsetDelete = 47,
104    /// `DescribeClientQuotasRequest` (versions 0–1).
105    DescribeClientQuotas = 48,
106    /// `AlterClientQuotasRequest` (versions 0–1).
107    AlterClientQuotas = 49,
108    /// `DescribeUserScramCredentialsRequest` (versions 0–0).
109    DescribeUserScramCredentials = 50,
110    /// `AlterUserScramCredentialsRequest` (versions 0–0).
111    AlterUserScramCredentials = 51,
112    /// `VoteRequest` (versions 0–2).
113    Vote = 52,
114    /// `BeginQuorumEpochRequest` (versions 0–1).
115    BeginQuorumEpoch = 53,
116    /// `EndQuorumEpochRequest` (versions 0–1).
117    EndQuorumEpoch = 54,
118    /// `DescribeQuorumRequest` (versions 0–2).
119    DescribeQuorum = 55,
120    /// `AlterPartitionRequest` (versions 2–3).
121    AlterPartition = 56,
122    /// `UpdateFeaturesRequest` (versions 0–2).
123    UpdateFeatures = 57,
124    /// `EnvelopeRequest` (versions 0–0).
125    Envelope = 58,
126    /// `FetchSnapshotRequest` (versions 0–1).
127    FetchSnapshot = 59,
128    /// `DescribeClusterRequest` (versions 0–2).
129    DescribeCluster = 60,
130    /// `DescribeProducersRequest` (versions 0–0).
131    DescribeProducers = 61,
132    /// `BrokerRegistrationRequest` (versions 0–4).
133    BrokerRegistration = 62,
134    /// `BrokerHeartbeatRequest` (versions 0–2).
135    BrokerHeartbeat = 63,
136    /// `UnregisterBrokerRequest` (versions 0–0).
137    UnregisterBroker = 64,
138    /// `DescribeTransactionsRequest` (versions 0–0).
139    DescribeTransactions = 65,
140    /// `ListTransactionsRequest` (versions 0–2).
141    ListTransactions = 66,
142    /// `AllocateProducerIdsRequest` (versions 0–0).
143    AllocateProducerIds = 67,
144    /// `ConsumerGroupHeartbeatRequest` (versions 0–1).
145    ConsumerGroupHeartbeat = 68,
146    /// `ConsumerGroupDescribeRequest` (versions 0–1).
147    ConsumerGroupDescribe = 69,
148    /// `ControllerRegistrationRequest` (versions 0–0).
149    ControllerRegistration = 70,
150    /// `GetTelemetrySubscriptionsRequest` (versions 0–0).
151    GetTelemetrySubscriptions = 71,
152    /// `PushTelemetryRequest` (versions 0–0).
153    PushTelemetry = 72,
154    /// `AssignReplicasToDirsRequest` (versions 0–0).
155    AssignReplicasToDirs = 73,
156    /// `ListConfigResourcesRequest` (versions 0–1).
157    ListConfigResources = 74,
158    /// `DescribeTopicPartitionsRequest` (versions 0–0).
159    DescribeTopicPartitions = 75,
160    /// `ShareGroupHeartbeatRequest` (versions 1–1).
161    ShareGroupHeartbeat = 76,
162    /// `ShareGroupDescribeRequest` (versions 1–1).
163    ShareGroupDescribe = 77,
164    /// `ShareFetchRequest` (versions 1–2).
165    ShareFetch = 78,
166    /// `ShareAcknowledgeRequest` (versions 1–2).
167    ShareAcknowledge = 79,
168    /// `AddRaftVoterRequest` (versions 0–1).
169    AddRaftVoter = 80,
170    /// `RemoveRaftVoterRequest` (versions 0–0).
171    RemoveRaftVoter = 81,
172    /// `UpdateRaftVoterRequest` (versions 0–0).
173    UpdateRaftVoter = 82,
174    /// `InitializeShareGroupStateRequest` (versions 0–0).
175    InitializeShareGroupState = 83,
176    /// `ReadShareGroupStateRequest` (versions 0–0).
177    ReadShareGroupState = 84,
178    /// `WriteShareGroupStateRequest` (versions 0–1).
179    WriteShareGroupState = 85,
180    /// `DeleteShareGroupStateRequest` (versions 0–0).
181    DeleteShareGroupState = 86,
182    /// `ReadShareGroupStateSummaryRequest` (versions 0–1).
183    ReadShareGroupStateSummary = 87,
184    /// `StreamsGroupHeartbeatRequest` (versions 0–1).
185    StreamsGroupHeartbeat = 88,
186    /// `StreamsGroupDescribeRequest` (versions 0–1).
187    StreamsGroupDescribe = 89,
188    /// `DescribeShareGroupOffsetsRequest` (versions 0–1).
189    DescribeShareGroupOffsets = 90,
190    /// `AlterShareGroupOffsetsRequest` (versions 0–0).
191    AlterShareGroupOffsets = 91,
192    /// `DeleteShareGroupOffsetsRequest` (versions 0–0).
193    DeleteShareGroupOffsets = 92,
194    /// `StreamsGroupTopologyDescriptionUpdateRequest` (versions 0–0).
195    StreamsGroupTopologyDescriptionUpdate = 93,
196    /// `UnregisterControllerRequest` (versions 0–0).
197    UnregisterController = 94,
198    /// `GetReplicaLogInfoRequest` (versions 0–0).
199    GetReplicaLogInfo = 1020,
200}
201impl ApiKey {
202    /// All known API keys, in ascending numeric order.
203    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    /// Resolve from numeric key; returns `None` for unknown keys.
298    #[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}