Skip to main content

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

1// AUTO-GENERATED by crabka-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–4).
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–5).
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–2).
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–0).
185    StreamsGroupHeartbeat = 88,
186    /// `StreamsGroupDescribeRequest` (versions 0–0).
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    /// `GetReplicaLogInfoRequest` (versions 0–0).
195    GetReplicaLogInfo = 93,
196}
197impl ApiKey {
198    /// All known API keys, in ascending numeric order.
199    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    /// Resolve from numeric key; returns `None` for unknown keys.
292    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}