kafka-python 3.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. kafka/__init__.py +34 -0
  2. kafka/__main__.py +5 -0
  3. kafka/admin/__init__.py +29 -0
  4. kafka/admin/__main__.py +5 -0
  5. kafka/admin/_acls.py +355 -0
  6. kafka/admin/_cluster.py +359 -0
  7. kafka/admin/_configs.py +479 -0
  8. kafka/admin/_groups.py +754 -0
  9. kafka/admin/_partitions.py +595 -0
  10. kafka/admin/_topics.py +281 -0
  11. kafka/admin/_transactions.py +450 -0
  12. kafka/admin/_users.py +194 -0
  13. kafka/admin/client.py +373 -0
  14. kafka/benchmarks/__init__.py +0 -0
  15. kafka/benchmarks/consumer_performance.py +138 -0
  16. kafka/benchmarks/load_example.py +109 -0
  17. kafka/benchmarks/producer_encode_path.py +201 -0
  18. kafka/benchmarks/producer_performance.py +161 -0
  19. kafka/benchmarks/profile_protocol.py +138 -0
  20. kafka/benchmarks/protocol_old_vs_new.py +447 -0
  21. kafka/benchmarks/record_batch_compose.py +77 -0
  22. kafka/benchmarks/record_batch_read.py +82 -0
  23. kafka/benchmarks/varint_speed.py +426 -0
  24. kafka/cli/__init__.py +36 -0
  25. kafka/cli/admin/__init__.py +117 -0
  26. kafka/cli/admin/acls/__init__.py +9 -0
  27. kafka/cli/admin/acls/common.py +76 -0
  28. kafka/cli/admin/acls/create.py +19 -0
  29. kafka/cli/admin/acls/delete.py +23 -0
  30. kafka/cli/admin/acls/describe.py +16 -0
  31. kafka/cli/admin/cluster/__init__.py +14 -0
  32. kafka/cli/admin/cluster/describe.py +11 -0
  33. kafka/cli/admin/cluster/describe_quorum.py +11 -0
  34. kafka/cli/admin/cluster/features.py +52 -0
  35. kafka/cli/admin/cluster/log_dirs.py +43 -0
  36. kafka/cli/admin/cluster/versions.py +33 -0
  37. kafka/cli/admin/configs/__init__.py +10 -0
  38. kafka/cli/admin/configs/alter.py +43 -0
  39. kafka/cli/admin/configs/common.py +17 -0
  40. kafka/cli/admin/configs/describe.py +30 -0
  41. kafka/cli/admin/configs/list.py +16 -0
  42. kafka/cli/admin/configs/reset.py +20 -0
  43. kafka/cli/admin/groups/__init__.py +16 -0
  44. kafka/cli/admin/groups/alter_offsets.py +30 -0
  45. kafka/cli/admin/groups/delete.py +11 -0
  46. kafka/cli/admin/groups/delete_offsets.py +29 -0
  47. kafka/cli/admin/groups/describe.py +11 -0
  48. kafka/cli/admin/groups/list.py +28 -0
  49. kafka/cli/admin/groups/list_offsets.py +29 -0
  50. kafka/cli/admin/groups/remove_members.py +40 -0
  51. kafka/cli/admin/groups/reset_offsets.py +139 -0
  52. kafka/cli/admin/partitions/__init__.py +21 -0
  53. kafka/cli/admin/partitions/alter_reassignments.py +37 -0
  54. kafka/cli/admin/partitions/create.py +27 -0
  55. kafka/cli/admin/partitions/delete_records.py +31 -0
  56. kafka/cli/admin/partitions/describe.py +36 -0
  57. kafka/cli/admin/partitions/elect_leaders.py +53 -0
  58. kafka/cli/admin/partitions/list_offsets.py +88 -0
  59. kafka/cli/admin/partitions/list_reassignments.py +35 -0
  60. kafka/cli/admin/topics/__init__.py +10 -0
  61. kafka/cli/admin/topics/create.py +13 -0
  62. kafka/cli/admin/topics/delete.py +19 -0
  63. kafka/cli/admin/topics/describe.py +18 -0
  64. kafka/cli/admin/topics/list.py +11 -0
  65. kafka/cli/admin/transactions/__init__.py +17 -0
  66. kafka/cli/admin/transactions/abort.py +38 -0
  67. kafka/cli/admin/transactions/describe.py +24 -0
  68. kafka/cli/admin/transactions/describe_producers.py +29 -0
  69. kafka/cli/admin/transactions/find_hanging.py +26 -0
  70. kafka/cli/admin/transactions/list.py +37 -0
  71. kafka/cli/admin/users/__init__.py +8 -0
  72. kafka/cli/admin/users/alter_user_scram_credentials.py +34 -0
  73. kafka/cli/admin/users/describe_user_scram_credentials.py +15 -0
  74. kafka/cli/common.py +95 -0
  75. kafka/cli/consumer/__init__.py +63 -0
  76. kafka/cli/producer/__init__.py +57 -0
  77. kafka/cluster.py +824 -0
  78. kafka/codec.py +325 -0
  79. kafka/consumer/__init__.py +5 -0
  80. kafka/consumer/__main__.py +5 -0
  81. kafka/consumer/fetcher.py +2012 -0
  82. kafka/consumer/group.py +1347 -0
  83. kafka/consumer/subscription_state.py +897 -0
  84. kafka/coordinator/__init__.py +0 -0
  85. kafka/coordinator/assignors/__init__.py +0 -0
  86. kafka/coordinator/assignors/abstract.py +90 -0
  87. kafka/coordinator/assignors/cooperative_sticky.py +167 -0
  88. kafka/coordinator/assignors/range.py +81 -0
  89. kafka/coordinator/assignors/roundrobin.py +101 -0
  90. kafka/coordinator/assignors/sticky/StickyAssignorUserData.json +37 -0
  91. kafka/coordinator/assignors/sticky/__init__.py +0 -0
  92. kafka/coordinator/assignors/sticky/partition_movements.py +149 -0
  93. kafka/coordinator/assignors/sticky/sorted_set.py +63 -0
  94. kafka/coordinator/assignors/sticky/sticky_assignor.py +665 -0
  95. kafka/coordinator/assignors/sticky/user_data.py +8 -0
  96. kafka/coordinator/base.py +1215 -0
  97. kafka/coordinator/consumer.py +1224 -0
  98. kafka/coordinator/heartbeat.py +82 -0
  99. kafka/coordinator/subscription.py +34 -0
  100. kafka/errors.py +1004 -0
  101. kafka/future.py +166 -0
  102. kafka/metrics/__init__.py +13 -0
  103. kafka/metrics/compound_stat.py +33 -0
  104. kafka/metrics/dict_reporter.py +81 -0
  105. kafka/metrics/kafka_metric.py +36 -0
  106. kafka/metrics/measurable.py +27 -0
  107. kafka/metrics/measurable_stat.py +13 -0
  108. kafka/metrics/metric_config.py +33 -0
  109. kafka/metrics/metric_name.py +105 -0
  110. kafka/metrics/metrics.py +261 -0
  111. kafka/metrics/metrics_reporter.py +53 -0
  112. kafka/metrics/quota.py +41 -0
  113. kafka/metrics/stat.py +19 -0
  114. kafka/metrics/stats/__init__.py +15 -0
  115. kafka/metrics/stats/avg.py +24 -0
  116. kafka/metrics/stats/count.py +17 -0
  117. kafka/metrics/stats/histogram.py +99 -0
  118. kafka/metrics/stats/max_stat.py +17 -0
  119. kafka/metrics/stats/min_stat.py +19 -0
  120. kafka/metrics/stats/percentile.py +14 -0
  121. kafka/metrics/stats/percentiles.py +75 -0
  122. kafka/metrics/stats/rate.py +118 -0
  123. kafka/metrics/stats/sampled_stat.py +99 -0
  124. kafka/metrics/stats/sensor.py +136 -0
  125. kafka/metrics/stats/total.py +15 -0
  126. kafka/net/__init__.py +19 -0
  127. kafka/net/compat.py +165 -0
  128. kafka/net/connection.py +593 -0
  129. kafka/net/http_connect.py +144 -0
  130. kafka/net/inet.py +122 -0
  131. kafka/net/manager.py +451 -0
  132. kafka/net/metrics.py +149 -0
  133. kafka/net/sasl/__init__.py +32 -0
  134. kafka/net/sasl/abc.py +28 -0
  135. kafka/net/sasl/gssapi.py +95 -0
  136. kafka/net/sasl/msk.py +245 -0
  137. kafka/net/sasl/oauth.py +98 -0
  138. kafka/net/sasl/plain.py +42 -0
  139. kafka/net/sasl/scram.py +135 -0
  140. kafka/net/sasl/sspi.py +111 -0
  141. kafka/net/selector.py +644 -0
  142. kafka/net/socks5.py +262 -0
  143. kafka/net/transport.py +415 -0
  144. kafka/net/wakeup_notifier.py +72 -0
  145. kafka/partitioner/__init__.py +8 -0
  146. kafka/partitioner/abc.py +8 -0
  147. kafka/partitioner/default.py +89 -0
  148. kafka/partitioner/sticky.py +109 -0
  149. kafka/producer/__init__.py +5 -0
  150. kafka/producer/__main__.py +5 -0
  151. kafka/producer/future.py +101 -0
  152. kafka/producer/kafka.py +1123 -0
  153. kafka/producer/producer_batch.py +192 -0
  154. kafka/producer/record_accumulator.py +647 -0
  155. kafka/producer/sender.py +884 -0
  156. kafka/producer/transaction_manager.py +1326 -0
  157. kafka/protocol/__init__.py +0 -0
  158. kafka/protocol/admin/__init__.py +29 -0
  159. kafka/protocol/admin/acl.py +83 -0
  160. kafka/protocol/admin/acl.pyi +375 -0
  161. kafka/protocol/admin/client_quotas.py +14 -0
  162. kafka/protocol/admin/client_quotas.pyi +265 -0
  163. kafka/protocol/admin/cluster.py +31 -0
  164. kafka/protocol/admin/cluster.pyi +620 -0
  165. kafka/protocol/admin/configs.py +22 -0
  166. kafka/protocol/admin/configs.pyi +437 -0
  167. kafka/protocol/admin/groups.py +24 -0
  168. kafka/protocol/admin/groups.pyi +261 -0
  169. kafka/protocol/admin/topics.py +53 -0
  170. kafka/protocol/admin/topics.pyi +982 -0
  171. kafka/protocol/admin/transactions.py +18 -0
  172. kafka/protocol/admin/transactions.pyi +311 -0
  173. kafka/protocol/admin/users.py +14 -0
  174. kafka/protocol/admin/users.pyi +223 -0
  175. kafka/protocol/api_data.py +125 -0
  176. kafka/protocol/api_header.py +55 -0
  177. kafka/protocol/api_key.py +97 -0
  178. kafka/protocol/api_message.py +277 -0
  179. kafka/protocol/broker_version_data.py +246 -0
  180. kafka/protocol/consumer/__init__.py +13 -0
  181. kafka/protocol/consumer/fetch.py +16 -0
  182. kafka/protocol/consumer/fetch.pyi +298 -0
  183. kafka/protocol/consumer/group.py +38 -0
  184. kafka/protocol/consumer/group.pyi +824 -0
  185. kafka/protocol/consumer/metadata.py +30 -0
  186. kafka/protocol/consumer/metadata.pyi +89 -0
  187. kafka/protocol/consumer/offsets.py +75 -0
  188. kafka/protocol/consumer/offsets.pyi +288 -0
  189. kafka/protocol/data_container.py +166 -0
  190. kafka/protocol/frame.py +30 -0
  191. kafka/protocol/generate_stubs.py +468 -0
  192. kafka/protocol/metadata/__init__.py +10 -0
  193. kafka/protocol/metadata/api_versions.py +41 -0
  194. kafka/protocol/metadata/api_versions.pyi +128 -0
  195. kafka/protocol/metadata/find_coordinator.py +19 -0
  196. kafka/protocol/metadata/find_coordinator.pyi +105 -0
  197. kafka/protocol/metadata/metadata.py +34 -0
  198. kafka/protocol/metadata/metadata.pyi +160 -0
  199. kafka/protocol/old/__init__.py +0 -0
  200. kafka/protocol/old/abstract.py +17 -0
  201. kafka/protocol/old/add_offsets_to_txn.py +54 -0
  202. kafka/protocol/old/add_partitions_to_txn.py +71 -0
  203. kafka/protocol/old/admin.py +1086 -0
  204. kafka/protocol/old/api.py +205 -0
  205. kafka/protocol/old/api_versions.py +133 -0
  206. kafka/protocol/old/commit.py +355 -0
  207. kafka/protocol/old/consumer_protocol.py +36 -0
  208. kafka/protocol/old/end_txn.py +53 -0
  209. kafka/protocol/old/fetch.py +408 -0
  210. kafka/protocol/old/find_coordinator.py +72 -0
  211. kafka/protocol/old/group.py +451 -0
  212. kafka/protocol/old/init_producer_id.py +42 -0
  213. kafka/protocol/old/list_offsets.py +186 -0
  214. kafka/protocol/old/metadata.py +290 -0
  215. kafka/protocol/old/offset_for_leader_epoch.py +133 -0
  216. kafka/protocol/old/produce.py +247 -0
  217. kafka/protocol/old/sasl_authenticate.py +38 -0
  218. kafka/protocol/old/sasl_handshake.py +39 -0
  219. kafka/protocol/old/struct.py +87 -0
  220. kafka/protocol/old/txn_offset_commit.py +73 -0
  221. kafka/protocol/old/types.py +440 -0
  222. kafka/protocol/parser.py +191 -0
  223. kafka/protocol/producer/__init__.py +7 -0
  224. kafka/protocol/producer/produce.py +17 -0
  225. kafka/protocol/producer/produce.pyi +197 -0
  226. kafka/protocol/producer/transaction.py +30 -0
  227. kafka/protocol/producer/transaction.pyi +663 -0
  228. kafka/protocol/sasl.py +52 -0
  229. kafka/protocol/sasl.pyi +126 -0
  230. kafka/protocol/schemas/__init__.py +7 -0
  231. kafka/protocol/schemas/fields/__init__.py +7 -0
  232. kafka/protocol/schemas/fields/array.py +127 -0
  233. kafka/protocol/schemas/fields/base.py +156 -0
  234. kafka/protocol/schemas/fields/codecs/__init__.py +12 -0
  235. kafka/protocol/schemas/fields/codecs/encode_buffer.py +82 -0
  236. kafka/protocol/schemas/fields/codecs/tagged_fields.py +109 -0
  237. kafka/protocol/schemas/fields/codecs/types.py +505 -0
  238. kafka/protocol/schemas/fields/codegen.py +40 -0
  239. kafka/protocol/schemas/fields/simple.py +127 -0
  240. kafka/protocol/schemas/fields/struct.py +357 -0
  241. kafka/protocol/schemas/fields/struct_array.py +142 -0
  242. kafka/protocol/schemas/load_json.py +42 -0
  243. kafka/protocol/schemas/resources/AddOffsetsToTxnRequest.json +40 -0
  244. kafka/protocol/schemas/resources/AddOffsetsToTxnResponse.json +35 -0
  245. kafka/protocol/schemas/resources/AddPartitionsToTxnRequest.json +65 -0
  246. kafka/protocol/schemas/resources/AddPartitionsToTxnResponse.json +60 -0
  247. kafka/protocol/schemas/resources/AlterClientQuotasRequest.json +47 -0
  248. kafka/protocol/schemas/resources/AlterClientQuotasResponse.json +41 -0
  249. kafka/protocol/schemas/resources/AlterConfigsRequest.json +43 -0
  250. kafka/protocol/schemas/resources/AlterConfigsResponse.json +39 -0
  251. kafka/protocol/schemas/resources/AlterPartitionReassignmentsRequest.json +42 -0
  252. kafka/protocol/schemas/resources/AlterPartitionReassignmentsResponse.json +47 -0
  253. kafka/protocol/schemas/resources/AlterReplicaLogDirsRequest.json +41 -0
  254. kafka/protocol/schemas/resources/AlterReplicaLogDirsResponse.json +41 -0
  255. kafka/protocol/schemas/resources/AlterUserScramCredentialsRequest.json +45 -0
  256. kafka/protocol/schemas/resources/AlterUserScramCredentialsResponse.json +35 -0
  257. kafka/protocol/schemas/resources/ApiVersionsRequest.json +34 -0
  258. kafka/protocol/schemas/resources/ApiVersionsResponse.json +79 -0
  259. kafka/protocol/schemas/resources/ConsumerProtocolAssignment.json +42 -0
  260. kafka/protocol/schemas/resources/ConsumerProtocolSubscription.json +49 -0
  261. kafka/protocol/schemas/resources/CreateAclsRequest.json +46 -0
  262. kafka/protocol/schemas/resources/CreateAclsResponse.json +37 -0
  263. kafka/protocol/schemas/resources/CreatePartitionsRequest.json +47 -0
  264. kafka/protocol/schemas/resources/CreatePartitionsResponse.json +41 -0
  265. kafka/protocol/schemas/resources/CreateTopicsRequest.json +65 -0
  266. kafka/protocol/schemas/resources/CreateTopicsResponse.json +72 -0
  267. kafka/protocol/schemas/resources/DeleteAclsRequest.json +46 -0
  268. kafka/protocol/schemas/resources/DeleteAclsResponse.json +59 -0
  269. kafka/protocol/schemas/resources/DeleteGroupsRequest.json +30 -0
  270. kafka/protocol/schemas/resources/DeleteGroupsResponse.json +36 -0
  271. kafka/protocol/schemas/resources/DeleteRecordsRequest.json +42 -0
  272. kafka/protocol/schemas/resources/DeleteRecordsResponse.json +43 -0
  273. kafka/protocol/schemas/resources/DeleteTopicsRequest.json +43 -0
  274. kafka/protocol/schemas/resources/DeleteTopicsResponse.json +52 -0
  275. kafka/protocol/schemas/resources/DescribeAclsRequest.json +43 -0
  276. kafka/protocol/schemas/resources/DescribeAclsResponse.json +55 -0
  277. kafka/protocol/schemas/resources/DescribeClientQuotasRequest.json +37 -0
  278. kafka/protocol/schemas/resources/DescribeClientQuotasResponse.json +47 -0
  279. kafka/protocol/schemas/resources/DescribeClusterRequest.json +35 -0
  280. kafka/protocol/schemas/resources/DescribeClusterResponse.json +56 -0
  281. kafka/protocol/schemas/resources/DescribeConfigsRequest.json +42 -0
  282. kafka/protocol/schemas/resources/DescribeConfigsResponse.json +69 -0
  283. kafka/protocol/schemas/resources/DescribeGroupsRequest.json +38 -0
  284. kafka/protocol/schemas/resources/DescribeGroupsResponse.json +74 -0
  285. kafka/protocol/schemas/resources/DescribeLogDirsRequest.json +38 -0
  286. kafka/protocol/schemas/resources/DescribeLogDirsResponse.json +65 -0
  287. kafka/protocol/schemas/resources/DescribeProducersRequest.json +32 -0
  288. kafka/protocol/schemas/resources/DescribeProducersResponse.json +55 -0
  289. kafka/protocol/schemas/resources/DescribeQuorumRequest.json +39 -0
  290. kafka/protocol/schemas/resources/DescribeQuorumResponse.json +82 -0
  291. kafka/protocol/schemas/resources/DescribeTopicPartitionsRequest.json +40 -0
  292. kafka/protocol/schemas/resources/DescribeTopicPartitionsResponse.json +66 -0
  293. kafka/protocol/schemas/resources/DescribeTransactionsRequest.json +27 -0
  294. kafka/protocol/schemas/resources/DescribeTransactionsResponse.json +52 -0
  295. kafka/protocol/schemas/resources/DescribeUserScramCredentialsRequest.json +30 -0
  296. kafka/protocol/schemas/resources/DescribeUserScramCredentialsResponse.json +45 -0
  297. kafka/protocol/schemas/resources/ElectLeadersRequest.json +41 -0
  298. kafka/protocol/schemas/resources/ElectLeadersResponse.json +45 -0
  299. kafka/protocol/schemas/resources/EndTxnRequest.json +43 -0
  300. kafka/protocol/schemas/resources/EndTxnResponse.json +41 -0
  301. kafka/protocol/schemas/resources/FetchRequest.json +125 -0
  302. kafka/protocol/schemas/resources/FetchResponse.json +124 -0
  303. kafka/protocol/schemas/resources/FindCoordinatorRequest.json +43 -0
  304. kafka/protocol/schemas/resources/FindCoordinatorResponse.json +58 -0
  305. kafka/protocol/schemas/resources/HeartbeatRequest.json +39 -0
  306. kafka/protocol/schemas/resources/HeartbeatResponse.json +35 -0
  307. kafka/protocol/schemas/resources/IncrementalAlterConfigsRequest.json +44 -0
  308. kafka/protocol/schemas/resources/IncrementalAlterConfigsResponse.json +38 -0
  309. kafka/protocol/schemas/resources/InitProducerIdRequest.json +50 -0
  310. kafka/protocol/schemas/resources/InitProducerIdResponse.json +47 -0
  311. kafka/protocol/schemas/resources/JoinGroupRequest.json +63 -0
  312. kafka/protocol/schemas/resources/JoinGroupResponse.json +69 -0
  313. kafka/protocol/schemas/resources/LeaveGroupRequest.json +47 -0
  314. kafka/protocol/schemas/resources/LeaveGroupResponse.json +47 -0
  315. kafka/protocol/schemas/resources/ListConfigResourcesRequest.json +31 -0
  316. kafka/protocol/schemas/resources/ListConfigResourcesResponse.json +37 -0
  317. kafka/protocol/schemas/resources/ListGroupsRequest.json +36 -0
  318. kafka/protocol/schemas/resources/ListGroupsResponse.json +49 -0
  319. kafka/protocol/schemas/resources/ListOffsetsRequest.json +72 -0
  320. kafka/protocol/schemas/resources/ListOffsetsResponse.json +71 -0
  321. kafka/protocol/schemas/resources/ListPartitionReassignmentsRequest.json +34 -0
  322. kafka/protocol/schemas/resources/ListPartitionReassignmentsResponse.json +46 -0
  323. kafka/protocol/schemas/resources/ListTransactionsRequest.json +40 -0
  324. kafka/protocol/schemas/resources/ListTransactionsResponse.json +42 -0
  325. kafka/protocol/schemas/resources/MetadataRequest.json +56 -0
  326. kafka/protocol/schemas/resources/MetadataResponse.json +101 -0
  327. kafka/protocol/schemas/resources/OffsetCommitRequest.json +76 -0
  328. kafka/protocol/schemas/resources/OffsetCommitResponse.json +71 -0
  329. kafka/protocol/schemas/resources/OffsetDeleteRequest.json +39 -0
  330. kafka/protocol/schemas/resources/OffsetDeleteResponse.json +42 -0
  331. kafka/protocol/schemas/resources/OffsetFetchRequest.json +76 -0
  332. kafka/protocol/schemas/resources/OffsetFetchResponse.json +107 -0
  333. kafka/protocol/schemas/resources/OffsetForLeaderEpochRequest.json +52 -0
  334. kafka/protocol/schemas/resources/OffsetForLeaderEpochResponse.json +51 -0
  335. kafka/protocol/schemas/resources/ProduceRequest.json +73 -0
  336. kafka/protocol/schemas/resources/ProduceResponse.json +96 -0
  337. kafka/protocol/schemas/resources/RequestHeader.json +44 -0
  338. kafka/protocol/schemas/resources/ResponseHeader.json +26 -0
  339. kafka/protocol/schemas/resources/SaslAuthenticateRequest.json +29 -0
  340. kafka/protocol/schemas/resources/SaslAuthenticateResponse.json +34 -0
  341. kafka/protocol/schemas/resources/SaslHandshakeRequest.json +31 -0
  342. kafka/protocol/schemas/resources/SaslHandshakeResponse.json +32 -0
  343. kafka/protocol/schemas/resources/SyncGroupRequest.json +56 -0
  344. kafka/protocol/schemas/resources/SyncGroupResponse.json +46 -0
  345. kafka/protocol/schemas/resources/TxnOffsetCommitRequest.json +68 -0
  346. kafka/protocol/schemas/resources/TxnOffsetCommitResponse.json +47 -0
  347. kafka/protocol/schemas/resources/UpdateFeaturesRequest.json +43 -0
  348. kafka/protocol/schemas/resources/UpdateFeaturesResponse.json +39 -0
  349. kafka/protocol/schemas/resources/WriteTxnMarkersRequest.json +49 -0
  350. kafka/protocol/schemas/resources/WriteTxnMarkersResponse.json +45 -0
  351. kafka/protocol/schemas/resources/__init__.py +0 -0
  352. kafka/record/__init__.py +3 -0
  353. kafka/record/_crc32c.py +161 -0
  354. kafka/record/abc.py +144 -0
  355. kafka/record/default_records.py +782 -0
  356. kafka/record/legacy_records.py +587 -0
  357. kafka/record/memory_records.py +255 -0
  358. kafka/record/util.py +135 -0
  359. kafka/serializer/__init__.py +4 -0
  360. kafka/serializer/abstract.py +20 -0
  361. kafka/serializer/default.py +16 -0
  362. kafka/serializer/json.py +17 -0
  363. kafka/serializer/wrapper.py +21 -0
  364. kafka/structs.py +69 -0
  365. kafka/util.py +159 -0
  366. kafka/vendor/__init__.py +0 -0
  367. kafka/version.py +1 -0
  368. kafka_python-3.0.0.dist-info/METADATA +319 -0
  369. kafka_python-3.0.0.dist-info/RECORD +373 -0
  370. kafka_python-3.0.0.dist-info/WHEEL +5 -0
  371. kafka_python-3.0.0.dist-info/entry_points.txt +2 -0
  372. kafka_python-3.0.0.dist-info/licenses/LICENSE +202 -0
  373. kafka_python-3.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,65 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 24,
18
+ "type": "request",
19
+ "listeners": ["broker"],
20
+ "name": "AddPartitionsToTxnRequest",
21
+ // Version 1 is the same as version 0.
22
+ //
23
+ // Version 2 adds the support for new error code PRODUCER_FENCED.
24
+ //
25
+ // Version 3 enables flexible versions.
26
+ //
27
+ // Version 4 adds VerifyOnly field to check if partitions are already in transaction and adds support to batch multiple transactions.
28
+ //
29
+ // Version 5 adds support for new error code TRANSACTION_ABORTABLE (KIP-890).
30
+ // Versions 3 and below will be exclusively used by clients and versions 4 and above will be used by brokers.
31
+ "latestVersionUnstable": false,
32
+ "validVersions": "0-5",
33
+ "flexibleVersions": "3+",
34
+ "fields": [
35
+ { "name": "Transactions", "type": "[]AddPartitionsToTxnTransaction", "versions": "4+",
36
+ "about": "List of transactions to add partitions to.", "fields": [
37
+ { "name": "TransactionalId", "type": "string", "versions": "4+", "mapKey": true, "entityType": "transactionalId",
38
+ "about": "The transactional id corresponding to the transaction." },
39
+ { "name": "ProducerId", "type": "int64", "versions": "4+", "entityType": "producerId",
40
+ "about": "Current producer id in use by the transactional id." },
41
+ { "name": "ProducerEpoch", "type": "int16", "versions": "4+",
42
+ "about": "Current epoch associated with the producer id." },
43
+ { "name": "VerifyOnly", "type": "bool", "versions": "4+", "default": false,
44
+ "about": "Boolean to signify if we want to check if the partition is in the transaction rather than add it." },
45
+ { "name": "Topics", "type": "[]AddPartitionsToTxnTopic", "versions": "4+",
46
+ "about": "The partitions to add to the transaction." }
47
+ ]},
48
+ { "name": "V3AndBelowTransactionalId", "type": "string", "versions": "0-3", "entityType": "transactionalId",
49
+ "about": "The transactional id corresponding to the transaction." },
50
+ { "name": "V3AndBelowProducerId", "type": "int64", "versions": "0-3", "entityType": "producerId",
51
+ "about": "Current producer id in use by the transactional id." },
52
+ { "name": "V3AndBelowProducerEpoch", "type": "int16", "versions": "0-3",
53
+ "about": "Current epoch associated with the producer id." },
54
+ { "name": "V3AndBelowTopics", "type": "[]AddPartitionsToTxnTopic", "versions": "0-3",
55
+ "about": "The partitions to add to the transaction." }
56
+ ],
57
+ "commonStructs": [
58
+ { "name": "AddPartitionsToTxnTopic", "versions": "0+", "fields": [
59
+ { "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
60
+ "about": "The name of the topic." },
61
+ { "name": "Partitions", "type": "[]int32", "versions": "0+",
62
+ "about": "The partition indexes to add to the transaction." }
63
+ ]}
64
+ ]
65
+ }
@@ -0,0 +1,60 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 24,
18
+ "type": "response",
19
+ "name": "AddPartitionsToTxnResponse",
20
+ // Starting in version 1, on quota violation brokers send out responses before throttling.
21
+ //
22
+ // Version 2 adds the support for new error code PRODUCER_FENCED.
23
+ //
24
+ // Version 3 enables flexible versions.
25
+ //
26
+ // Version 4 adds support to batch multiple transactions and a top level error code.
27
+ //
28
+ // Version 5 adds support for new error code TRANSACTION_ABORTABLE (KIP-890).
29
+ "validVersions": "0-5",
30
+ "flexibleVersions": "3+",
31
+ "fields": [
32
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
33
+ "about": "Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
34
+ { "name": "ErrorCode", "type": "int16", "versions": "4+", "ignorable": true,
35
+ "about": "The response top level error code." },
36
+ { "name": "ResultsByTransaction", "type": "[]AddPartitionsToTxnResult", "versions": "4+",
37
+ "about": "Results categorized by transactional ID.", "fields": [
38
+ { "name": "TransactionalId", "type": "string", "versions": "4+", "mapKey": true, "entityType": "transactionalId",
39
+ "about": "The transactional id corresponding to the transaction." },
40
+ { "name": "TopicResults", "type": "[]AddPartitionsToTxnTopicResult", "versions": "4+",
41
+ "about": "The results for each topic." }
42
+ ]},
43
+ { "name": "ResultsByTopicV3AndBelow", "type": "[]AddPartitionsToTxnTopicResult", "versions": "0-3",
44
+ "about": "The results for each topic." }
45
+ ],
46
+ "commonStructs": [
47
+ { "name": "AddPartitionsToTxnTopicResult", "versions": "0+", "fields": [
48
+ { "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
49
+ "about": "The topic name." },
50
+ { "name": "ResultsByPartition", "type": "[]AddPartitionsToTxnPartitionResult", "versions": "0+",
51
+ "about": "The results for each partition." }
52
+ ]},
53
+ { "name": "AddPartitionsToTxnPartitionResult", "versions": "0+", "fields": [
54
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+", "mapKey": true,
55
+ "about": "The partition indexes." },
56
+ { "name": "PartitionErrorCode", "type": "int16", "versions": "0+",
57
+ "about": "The response error code." }
58
+ ]}
59
+ ]
60
+ }
@@ -0,0 +1,47 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 49,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "AlterClientQuotasRequest",
21
+ "validVersions": "0-1",
22
+ // Version 1 enables flexible versions.
23
+ "flexibleVersions": "1+",
24
+ "fields": [
25
+ { "name": "Entries", "type": "[]EntryData", "versions": "0+",
26
+ "about": "The quota configuration entries to alter.", "fields": [
27
+ { "name": "Entity", "type": "[]EntityData", "versions": "0+",
28
+ "about": "The quota entity to alter.", "fields": [
29
+ { "name": "EntityType", "type": "string", "versions": "0+",
30
+ "about": "The entity type." },
31
+ { "name": "EntityName", "type": "string", "versions": "0+", "nullableVersions": "0+",
32
+ "about": "The name of the entity, or null if the default." }
33
+ ]},
34
+ { "name": "Ops", "type": "[]OpData", "versions": "0+",
35
+ "about": "An individual quota configuration entry to alter.", "fields": [
36
+ { "name": "Key", "type": "string", "versions": "0+",
37
+ "about": "The quota configuration key." },
38
+ { "name": "Value", "type": "float64", "versions": "0+",
39
+ "about": "The value to set, otherwise ignored if the value is to be removed." },
40
+ { "name": "Remove", "type": "bool", "versions": "0+",
41
+ "about": "Whether the quota configuration value should be removed, otherwise set." }
42
+ ]}
43
+ ]},
44
+ { "name": "ValidateOnly", "type": "bool", "versions": "0+",
45
+ "about": "Whether the alteration should be validated, but not performed." }
46
+ ]
47
+ }
@@ -0,0 +1,41 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 49,
18
+ "type": "response",
19
+ "name": "AlterClientQuotasResponse",
20
+ // Version 1 enables flexible versions.
21
+ "validVersions": "0-1",
22
+ "flexibleVersions": "1+",
23
+ "fields": [
24
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
25
+ "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
26
+ { "name": "Entries", "type": "[]EntryData", "versions": "0+",
27
+ "about": "The quota configuration entries to alter.", "fields": [
28
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
29
+ "about": "The error code, or `0` if the quota alteration succeeded." },
30
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
31
+ "about": "The error message, or `null` if the quota alteration succeeded." },
32
+ { "name": "Entity", "type": "[]EntityData", "versions": "0+",
33
+ "about": "The quota entity to alter.", "fields": [
34
+ { "name": "EntityType", "type": "string", "versions": "0+",
35
+ "about": "The entity type." },
36
+ { "name": "EntityName", "type": "string", "versions": "0+", "nullableVersions": "0+",
37
+ "about": "The name of the entity, or null if the default." }
38
+ ]}
39
+ ]}
40
+ ]
41
+ }
@@ -0,0 +1,43 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 33,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "AlterConfigsRequest",
21
+ // Version 1 is the same as version 0.
22
+ // Version 2 enables flexible versions.
23
+ "validVersions": "0-2",
24
+ "flexibleVersions": "2+",
25
+ "fields": [
26
+ { "name": "Resources", "type": "[]AlterConfigsResource", "versions": "0+",
27
+ "about": "The updates for each resource.", "fields": [
28
+ { "name": "ResourceType", "type": "int8", "versions": "0+", "mapKey": true,
29
+ "about": "The resource type." },
30
+ { "name": "ResourceName", "type": "string", "versions": "0+", "mapKey": true,
31
+ "about": "The resource name." },
32
+ { "name": "Configs", "type": "[]AlterableConfig", "versions": "0+",
33
+ "about": "The configurations.", "fields": [
34
+ { "name": "Name", "type": "string", "versions": "0+", "mapKey": true,
35
+ "about": "The configuration key name." },
36
+ { "name": "Value", "type": "string", "versions": "0+", "nullableVersions": "0+",
37
+ "about": "The value to set for the configuration key."}
38
+ ]}
39
+ ]},
40
+ { "name": "ValidateOnly", "type": "bool", "versions": "0+",
41
+ "about": "True if we should validate the request, but not change the configurations."}
42
+ ]
43
+ }
@@ -0,0 +1,39 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 33,
18
+ "type": "response",
19
+ "name": "AlterConfigsResponse",
20
+ // Starting in version 1, on quota violation brokers send out responses before throttling.
21
+ // Version 2 enables flexible versions.
22
+ "validVersions": "0-2",
23
+ "flexibleVersions": "2+",
24
+ "fields": [
25
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
26
+ "about": "Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
27
+ { "name": "Responses", "type": "[]AlterConfigsResourceResponse", "versions": "0+",
28
+ "about": "The responses for each resource.", "fields": [
29
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
30
+ "about": "The resource error code." },
31
+ { "name": "ErrorMessage", "type": "string", "nullableVersions": "0+", "versions": "0+",
32
+ "about": "The resource error message, or null if there was no error." },
33
+ { "name": "ResourceType", "type": "int8", "versions": "0+",
34
+ "about": "The resource type." },
35
+ { "name": "ResourceName", "type": "string", "versions": "0+",
36
+ "about": "The resource name." }
37
+ ]}
38
+ ]
39
+ }
@@ -0,0 +1,42 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 45,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "AlterPartitionReassignmentsRequest",
21
+ // Version 1 adds the ability to allow/disallow changing the replication factor as part of the request.
22
+ "validVersions": "0-1",
23
+ "flexibleVersions": "0+",
24
+ "fields": [
25
+ { "name": "TimeoutMs", "type": "int32", "versions": "0+", "default": "60000",
26
+ "about": "The time in ms to wait for the request to complete." },
27
+ { "name": "AllowReplicationFactorChange", "type": "bool", "versions": "1+", "default": "true",
28
+ "about": "The option indicating whether changing the replication factor of any given partition as part of this request is a valid move." },
29
+ { "name": "Topics", "type": "[]ReassignableTopic", "versions": "0+",
30
+ "about": "The topics to reassign.", "fields": [
31
+ { "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
32
+ "about": "The topic name." },
33
+ { "name": "Partitions", "type": "[]ReassignablePartition", "versions": "0+",
34
+ "about": "The partitions to reassign.", "fields": [
35
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+",
36
+ "about": "The partition index." },
37
+ { "name": "Replicas", "type": "[]int32", "versions": "0+", "nullableVersions": "0+", "default": "null", "entityType": "brokerId",
38
+ "about": "The replicas to place the partitions on, or null to cancel a pending reassignment for this partition." }
39
+ ]}
40
+ ]}
41
+ ]
42
+ }
@@ -0,0 +1,47 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 45,
18
+ "type": "response",
19
+ "name": "AlterPartitionReassignmentsResponse",
20
+ // Version 1 adds the ability to allow/disallow changing the replication factor as part of the request.
21
+ "validVersions": "0-1",
22
+ "flexibleVersions": "0+",
23
+ "fields": [
24
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
25
+ "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
26
+ { "name": "AllowReplicationFactorChange", "type": "bool", "versions": "1+", "default": "true", "ignorable": true,
27
+ "about": "The option indicating whether changing the replication factor of any given partition as part of the request was allowed." },
28
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
29
+ "about": "The top-level error code, or 0 if there was no error." },
30
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
31
+ "about": "The top-level error message, or null if there was no error." },
32
+ { "name": "Responses", "type": "[]ReassignableTopicResponse", "versions": "0+",
33
+ "about": "The responses to topics to reassign.", "fields": [
34
+ { "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
35
+ "about": "The topic name." },
36
+ { "name": "Partitions", "type": "[]ReassignablePartitionResponse", "versions": "0+",
37
+ "about": "The responses to partitions to reassign.", "fields": [
38
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+",
39
+ "about": "The partition index." },
40
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
41
+ "about": "The error code for this partition, or 0 if there was no error." },
42
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
43
+ "about": "The error message for this partition, or null if there was no error." }
44
+ ]}
45
+ ]}
46
+ ]
47
+ }
@@ -0,0 +1,41 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 34,
18
+ "type": "request",
19
+ "listeners": ["broker"],
20
+ "name": "AlterReplicaLogDirsRequest",
21
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
22
+ //
23
+ // Version 1 is the same as version 0.
24
+ // Version 2 enables flexible versions.
25
+ "validVersions": "1-2",
26
+ "flexibleVersions": "2+",
27
+ "fields": [
28
+ { "name": "Dirs", "type": "[]AlterReplicaLogDir", "versions": "0+",
29
+ "about": "The alterations to make for each directory.", "fields": [
30
+ { "name": "Path", "type": "string", "versions": "0+", "mapKey": true,
31
+ "about": "The absolute directory path." },
32
+ { "name": "Topics", "type": "[]AlterReplicaLogDirTopic", "versions": "0+",
33
+ "about": "The topics to add to the directory.", "fields": [
34
+ { "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
35
+ "about": "The topic name." },
36
+ { "name": "Partitions", "type": "[]int32", "versions": "0+",
37
+ "about": "The partition indexes." }
38
+ ]}
39
+ ]}
40
+ ]
41
+ }
@@ -0,0 +1,41 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 34,
18
+ "type": "response",
19
+ "name": "AlterReplicaLogDirsResponse",
20
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
21
+ // Starting in version 1, on quota violation brokers send out responses before throttling.
22
+ // Version 2 enables flexible versions.
23
+ "validVersions": "1-2",
24
+ "flexibleVersions": "2+",
25
+ "fields": [
26
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
27
+ "about": "Duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
28
+ { "name": "Results", "type": "[]AlterReplicaLogDirTopicResult", "versions": "0+",
29
+ "about": "The results for each topic.", "fields": [
30
+ { "name": "TopicName", "type": "string", "versions": "0+", "entityType": "topicName",
31
+ "about": "The name of the topic." },
32
+ { "name": "Partitions", "type": "[]AlterReplicaLogDirPartitionResult", "versions": "0+",
33
+ "about": "The results for each partition.", "fields": [
34
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+",
35
+ "about": "The partition index."},
36
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
37
+ "about": "The error code, or 0 if there was no error." }
38
+ ]}
39
+ ]}
40
+ ]
41
+ }
@@ -0,0 +1,45 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 51,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "AlterUserScramCredentialsRequest",
21
+ "validVersions": "0",
22
+ "flexibleVersions": "0+",
23
+ "fields": [
24
+ { "name": "Deletions", "type": "[]ScramCredentialDeletion", "versions": "0+",
25
+ "about": "The SCRAM credentials to remove.", "fields": [
26
+ { "name": "Name", "type": "string", "versions": "0+",
27
+ "about": "The user name." },
28
+ { "name": "Mechanism", "type": "int8", "versions": "0+",
29
+ "about": "The SCRAM mechanism." }
30
+ ]},
31
+ { "name": "Upsertions", "type": "[]ScramCredentialUpsertion", "versions": "0+",
32
+ "about": "The SCRAM credentials to update/insert.", "fields": [
33
+ { "name": "Name", "type": "string", "versions": "0+",
34
+ "about": "The user name." },
35
+ { "name": "Mechanism", "type": "int8", "versions": "0+",
36
+ "about": "The SCRAM mechanism." },
37
+ { "name": "Iterations", "type": "int32", "versions": "0+",
38
+ "about": "The number of iterations." },
39
+ { "name": "Salt", "type": "bytes", "versions": "0+",
40
+ "about": "A random salt generated by the client." },
41
+ { "name": "SaltedPassword", "type": "bytes", "versions": "0+",
42
+ "about": "The salted password." }
43
+ ]}
44
+ ]
45
+ }
@@ -0,0 +1,35 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 51,
18
+ "type": "response",
19
+ "name": "AlterUserScramCredentialsResponse",
20
+ "validVersions": "0",
21
+ "flexibleVersions": "0+",
22
+ "fields": [
23
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
24
+ "about": "The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota." },
25
+ { "name": "Results", "type": "[]AlterUserScramCredentialsResult", "versions": "0+",
26
+ "about": "The results for deletions and alterations, one per affected user.", "fields": [
27
+ { "name": "User", "type": "string", "versions": "0+",
28
+ "about": "The user name." },
29
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
30
+ "about": "The error code." },
31
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
32
+ "about": "The error message, if any." }
33
+ ]}
34
+ ]
35
+ }
@@ -0,0 +1,34 @@
1
+ // Licensed to the Apache Software Foundation (ASF) under one or more
2
+ // contributor license agreements. See the NOTICE file distributed with
3
+ // this work for additional information regarding copyright ownership.
4
+ // The ASF licenses this file to You under the Apache License, Version 2.0
5
+ // (the "License"); you may not use this file except in compliance with
6
+ // the License. You may obtain a copy of the License at
7
+ //
8
+ // http://www.apache.org/licenses/LICENSE-2.0
9
+ //
10
+ // Unless required by applicable law or agreed to in writing, software
11
+ // distributed under the License is distributed on an "AS IS" BASIS,
12
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ // See the License for the specific language governing permissions and
14
+ // limitations under the License.
15
+
16
+ {
17
+ "apiKey": 18,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "ApiVersionsRequest",
21
+ // Versions 0 through 2 of ApiVersionsRequest are the same.
22
+ //
23
+ // Version 3 is the first flexible version and adds ClientSoftwareName and ClientSoftwareVersion.
24
+ //
25
+ // Version 4 fixes KAFKA-17011, which blocked SupportedFeatures.MinVersion in the response from being 0.
26
+ "validVersions": "0-4",
27
+ "flexibleVersions": "3+",
28
+ "fields": [
29
+ { "name": "ClientSoftwareName", "type": "string", "versions": "3+",
30
+ "ignorable": true, "about": "The name of the client." },
31
+ { "name": "ClientSoftwareVersion", "type": "string", "versions": "3+",
32
+ "ignorable": true, "about": "The version of the client." }
33
+ ]
34
+ }