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