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}
197
198impl ApiKey {
199    /// All known API keys, in ascending numeric order.
200    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    /// Resolve from numeric key; returns `None` for unknown keys.
294    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}