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,36 @@
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": 42,
18
+ "type": "response",
19
+ "name": "DeleteGroupsResponse",
20
+ // Starting in version 1, on quota violation, brokers send out responses before throttling.
21
+ //
22
+ // Version 2 is the first flexible version.
23
+ "validVersions": "0-2",
24
+ "flexibleVersions": "2+",
25
+ "fields": [
26
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
27
+ "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." },
28
+ { "name": "Results", "type": "[]DeletableGroupResult", "versions": "0+",
29
+ "about": "The deletion results.", "fields": [
30
+ { "name": "GroupId", "type": "string", "versions": "0+", "mapKey": true, "entityType": "groupId",
31
+ "about": "The group id." },
32
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
33
+ "about": "The deletion error, or 0 if the deletion succeeded." }
34
+ ]}
35
+ ]
36
+ }
@@ -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": 21,
18
+ "type": "request",
19
+ "listeners": ["broker"],
20
+ "name": "DeleteRecordsRequest",
21
+ // Version 1 is the same as version 0.
22
+
23
+ // Version 2 is the first flexible version.
24
+ "validVersions": "0-2",
25
+ "flexibleVersions": "2+",
26
+ "fields": [
27
+ { "name": "Topics", "type": "[]DeleteRecordsTopic", "versions": "0+",
28
+ "about": "Each topic that we want to delete records from.", "fields": [
29
+ { "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
30
+ "about": "The topic name." },
31
+ { "name": "Partitions", "type": "[]DeleteRecordsPartition", "versions": "0+",
32
+ "about": "Each partition that we want to delete records from.", "fields": [
33
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+",
34
+ "about": "The partition index." },
35
+ { "name": "Offset", "type": "int64", "versions": "0+",
36
+ "about": "The deletion offset. -1 means that records should be truncated to the high watermark." }
37
+ ]}
38
+ ]},
39
+ { "name": "TimeoutMs", "type": "int32", "versions": "0+",
40
+ "about": "How long to wait for the deletion to complete, in milliseconds." }
41
+ ]
42
+ }
@@ -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": 21,
18
+ "type": "response",
19
+ "name": "DeleteRecordsResponse",
20
+ // Starting in version 1, on quota violation, brokers send out responses before throttling.
21
+
22
+ // Version 2 is the first flexible version.
23
+ "validVersions": "0-2",
24
+ "flexibleVersions": "2+",
25
+ "fields": [
26
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
27
+ "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." },
28
+ { "name": "Topics", "type": "[]DeleteRecordsTopicResult", "versions": "0+",
29
+ "about": "Each topic that we wanted to delete records from.", "fields": [
30
+ { "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
31
+ "about": "The topic name." },
32
+ { "name": "Partitions", "type": "[]DeleteRecordsPartitionResult", "versions": "0+",
33
+ "about": "Each partition that we wanted to delete records from.", "fields": [
34
+ { "name": "PartitionIndex", "type": "int32", "versions": "0+", "mapKey": true,
35
+ "about": "The partition index." },
36
+ { "name": "LowWatermark", "type": "int64", "versions": "0+",
37
+ "about": "The partition low water mark." },
38
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
39
+ "about": "The deletion error code, or 0 if the deletion succeeded." }
40
+ ]}
41
+ ]}
42
+ ]
43
+ }
@@ -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": 20,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "DeleteTopicsRequest",
21
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
22
+ // Versions 0, 1, 2, and 3 are the same.
23
+ //
24
+ // Version 4 is the first flexible version.
25
+ //
26
+ // Version 5 adds ErrorMessage in the response and may return a THROTTLING_QUOTA_EXCEEDED error
27
+ // in the response if the topics deletion is throttled (KIP-599).
28
+ //
29
+ // Version 6 reorganizes topics, adds topic IDs and allows topic names to be null.
30
+ "validVersions": "1-6",
31
+ "flexibleVersions": "4+",
32
+ "fields": [
33
+ { "name": "Topics", "type": "[]DeleteTopicState", "versions": "6+", "about": "The name or topic ID of the topic.",
34
+ "fields": [
35
+ {"name": "Name", "type": "string", "versions": "6+", "nullableVersions": "6+", "default": "null", "entityType": "topicName", "about": "The topic name."},
36
+ {"name": "TopicId", "type": "uuid", "versions": "6+", "about": "The unique topic ID."}
37
+ ]},
38
+ { "name": "TopicNames", "type": "[]string", "versions": "0-5", "entityType": "topicName", "ignorable": true,
39
+ "about": "The names of the topics to delete." },
40
+ { "name": "TimeoutMs", "type": "int32", "versions": "0+",
41
+ "about": "The length of time in milliseconds to wait for the deletions to complete." }
42
+ ]
43
+ }
@@ -0,0 +1,52 @@
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": 20,
18
+ "type": "response",
19
+ "name": "DeleteTopicsResponse",
20
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
21
+ //
22
+ // Version 1 adds the throttle time.
23
+ //
24
+ // Starting in version 2, on quota violation, brokers send out responses before throttling.
25
+ //
26
+ // Starting in version 3, a TOPIC_DELETION_DISABLED error code may be returned.
27
+ //
28
+ // Version 4 is the first flexible version.
29
+ //
30
+ // Version 5 adds ErrorMessage in the response and may return a THROTTLING_QUOTA_EXCEEDED error
31
+ // in the response if the topics deletion is throttled (KIP-599).
32
+ //
33
+ // Version 6 adds topic ID to responses. An UNSUPPORTED_VERSION error code will be returned when attempting to
34
+ // delete using topic IDs when IBP < 2.8. UNKNOWN_TOPIC_ID error code will be returned when IBP is at least 2.8, but
35
+ // the topic ID was not found.
36
+ "validVersions": "1-6",
37
+ "flexibleVersions": "4+",
38
+ "fields": [
39
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "1+", "ignorable": true,
40
+ "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." },
41
+ { "name": "Responses", "type": "[]DeletableTopicResult", "versions": "0+",
42
+ "about": "The results for each topic we tried to delete.", "fields": [
43
+ { "name": "Name", "type": "string", "versions": "0+", "nullableVersions": "6+", "mapKey": true, "entityType": "topicName",
44
+ "about": "The topic name." },
45
+ {"name": "TopicId", "type": "uuid", "versions": "6+", "ignorable": true, "about": "The unique topic ID."},
46
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
47
+ "about": "The deletion error, or 0 if the deletion succeeded." },
48
+ { "name": "ErrorMessage", "type": "string", "versions": "5+", "nullableVersions": "5+", "ignorable": true, "default": "null",
49
+ "about": "The error message, or null if there was no error." }
50
+ ]}
51
+ ]
52
+ }
@@ -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": 29,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "DescribeAclsRequest",
21
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
22
+ // Version 1 adds resource pattern type.
23
+ // Version 2 enables flexible versions.
24
+ // Version 3 adds user resource type.
25
+ "validVersions": "1-3",
26
+ "flexibleVersions": "2+",
27
+ "fields": [
28
+ { "name": "ResourceTypeFilter", "type": "int8", "versions": "0+",
29
+ "about": "The resource type." },
30
+ { "name": "ResourceNameFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
31
+ "about": "The resource name, or null to match any resource name." },
32
+ { "name": "PatternTypeFilter", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
33
+ "about": "The resource pattern to match." },
34
+ { "name": "PrincipalFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
35
+ "about": "The principal to match, or null to match any principal." },
36
+ { "name": "HostFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
37
+ "about": "The host to match, or null to match any host." },
38
+ { "name": "Operation", "type": "int8", "versions": "0+",
39
+ "about": "The operation to match." },
40
+ { "name": "PermissionType", "type": "int8", "versions": "0+",
41
+ "about": "The permission type to match." }
42
+ ]
43
+ }
@@ -0,0 +1,55 @@
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": 29,
18
+ "type": "response",
19
+ "name": "DescribeAclsResponse",
20
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
21
+ // Version 1 adds PatternType.
22
+ // Starting in version 1, on quota violation, brokers send out responses before throttling.
23
+ // Version 2 enables flexible versions.
24
+ // Version 3 adds user resource type.
25
+ "validVersions": "1-3",
26
+ "flexibleVersions": "2+",
27
+ "fields": [
28
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
29
+ "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." },
30
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
31
+ "about": "The error code, or 0 if there was no error." },
32
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
33
+ "about": "The error message, or null if there was no error." },
34
+ { "name": "Resources", "type": "[]DescribeAclsResource", "versions": "0+",
35
+ "about": "Each Resource that is referenced in an ACL.", "fields": [
36
+ { "name": "ResourceType", "type": "int8", "versions": "0+",
37
+ "about": "The resource type." },
38
+ { "name": "ResourceName", "type": "string", "versions": "0+",
39
+ "about": "The resource name." },
40
+ { "name": "PatternType", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
41
+ "about": "The resource pattern type." },
42
+ { "name": "Acls", "type": "[]AclDescription", "versions": "0+",
43
+ "about": "The ACLs.", "fields": [
44
+ { "name": "Principal", "type": "string", "versions": "0+",
45
+ "about": "The ACL principal." },
46
+ { "name": "Host", "type": "string", "versions": "0+",
47
+ "about": "The ACL host." },
48
+ { "name": "Operation", "type": "int8", "versions": "0+",
49
+ "about": "The ACL operation." },
50
+ { "name": "PermissionType", "type": "int8", "versions": "0+",
51
+ "about": "The ACL permission type." }
52
+ ]}
53
+ ]}
54
+ ]
55
+ }
@@ -0,0 +1,37 @@
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": 48,
18
+ "type": "request",
19
+ "listeners": ["broker"],
20
+ "name": "DescribeClientQuotasRequest",
21
+ // Version 1 enables flexible versions.
22
+ "validVersions": "0-1",
23
+ "flexibleVersions": "1+",
24
+ "fields": [
25
+ { "name": "Components", "type": "[]ComponentData", "versions": "0+",
26
+ "about": "Filter components to apply to quota entities.", "fields": [
27
+ { "name": "EntityType", "type": "string", "versions": "0+",
28
+ "about": "The entity type that the filter component applies to." },
29
+ { "name": "MatchType", "type": "int8", "versions": "0+",
30
+ "about": "How to match the entity {0 = exact name, 1 = default name, 2 = any specified name}." },
31
+ { "name": "Match", "type": "string", "versions": "0+", "nullableVersions": "0+",
32
+ "about": "The string to match against, or null if unused for the match type." }
33
+ ]},
34
+ { "name": "Strict", "type": "bool", "versions": "0+",
35
+ "about": "Whether the match is strict, i.e. should exclude entities with unspecified entity types." }
36
+ ]
37
+ }
@@ -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
+ "apiKey": 48,
17
+ "type": "response",
18
+ "name": "DescribeClientQuotasResponse",
19
+ // Version 1 enables flexible versions.
20
+ "validVersions": "0-1",
21
+ "flexibleVersions": "1+",
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": "ErrorCode", "type": "int16", "versions": "0+",
26
+ "about": "The error code, or `0` if the quota description succeeded." },
27
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
28
+ "about": "The error message, or `null` if the quota description succeeded." },
29
+ { "name": "Entries", "type": "[]EntryData", "versions": "0+", "nullableVersions": "0+",
30
+ "about": "A result entry.", "fields": [
31
+ { "name": "Entity", "type": "[]EntityData", "versions": "0+",
32
+ "about": "The quota entity description.", "fields": [
33
+ { "name": "EntityType", "type": "string", "versions": "0+",
34
+ "about": "The entity type." },
35
+ { "name": "EntityName", "type": "string", "versions": "0+", "nullableVersions": "0+",
36
+ "about": "The entity name, or null if the default." }
37
+ ]},
38
+ { "name": "Values", "type": "[]ValueData", "versions": "0+",
39
+ "about": "The quota values for the entity.", "fields": [
40
+ { "name": "Key", "type": "string", "versions": "0+",
41
+ "about": "The quota configuration key." },
42
+ { "name": "Value", "type": "float64", "versions": "0+",
43
+ "about": "The quota configuration value." }
44
+ ]}
45
+ ]}
46
+ ]
47
+ }
@@ -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": 60,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "DescribeClusterRequest",
21
+ //
22
+ // Version 1 adds EndpointType for KIP-919 support.
23
+ // Version 2 adds IncludeFencedBrokers for KIP-1073 support.
24
+ //
25
+ "validVersions": "0-2",
26
+ "flexibleVersions": "0+",
27
+ "fields": [
28
+ { "name": "IncludeClusterAuthorizedOperations", "type": "bool", "versions": "0+",
29
+ "about": "Whether to include cluster authorized operations." },
30
+ { "name": "EndpointType", "type": "int8", "versions": "1+", "default": "1",
31
+ "about": "The endpoint type to describe. 1=brokers, 2=controllers." },
32
+ { "name": "IncludeFencedBrokers", "type": "bool", "versions": "2+",
33
+ "about": "Whether to include fenced brokers when listing brokers." }
34
+ ]
35
+ }
@@ -0,0 +1,56 @@
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": 60,
18
+ "type": "response",
19
+ "name": "DescribeClusterResponse",
20
+ //
21
+ // Version 1 adds the EndpointType field, and makes MISMATCHED_ENDPOINT_TYPE and
22
+ // UNSUPPORTED_ENDPOINT_TYPE valid top-level response error codes.
23
+ // Version 2 adds IsFenced field to Brokers for KIP-1073 support.
24
+ //
25
+ "validVersions": "0-2",
26
+ "flexibleVersions": "0+",
27
+ "fields": [
28
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
29
+ "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." },
30
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
31
+ "about": "The top-level error code, or 0 if there was no error." },
32
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+", "default": "null",
33
+ "about": "The top-level error message, or null if there was no error." },
34
+ { "name": "EndpointType", "type": "int8", "versions": "1+", "default": "1",
35
+ "about": "The endpoint type that was described. 1=brokers, 2=controllers." },
36
+ { "name": "ClusterId", "type": "string", "versions": "0+",
37
+ "about": "The cluster ID that responding broker belongs to." },
38
+ { "name": "ControllerId", "type": "int32", "versions": "0+", "default": "-1", "entityType": "brokerId",
39
+ "about": "The ID of the controller. When handled by a controller, returns the current voter leader ID. When handled by a broker, returns a random alive broker ID as a fallback." },
40
+ { "name": "Brokers", "type": "[]DescribeClusterBroker", "versions": "0+",
41
+ "about": "Each broker in the response.", "fields": [
42
+ { "name": "BrokerId", "type": "int32", "versions": "0+", "mapKey": true, "entityType": "brokerId",
43
+ "about": "The broker ID." },
44
+ { "name": "Host", "type": "string", "versions": "0+",
45
+ "about": "The broker hostname." },
46
+ { "name": "Port", "type": "int32", "versions": "0+",
47
+ "about": "The broker port." },
48
+ { "name": "Rack", "type": "string", "versions": "0+", "nullableVersions": "0+", "default": "null",
49
+ "about": "The rack of the broker, or null if it has not been assigned to a rack." },
50
+ { "name": "IsFenced", "type": "bool", "versions": "2+",
51
+ "about": "Whether the broker is fenced" }
52
+ ]},
53
+ { "name": "ClusterAuthorizedOperations", "type": "int32", "versions": "0+", "default": "-2147483648",
54
+ "about": "32-bit bitfield to represent authorized operations for this cluster." }
55
+ ]
56
+ }
@@ -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": 32,
18
+ "type": "request",
19
+ "listeners": ["broker", "controller"],
20
+ "name": "DescribeConfigsRequest",
21
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
22
+ // Version 1 adds IncludeSynonyms and removes IsDefault.
23
+ // Version 2 is the same as version 1.
24
+ // Version 4 enables flexible versions.
25
+ "validVersions": "1-4",
26
+ "flexibleVersions": "4+",
27
+ "fields": [
28
+ { "name": "Resources", "type": "[]DescribeConfigsResource", "versions": "0+",
29
+ "about": "The resources whose configurations we want to describe.", "fields": [
30
+ { "name": "ResourceType", "type": "int8", "versions": "0+",
31
+ "about": "The resource type." },
32
+ { "name": "ResourceName", "type": "string", "versions": "0+",
33
+ "about": "The resource name." },
34
+ { "name": "ConfigurationKeys", "type": "[]string", "versions": "0+", "nullableVersions": "0+",
35
+ "about": "The configuration keys to list, or null to list all configuration keys." }
36
+ ]},
37
+ { "name": "IncludeSynonyms", "type": "bool", "versions": "1+", "default": "false", "ignorable": false,
38
+ "about": "True if we should include all synonyms." },
39
+ { "name": "IncludeDocumentation", "type": "bool", "versions": "3+", "default": "false", "ignorable": false,
40
+ "about": "True if we should include configuration documentation." }
41
+ ]
42
+ }
@@ -0,0 +1,69 @@
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": 32,
18
+ "type": "response",
19
+ "name": "DescribeConfigsResponse",
20
+ // Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
21
+ // Version 1 adds ConfigSource and the synonyms.
22
+ // Starting in version 2, on quota violation, brokers send out responses before throttling.
23
+ // Version 4 enables flexible versions.
24
+ "validVersions": "1-4",
25
+ "flexibleVersions": "4+",
26
+ "fields": [
27
+ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
28
+ "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." },
29
+ { "name": "Results", "type": "[]DescribeConfigsResult", "versions": "0+",
30
+ "about": "The results for each resource.", "fields": [
31
+ { "name": "ErrorCode", "type": "int16", "versions": "0+",
32
+ "about": "The error code, or 0 if we were able to successfully describe the configurations." },
33
+ { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
34
+ "about": "The error message, or null if we were able to successfully describe the configurations." },
35
+ { "name": "ResourceType", "type": "int8", "versions": "0+",
36
+ "about": "The resource type." },
37
+ { "name": "ResourceName", "type": "string", "versions": "0+",
38
+ "about": "The resource name." },
39
+ { "name": "Configs", "type": "[]DescribeConfigsResourceResult", "versions": "0+",
40
+ "about": "Each listed configuration.", "fields": [
41
+ { "name": "Name", "type": "string", "versions": "0+",
42
+ "about": "The configuration name." },
43
+ { "name": "Value", "type": "string", "versions": "0+", "nullableVersions": "0+",
44
+ "about": "The configuration value." },
45
+ { "name": "ReadOnly", "type": "bool", "versions": "0+",
46
+ "about": "True if the configuration is read-only." },
47
+ { "name": "ConfigSource", "type": "int8", "versions": "1+", "default": "-1", "ignorable": true,
48
+ "about": "The configuration source." },
49
+ { "name": "IsDefault", "type": "bool", "versions": "0",
50
+ "about": "True if the configuration is not set." },
51
+ { "name": "IsSensitive", "type": "bool", "versions": "0+",
52
+ "about": "True if this configuration is sensitive." },
53
+ { "name": "Synonyms", "type": "[]DescribeConfigsSynonym", "versions": "1+", "ignorable": true,
54
+ "about": "The synonyms for this configuration key.", "fields": [
55
+ { "name": "Name", "type": "string", "versions": "1+",
56
+ "about": "The synonym name." },
57
+ { "name": "Value", "type": "string", "versions": "1+", "nullableVersions": "0+",
58
+ "about": "The synonym value." },
59
+ { "name": "Source", "type": "int8", "versions": "1+",
60
+ "about": "The synonym source." }
61
+ ]},
62
+ { "name": "ConfigType", "type": "int8", "versions": "3+", "default": "0", "ignorable": true,
63
+ "about": "The configuration data type. Type can be one of the following values - BOOLEAN, STRING, INT, SHORT, LONG, DOUBLE, LIST, CLASS, PASSWORD." },
64
+ { "name": "Documentation", "type": "string", "versions": "3+", "nullableVersions": "0+", "ignorable": true,
65
+ "about": "The configuration documentation." }
66
+ ]}
67
+ ]}
68
+ ]
69
+ }