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.
- kafka/__init__.py +34 -0
- kafka/__main__.py +5 -0
- kafka/admin/__init__.py +29 -0
- kafka/admin/__main__.py +5 -0
- kafka/admin/_acls.py +355 -0
- kafka/admin/_cluster.py +359 -0
- kafka/admin/_configs.py +479 -0
- kafka/admin/_groups.py +754 -0
- kafka/admin/_partitions.py +595 -0
- kafka/admin/_topics.py +281 -0
- kafka/admin/_transactions.py +450 -0
- kafka/admin/_users.py +194 -0
- kafka/admin/client.py +373 -0
- kafka/benchmarks/__init__.py +0 -0
- kafka/benchmarks/consumer_performance.py +138 -0
- kafka/benchmarks/load_example.py +109 -0
- kafka/benchmarks/producer_encode_path.py +201 -0
- kafka/benchmarks/producer_performance.py +161 -0
- kafka/benchmarks/profile_protocol.py +138 -0
- kafka/benchmarks/protocol_old_vs_new.py +447 -0
- kafka/benchmarks/record_batch_compose.py +77 -0
- kafka/benchmarks/record_batch_read.py +82 -0
- kafka/benchmarks/varint_speed.py +426 -0
- kafka/cli/__init__.py +36 -0
- kafka/cli/admin/__init__.py +117 -0
- kafka/cli/admin/acls/__init__.py +9 -0
- kafka/cli/admin/acls/common.py +76 -0
- kafka/cli/admin/acls/create.py +19 -0
- kafka/cli/admin/acls/delete.py +23 -0
- kafka/cli/admin/acls/describe.py +16 -0
- kafka/cli/admin/cluster/__init__.py +14 -0
- kafka/cli/admin/cluster/describe.py +11 -0
- kafka/cli/admin/cluster/describe_quorum.py +11 -0
- kafka/cli/admin/cluster/features.py +52 -0
- kafka/cli/admin/cluster/log_dirs.py +43 -0
- kafka/cli/admin/cluster/versions.py +33 -0
- kafka/cli/admin/configs/__init__.py +10 -0
- kafka/cli/admin/configs/alter.py +43 -0
- kafka/cli/admin/configs/common.py +17 -0
- kafka/cli/admin/configs/describe.py +30 -0
- kafka/cli/admin/configs/list.py +16 -0
- kafka/cli/admin/configs/reset.py +20 -0
- kafka/cli/admin/groups/__init__.py +16 -0
- kafka/cli/admin/groups/alter_offsets.py +30 -0
- kafka/cli/admin/groups/delete.py +11 -0
- kafka/cli/admin/groups/delete_offsets.py +29 -0
- kafka/cli/admin/groups/describe.py +11 -0
- kafka/cli/admin/groups/list.py +28 -0
- kafka/cli/admin/groups/list_offsets.py +29 -0
- kafka/cli/admin/groups/remove_members.py +40 -0
- kafka/cli/admin/groups/reset_offsets.py +139 -0
- kafka/cli/admin/partitions/__init__.py +21 -0
- kafka/cli/admin/partitions/alter_reassignments.py +37 -0
- kafka/cli/admin/partitions/create.py +27 -0
- kafka/cli/admin/partitions/delete_records.py +31 -0
- kafka/cli/admin/partitions/describe.py +36 -0
- kafka/cli/admin/partitions/elect_leaders.py +53 -0
- kafka/cli/admin/partitions/list_offsets.py +88 -0
- kafka/cli/admin/partitions/list_reassignments.py +35 -0
- kafka/cli/admin/topics/__init__.py +10 -0
- kafka/cli/admin/topics/create.py +13 -0
- kafka/cli/admin/topics/delete.py +19 -0
- kafka/cli/admin/topics/describe.py +18 -0
- kafka/cli/admin/topics/list.py +11 -0
- kafka/cli/admin/transactions/__init__.py +17 -0
- kafka/cli/admin/transactions/abort.py +38 -0
- kafka/cli/admin/transactions/describe.py +24 -0
- kafka/cli/admin/transactions/describe_producers.py +29 -0
- kafka/cli/admin/transactions/find_hanging.py +26 -0
- kafka/cli/admin/transactions/list.py +37 -0
- kafka/cli/admin/users/__init__.py +8 -0
- kafka/cli/admin/users/alter_user_scram_credentials.py +34 -0
- kafka/cli/admin/users/describe_user_scram_credentials.py +15 -0
- kafka/cli/common.py +95 -0
- kafka/cli/consumer/__init__.py +63 -0
- kafka/cli/producer/__init__.py +57 -0
- kafka/cluster.py +824 -0
- kafka/codec.py +325 -0
- kafka/consumer/__init__.py +5 -0
- kafka/consumer/__main__.py +5 -0
- kafka/consumer/fetcher.py +2012 -0
- kafka/consumer/group.py +1347 -0
- kafka/consumer/subscription_state.py +897 -0
- kafka/coordinator/__init__.py +0 -0
- kafka/coordinator/assignors/__init__.py +0 -0
- kafka/coordinator/assignors/abstract.py +90 -0
- kafka/coordinator/assignors/cooperative_sticky.py +167 -0
- kafka/coordinator/assignors/range.py +81 -0
- kafka/coordinator/assignors/roundrobin.py +101 -0
- kafka/coordinator/assignors/sticky/StickyAssignorUserData.json +37 -0
- kafka/coordinator/assignors/sticky/__init__.py +0 -0
- kafka/coordinator/assignors/sticky/partition_movements.py +149 -0
- kafka/coordinator/assignors/sticky/sorted_set.py +63 -0
- kafka/coordinator/assignors/sticky/sticky_assignor.py +665 -0
- kafka/coordinator/assignors/sticky/user_data.py +8 -0
- kafka/coordinator/base.py +1215 -0
- kafka/coordinator/consumer.py +1224 -0
- kafka/coordinator/heartbeat.py +82 -0
- kafka/coordinator/subscription.py +34 -0
- kafka/errors.py +1004 -0
- kafka/future.py +166 -0
- kafka/metrics/__init__.py +13 -0
- kafka/metrics/compound_stat.py +33 -0
- kafka/metrics/dict_reporter.py +81 -0
- kafka/metrics/kafka_metric.py +36 -0
- kafka/metrics/measurable.py +27 -0
- kafka/metrics/measurable_stat.py +13 -0
- kafka/metrics/metric_config.py +33 -0
- kafka/metrics/metric_name.py +105 -0
- kafka/metrics/metrics.py +261 -0
- kafka/metrics/metrics_reporter.py +53 -0
- kafka/metrics/quota.py +41 -0
- kafka/metrics/stat.py +19 -0
- kafka/metrics/stats/__init__.py +15 -0
- kafka/metrics/stats/avg.py +24 -0
- kafka/metrics/stats/count.py +17 -0
- kafka/metrics/stats/histogram.py +99 -0
- kafka/metrics/stats/max_stat.py +17 -0
- kafka/metrics/stats/min_stat.py +19 -0
- kafka/metrics/stats/percentile.py +14 -0
- kafka/metrics/stats/percentiles.py +75 -0
- kafka/metrics/stats/rate.py +118 -0
- kafka/metrics/stats/sampled_stat.py +99 -0
- kafka/metrics/stats/sensor.py +136 -0
- kafka/metrics/stats/total.py +15 -0
- kafka/net/__init__.py +19 -0
- kafka/net/compat.py +165 -0
- kafka/net/connection.py +593 -0
- kafka/net/http_connect.py +144 -0
- kafka/net/inet.py +122 -0
- kafka/net/manager.py +451 -0
- kafka/net/metrics.py +149 -0
- kafka/net/sasl/__init__.py +32 -0
- kafka/net/sasl/abc.py +28 -0
- kafka/net/sasl/gssapi.py +95 -0
- kafka/net/sasl/msk.py +245 -0
- kafka/net/sasl/oauth.py +98 -0
- kafka/net/sasl/plain.py +42 -0
- kafka/net/sasl/scram.py +135 -0
- kafka/net/sasl/sspi.py +111 -0
- kafka/net/selector.py +644 -0
- kafka/net/socks5.py +262 -0
- kafka/net/transport.py +415 -0
- kafka/net/wakeup_notifier.py +72 -0
- kafka/partitioner/__init__.py +8 -0
- kafka/partitioner/abc.py +8 -0
- kafka/partitioner/default.py +89 -0
- kafka/partitioner/sticky.py +109 -0
- kafka/producer/__init__.py +5 -0
- kafka/producer/__main__.py +5 -0
- kafka/producer/future.py +101 -0
- kafka/producer/kafka.py +1123 -0
- kafka/producer/producer_batch.py +192 -0
- kafka/producer/record_accumulator.py +647 -0
- kafka/producer/sender.py +884 -0
- kafka/producer/transaction_manager.py +1326 -0
- kafka/protocol/__init__.py +0 -0
- kafka/protocol/admin/__init__.py +29 -0
- kafka/protocol/admin/acl.py +83 -0
- kafka/protocol/admin/acl.pyi +375 -0
- kafka/protocol/admin/client_quotas.py +14 -0
- kafka/protocol/admin/client_quotas.pyi +265 -0
- kafka/protocol/admin/cluster.py +31 -0
- kafka/protocol/admin/cluster.pyi +620 -0
- kafka/protocol/admin/configs.py +22 -0
- kafka/protocol/admin/configs.pyi +437 -0
- kafka/protocol/admin/groups.py +24 -0
- kafka/protocol/admin/groups.pyi +261 -0
- kafka/protocol/admin/topics.py +53 -0
- kafka/protocol/admin/topics.pyi +982 -0
- kafka/protocol/admin/transactions.py +18 -0
- kafka/protocol/admin/transactions.pyi +311 -0
- kafka/protocol/admin/users.py +14 -0
- kafka/protocol/admin/users.pyi +223 -0
- kafka/protocol/api_data.py +125 -0
- kafka/protocol/api_header.py +55 -0
- kafka/protocol/api_key.py +97 -0
- kafka/protocol/api_message.py +277 -0
- kafka/protocol/broker_version_data.py +246 -0
- kafka/protocol/consumer/__init__.py +13 -0
- kafka/protocol/consumer/fetch.py +16 -0
- kafka/protocol/consumer/fetch.pyi +298 -0
- kafka/protocol/consumer/group.py +38 -0
- kafka/protocol/consumer/group.pyi +824 -0
- kafka/protocol/consumer/metadata.py +30 -0
- kafka/protocol/consumer/metadata.pyi +89 -0
- kafka/protocol/consumer/offsets.py +75 -0
- kafka/protocol/consumer/offsets.pyi +288 -0
- kafka/protocol/data_container.py +166 -0
- kafka/protocol/frame.py +30 -0
- kafka/protocol/generate_stubs.py +468 -0
- kafka/protocol/metadata/__init__.py +10 -0
- kafka/protocol/metadata/api_versions.py +41 -0
- kafka/protocol/metadata/api_versions.pyi +128 -0
- kafka/protocol/metadata/find_coordinator.py +19 -0
- kafka/protocol/metadata/find_coordinator.pyi +105 -0
- kafka/protocol/metadata/metadata.py +34 -0
- kafka/protocol/metadata/metadata.pyi +160 -0
- kafka/protocol/old/__init__.py +0 -0
- kafka/protocol/old/abstract.py +17 -0
- kafka/protocol/old/add_offsets_to_txn.py +54 -0
- kafka/protocol/old/add_partitions_to_txn.py +71 -0
- kafka/protocol/old/admin.py +1086 -0
- kafka/protocol/old/api.py +205 -0
- kafka/protocol/old/api_versions.py +133 -0
- kafka/protocol/old/commit.py +355 -0
- kafka/protocol/old/consumer_protocol.py +36 -0
- kafka/protocol/old/end_txn.py +53 -0
- kafka/protocol/old/fetch.py +408 -0
- kafka/protocol/old/find_coordinator.py +72 -0
- kafka/protocol/old/group.py +451 -0
- kafka/protocol/old/init_producer_id.py +42 -0
- kafka/protocol/old/list_offsets.py +186 -0
- kafka/protocol/old/metadata.py +290 -0
- kafka/protocol/old/offset_for_leader_epoch.py +133 -0
- kafka/protocol/old/produce.py +247 -0
- kafka/protocol/old/sasl_authenticate.py +38 -0
- kafka/protocol/old/sasl_handshake.py +39 -0
- kafka/protocol/old/struct.py +87 -0
- kafka/protocol/old/txn_offset_commit.py +73 -0
- kafka/protocol/old/types.py +440 -0
- kafka/protocol/parser.py +191 -0
- kafka/protocol/producer/__init__.py +7 -0
- kafka/protocol/producer/produce.py +17 -0
- kafka/protocol/producer/produce.pyi +197 -0
- kafka/protocol/producer/transaction.py +30 -0
- kafka/protocol/producer/transaction.pyi +663 -0
- kafka/protocol/sasl.py +52 -0
- kafka/protocol/sasl.pyi +126 -0
- kafka/protocol/schemas/__init__.py +7 -0
- kafka/protocol/schemas/fields/__init__.py +7 -0
- kafka/protocol/schemas/fields/array.py +127 -0
- kafka/protocol/schemas/fields/base.py +156 -0
- kafka/protocol/schemas/fields/codecs/__init__.py +12 -0
- kafka/protocol/schemas/fields/codecs/encode_buffer.py +82 -0
- kafka/protocol/schemas/fields/codecs/tagged_fields.py +109 -0
- kafka/protocol/schemas/fields/codecs/types.py +505 -0
- kafka/protocol/schemas/fields/codegen.py +40 -0
- kafka/protocol/schemas/fields/simple.py +127 -0
- kafka/protocol/schemas/fields/struct.py +357 -0
- kafka/protocol/schemas/fields/struct_array.py +142 -0
- kafka/protocol/schemas/load_json.py +42 -0
- kafka/protocol/schemas/resources/AddOffsetsToTxnRequest.json +40 -0
- kafka/protocol/schemas/resources/AddOffsetsToTxnResponse.json +35 -0
- kafka/protocol/schemas/resources/AddPartitionsToTxnRequest.json +65 -0
- kafka/protocol/schemas/resources/AddPartitionsToTxnResponse.json +60 -0
- kafka/protocol/schemas/resources/AlterClientQuotasRequest.json +47 -0
- kafka/protocol/schemas/resources/AlterClientQuotasResponse.json +41 -0
- kafka/protocol/schemas/resources/AlterConfigsRequest.json +43 -0
- kafka/protocol/schemas/resources/AlterConfigsResponse.json +39 -0
- kafka/protocol/schemas/resources/AlterPartitionReassignmentsRequest.json +42 -0
- kafka/protocol/schemas/resources/AlterPartitionReassignmentsResponse.json +47 -0
- kafka/protocol/schemas/resources/AlterReplicaLogDirsRequest.json +41 -0
- kafka/protocol/schemas/resources/AlterReplicaLogDirsResponse.json +41 -0
- kafka/protocol/schemas/resources/AlterUserScramCredentialsRequest.json +45 -0
- kafka/protocol/schemas/resources/AlterUserScramCredentialsResponse.json +35 -0
- kafka/protocol/schemas/resources/ApiVersionsRequest.json +34 -0
- kafka/protocol/schemas/resources/ApiVersionsResponse.json +79 -0
- kafka/protocol/schemas/resources/ConsumerProtocolAssignment.json +42 -0
- kafka/protocol/schemas/resources/ConsumerProtocolSubscription.json +49 -0
- kafka/protocol/schemas/resources/CreateAclsRequest.json +46 -0
- kafka/protocol/schemas/resources/CreateAclsResponse.json +37 -0
- kafka/protocol/schemas/resources/CreatePartitionsRequest.json +47 -0
- kafka/protocol/schemas/resources/CreatePartitionsResponse.json +41 -0
- kafka/protocol/schemas/resources/CreateTopicsRequest.json +65 -0
- kafka/protocol/schemas/resources/CreateTopicsResponse.json +72 -0
- kafka/protocol/schemas/resources/DeleteAclsRequest.json +46 -0
- kafka/protocol/schemas/resources/DeleteAclsResponse.json +59 -0
- kafka/protocol/schemas/resources/DeleteGroupsRequest.json +30 -0
- kafka/protocol/schemas/resources/DeleteGroupsResponse.json +36 -0
- kafka/protocol/schemas/resources/DeleteRecordsRequest.json +42 -0
- kafka/protocol/schemas/resources/DeleteRecordsResponse.json +43 -0
- kafka/protocol/schemas/resources/DeleteTopicsRequest.json +43 -0
- kafka/protocol/schemas/resources/DeleteTopicsResponse.json +52 -0
- kafka/protocol/schemas/resources/DescribeAclsRequest.json +43 -0
- kafka/protocol/schemas/resources/DescribeAclsResponse.json +55 -0
- kafka/protocol/schemas/resources/DescribeClientQuotasRequest.json +37 -0
- kafka/protocol/schemas/resources/DescribeClientQuotasResponse.json +47 -0
- kafka/protocol/schemas/resources/DescribeClusterRequest.json +35 -0
- kafka/protocol/schemas/resources/DescribeClusterResponse.json +56 -0
- kafka/protocol/schemas/resources/DescribeConfigsRequest.json +42 -0
- kafka/protocol/schemas/resources/DescribeConfigsResponse.json +69 -0
- kafka/protocol/schemas/resources/DescribeGroupsRequest.json +38 -0
- kafka/protocol/schemas/resources/DescribeGroupsResponse.json +74 -0
- kafka/protocol/schemas/resources/DescribeLogDirsRequest.json +38 -0
- kafka/protocol/schemas/resources/DescribeLogDirsResponse.json +65 -0
- kafka/protocol/schemas/resources/DescribeProducersRequest.json +32 -0
- kafka/protocol/schemas/resources/DescribeProducersResponse.json +55 -0
- kafka/protocol/schemas/resources/DescribeQuorumRequest.json +39 -0
- kafka/protocol/schemas/resources/DescribeQuorumResponse.json +82 -0
- kafka/protocol/schemas/resources/DescribeTopicPartitionsRequest.json +40 -0
- kafka/protocol/schemas/resources/DescribeTopicPartitionsResponse.json +66 -0
- kafka/protocol/schemas/resources/DescribeTransactionsRequest.json +27 -0
- kafka/protocol/schemas/resources/DescribeTransactionsResponse.json +52 -0
- kafka/protocol/schemas/resources/DescribeUserScramCredentialsRequest.json +30 -0
- kafka/protocol/schemas/resources/DescribeUserScramCredentialsResponse.json +45 -0
- kafka/protocol/schemas/resources/ElectLeadersRequest.json +41 -0
- kafka/protocol/schemas/resources/ElectLeadersResponse.json +45 -0
- kafka/protocol/schemas/resources/EndTxnRequest.json +43 -0
- kafka/protocol/schemas/resources/EndTxnResponse.json +41 -0
- kafka/protocol/schemas/resources/FetchRequest.json +125 -0
- kafka/protocol/schemas/resources/FetchResponse.json +124 -0
- kafka/protocol/schemas/resources/FindCoordinatorRequest.json +43 -0
- kafka/protocol/schemas/resources/FindCoordinatorResponse.json +58 -0
- kafka/protocol/schemas/resources/HeartbeatRequest.json +39 -0
- kafka/protocol/schemas/resources/HeartbeatResponse.json +35 -0
- kafka/protocol/schemas/resources/IncrementalAlterConfigsRequest.json +44 -0
- kafka/protocol/schemas/resources/IncrementalAlterConfigsResponse.json +38 -0
- kafka/protocol/schemas/resources/InitProducerIdRequest.json +50 -0
- kafka/protocol/schemas/resources/InitProducerIdResponse.json +47 -0
- kafka/protocol/schemas/resources/JoinGroupRequest.json +63 -0
- kafka/protocol/schemas/resources/JoinGroupResponse.json +69 -0
- kafka/protocol/schemas/resources/LeaveGroupRequest.json +47 -0
- kafka/protocol/schemas/resources/LeaveGroupResponse.json +47 -0
- kafka/protocol/schemas/resources/ListConfigResourcesRequest.json +31 -0
- kafka/protocol/schemas/resources/ListConfigResourcesResponse.json +37 -0
- kafka/protocol/schemas/resources/ListGroupsRequest.json +36 -0
- kafka/protocol/schemas/resources/ListGroupsResponse.json +49 -0
- kafka/protocol/schemas/resources/ListOffsetsRequest.json +72 -0
- kafka/protocol/schemas/resources/ListOffsetsResponse.json +71 -0
- kafka/protocol/schemas/resources/ListPartitionReassignmentsRequest.json +34 -0
- kafka/protocol/schemas/resources/ListPartitionReassignmentsResponse.json +46 -0
- kafka/protocol/schemas/resources/ListTransactionsRequest.json +40 -0
- kafka/protocol/schemas/resources/ListTransactionsResponse.json +42 -0
- kafka/protocol/schemas/resources/MetadataRequest.json +56 -0
- kafka/protocol/schemas/resources/MetadataResponse.json +101 -0
- kafka/protocol/schemas/resources/OffsetCommitRequest.json +76 -0
- kafka/protocol/schemas/resources/OffsetCommitResponse.json +71 -0
- kafka/protocol/schemas/resources/OffsetDeleteRequest.json +39 -0
- kafka/protocol/schemas/resources/OffsetDeleteResponse.json +42 -0
- kafka/protocol/schemas/resources/OffsetFetchRequest.json +76 -0
- kafka/protocol/schemas/resources/OffsetFetchResponse.json +107 -0
- kafka/protocol/schemas/resources/OffsetForLeaderEpochRequest.json +52 -0
- kafka/protocol/schemas/resources/OffsetForLeaderEpochResponse.json +51 -0
- kafka/protocol/schemas/resources/ProduceRequest.json +73 -0
- kafka/protocol/schemas/resources/ProduceResponse.json +96 -0
- kafka/protocol/schemas/resources/RequestHeader.json +44 -0
- kafka/protocol/schemas/resources/ResponseHeader.json +26 -0
- kafka/protocol/schemas/resources/SaslAuthenticateRequest.json +29 -0
- kafka/protocol/schemas/resources/SaslAuthenticateResponse.json +34 -0
- kafka/protocol/schemas/resources/SaslHandshakeRequest.json +31 -0
- kafka/protocol/schemas/resources/SaslHandshakeResponse.json +32 -0
- kafka/protocol/schemas/resources/SyncGroupRequest.json +56 -0
- kafka/protocol/schemas/resources/SyncGroupResponse.json +46 -0
- kafka/protocol/schemas/resources/TxnOffsetCommitRequest.json +68 -0
- kafka/protocol/schemas/resources/TxnOffsetCommitResponse.json +47 -0
- kafka/protocol/schemas/resources/UpdateFeaturesRequest.json +43 -0
- kafka/protocol/schemas/resources/UpdateFeaturesResponse.json +39 -0
- kafka/protocol/schemas/resources/WriteTxnMarkersRequest.json +49 -0
- kafka/protocol/schemas/resources/WriteTxnMarkersResponse.json +45 -0
- kafka/protocol/schemas/resources/__init__.py +0 -0
- kafka/record/__init__.py +3 -0
- kafka/record/_crc32c.py +161 -0
- kafka/record/abc.py +144 -0
- kafka/record/default_records.py +782 -0
- kafka/record/legacy_records.py +587 -0
- kafka/record/memory_records.py +255 -0
- kafka/record/util.py +135 -0
- kafka/serializer/__init__.py +4 -0
- kafka/serializer/abstract.py +20 -0
- kafka/serializer/default.py +16 -0
- kafka/serializer/json.py +17 -0
- kafka/serializer/wrapper.py +21 -0
- kafka/structs.py +69 -0
- kafka/util.py +159 -0
- kafka/vendor/__init__.py +0 -0
- kafka/version.py +1 -0
- kafka_python-3.0.0.dist-info/METADATA +319 -0
- kafka_python-3.0.0.dist-info/RECORD +373 -0
- kafka_python-3.0.0.dist-info/WHEEL +5 -0
- kafka_python-3.0.0.dist-info/entry_points.txt +2 -0
- kafka_python-3.0.0.dist-info/licenses/LICENSE +202 -0
- kafka_python-3.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,79 @@
|
|
|
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": "response",
|
|
19
|
+
"name": "ApiVersionsResponse",
|
|
20
|
+
// Version 1 adds throttle time to the response.
|
|
21
|
+
//
|
|
22
|
+
// Starting in version 2, on quota violation, brokers send out responses before throttling.
|
|
23
|
+
//
|
|
24
|
+
// Version 3 is the first flexible version. Tagged fields are only supported in the body but
|
|
25
|
+
// not in the header. The length of the header must not change in order to guarantee the
|
|
26
|
+
// backward compatibility.
|
|
27
|
+
//
|
|
28
|
+
// Starting from Apache Kafka 2.4 (KIP-511), ApiKeys field is populated with the supported
|
|
29
|
+
// versions of the ApiVersionsRequest when an UNSUPPORTED_VERSION error is returned.
|
|
30
|
+
//
|
|
31
|
+
// Version 4 fixes KAFKA-17011, which blocked SupportedFeatures.MinVersion from being 0.
|
|
32
|
+
"validVersions": "0-4",
|
|
33
|
+
"flexibleVersions": "3+",
|
|
34
|
+
"fields": [
|
|
35
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
36
|
+
"about": "The top-level error code." },
|
|
37
|
+
{ "name": "ApiKeys", "type": "[]ApiVersion", "versions": "0+",
|
|
38
|
+
"about": "The APIs supported by the broker.", "fields": [
|
|
39
|
+
{ "name": "ApiKey", "type": "int16", "versions": "0+", "mapKey": true,
|
|
40
|
+
"about": "The API index." },
|
|
41
|
+
{ "name": "MinVersion", "type": "int16", "versions": "0+",
|
|
42
|
+
"about": "The minimum supported version, inclusive." },
|
|
43
|
+
{ "name": "MaxVersion", "type": "int16", "versions": "0+",
|
|
44
|
+
"about": "The maximum supported version, inclusive." }
|
|
45
|
+
]},
|
|
46
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "1+", "ignorable": true,
|
|
47
|
+
"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." },
|
|
48
|
+
{ "name": "SupportedFeatures", "type": "[]SupportedFeatureKey", "ignorable": true,
|
|
49
|
+
"versions": "3+", "tag": 0, "taggedVersions": "3+",
|
|
50
|
+
"about": "Features supported by the broker. Note: in v0-v3, features with MinSupportedVersion = 0 are omitted.",
|
|
51
|
+
"fields": [
|
|
52
|
+
{ "name": "Name", "type": "string", "versions": "3+", "mapKey": true,
|
|
53
|
+
"about": "The name of the feature." },
|
|
54
|
+
{ "name": "MinVersion", "type": "int16", "versions": "3+",
|
|
55
|
+
"about": "The minimum supported version for the feature." },
|
|
56
|
+
{ "name": "MaxVersion", "type": "int16", "versions": "3+",
|
|
57
|
+
"about": "The maximum supported version for the feature." }
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{ "name": "FinalizedFeaturesEpoch", "type": "int64", "versions": "3+",
|
|
61
|
+
"tag": 1, "taggedVersions": "3+", "default": "-1", "ignorable": true,
|
|
62
|
+
"about": "The monotonically increasing epoch for the finalized features information. Valid values are >= 0. A value of -1 is special and represents unknown epoch." },
|
|
63
|
+
{ "name": "FinalizedFeatures", "type": "[]FinalizedFeatureKey", "ignorable": true,
|
|
64
|
+
"versions": "3+", "tag": 2, "taggedVersions": "3+",
|
|
65
|
+
"about": "List of cluster-wide finalized features. The information is valid only if FinalizedFeaturesEpoch >= 0.",
|
|
66
|
+
"fields": [
|
|
67
|
+
{ "name": "Name", "type": "string", "versions": "3+", "mapKey": true,
|
|
68
|
+
"about": "The name of the feature." },
|
|
69
|
+
{ "name": "MaxVersionLevel", "type": "int16", "versions": "3+",
|
|
70
|
+
"about": "The cluster-wide finalized max version level for the feature." },
|
|
71
|
+
{ "name": "MinVersionLevel", "type": "int16", "versions": "3+",
|
|
72
|
+
"about": "The cluster-wide finalized min version level for the feature." }
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{ "name": "ZkMigrationReady", "type": "bool", "versions": "3+", "taggedVersions": "3+",
|
|
76
|
+
"tag": 3, "ignorable": true, "default": "false",
|
|
77
|
+
"about": "Set by a KRaft controller if the required configurations for ZK migration are present." }
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -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
|
+
"type": "data",
|
|
18
|
+
"name": "ConsumerProtocolAssignment",
|
|
19
|
+
// Assignment part of the Consumer Protocol.
|
|
20
|
+
//
|
|
21
|
+
// The current implementation assumes that future versions will not break compatibility. When
|
|
22
|
+
// it encounters a newer version, it parses it using the current format. This basically means
|
|
23
|
+
// that new versions cannot remove or reorder any of the existing fields.
|
|
24
|
+
//
|
|
25
|
+
// Version 2 is to support a new field "GenerationId" in ConsumerProtocolSubscription.
|
|
26
|
+
// Version 3 adds rack id to ConsumerProtocolSubscription.
|
|
27
|
+
"validVersions": "0-3",
|
|
28
|
+
"flexibleVersions": "none",
|
|
29
|
+
"fields": [
|
|
30
|
+
{ "name": "AssignedPartitions", "type": "[]TopicPartition", "versions": "0+",
|
|
31
|
+
"about": "The list of topics and partitions assigned to this consumer.", "fields": [
|
|
32
|
+
{ "name": "Topic", "type": "string", "mapKey": true, "versions": "0+", "entityType": "topicName",
|
|
33
|
+
"about": "The topic name."},
|
|
34
|
+
{ "name": "Partitions", "type": "[]int32", "versions": "0+",
|
|
35
|
+
"about": "The list of partitions assigned to this consumer."}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{ "name": "UserData", "type": "bytes", "versions": "0+", "nullableVersions": "0+",
|
|
39
|
+
"default": "null", "zeroCopy": true,
|
|
40
|
+
"about": "User data."}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
"type": "data",
|
|
18
|
+
"name": "ConsumerProtocolSubscription",
|
|
19
|
+
// Subscription part of the Consumer Protocol.
|
|
20
|
+
//
|
|
21
|
+
// The current implementation assumes that future versions will not break compatibility. When
|
|
22
|
+
// it encounters a newer version, it parses it using the current format. This basically means
|
|
23
|
+
// that new versions cannot remove or reorder any of the existing fields.
|
|
24
|
+
|
|
25
|
+
// Version 1 added the "OwnedPartitions" field to allow assigner know what partitions each member owned
|
|
26
|
+
// Version 2 added a new field "GenerationId" to indicate if the member has out-of-date ownedPartitions.
|
|
27
|
+
// Version 3 adds rack id to enable rack-aware assignment.
|
|
28
|
+
"validVersions": "0-3",
|
|
29
|
+
"flexibleVersions": "none",
|
|
30
|
+
"fields": [
|
|
31
|
+
{ "name": "Topics", "type": "[]string", "versions": "0+",
|
|
32
|
+
"about": "The topics that the member wants to consume."},
|
|
33
|
+
{ "name": "UserData", "type": "bytes", "versions": "0+", "nullableVersions": "0+",
|
|
34
|
+
"default": "null", "zeroCopy": true,
|
|
35
|
+
"about": "User data that will be passed back to the consumer."},
|
|
36
|
+
{ "name": "OwnedPartitions", "type": "[]TopicPartition", "versions": "1+", "ignorable": true,
|
|
37
|
+
"about": "The partitions that the member owns.", "fields": [
|
|
38
|
+
{ "name": "Topic", "type": "string", "mapKey": true, "versions": "1+", "entityType": "topicName",
|
|
39
|
+
"about": "The topic name."},
|
|
40
|
+
{ "name": "Partitions", "type": "[]int32", "versions": "1+",
|
|
41
|
+
"about": "The partition ids."}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{ "name": "GenerationId", "type": "int32", "versions": "2+", "default": "-1", "ignorable": true,
|
|
45
|
+
"about": "The generation id of the member."},
|
|
46
|
+
{ "name": "RackId", "type": "string", "versions": "3+", "nullableVersions": "3+", "default": "null", "ignorable": true,
|
|
47
|
+
"about": "The rack id of the member."}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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": 30,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker", "controller"],
|
|
20
|
+
"name": "CreateAclsRequest",
|
|
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": "Creations", "type": "[]AclCreation", "versions": "0+",
|
|
29
|
+
"about": "The ACLs that we want to create.", "fields": [
|
|
30
|
+
{ "name": "ResourceType", "type": "int8", "versions": "0+",
|
|
31
|
+
"about": "The type of the resource." },
|
|
32
|
+
{ "name": "ResourceName", "type": "string", "versions": "0+",
|
|
33
|
+
"about": "The resource name for the ACL." },
|
|
34
|
+
{ "name": "ResourcePatternType", "type": "int8", "versions": "1+", "default": "3",
|
|
35
|
+
"about": "The pattern type for the ACL." },
|
|
36
|
+
{ "name": "Principal", "type": "string", "versions": "0+",
|
|
37
|
+
"about": "The principal for the ACL." },
|
|
38
|
+
{ "name": "Host", "type": "string", "versions": "0+",
|
|
39
|
+
"about": "The host for the ACL." },
|
|
40
|
+
{ "name": "Operation", "type": "int8", "versions": "0+",
|
|
41
|
+
"about": "The operation type for the ACL (read, write, etc.)." },
|
|
42
|
+
{ "name": "PermissionType", "type": "int8", "versions": "0+",
|
|
43
|
+
"about": "The permission type for the ACL (allow, deny, etc.)." }
|
|
44
|
+
]}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -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": 30,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "CreateAclsResponse",
|
|
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
|
+
// Version 3 adds user resource type.
|
|
24
|
+
"validVersions": "1-3",
|
|
25
|
+
"flexibleVersions": "2+",
|
|
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": "[]AclCreationResult", "versions": "0+",
|
|
30
|
+
"about": "The results for each ACL creation.", "fields": [
|
|
31
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
32
|
+
"about": "The result error, or zero if there was no error." },
|
|
33
|
+
{ "name": "ErrorMessage", "type": "string", "nullableVersions": "0+", "versions": "0+",
|
|
34
|
+
"about": "The result message, or null if there was no error." }
|
|
35
|
+
]}
|
|
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
|
+
{
|
|
17
|
+
"apiKey": 37,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker", "controller"],
|
|
20
|
+
"name": "CreatePartitionsRequest",
|
|
21
|
+
// Version 1 is the same as version 0.
|
|
22
|
+
//
|
|
23
|
+
// Version 2 adds flexible version support
|
|
24
|
+
//
|
|
25
|
+
// Version 3 is identical to version 2 but may return a THROTTLING_QUOTA_EXCEEDED error
|
|
26
|
+
// in the response if the partitions creation is throttled (KIP-599).
|
|
27
|
+
"validVersions": "0-3",
|
|
28
|
+
"flexibleVersions": "2+",
|
|
29
|
+
"fields": [
|
|
30
|
+
{ "name": "Topics", "type": "[]CreatePartitionsTopic", "versions": "0+",
|
|
31
|
+
"about": "Each topic that we want to create new partitions inside.", "fields": [
|
|
32
|
+
{ "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
|
|
33
|
+
"about": "The topic name." },
|
|
34
|
+
{ "name": "Count", "type": "int32", "versions": "0+",
|
|
35
|
+
"about": "The new partition count." },
|
|
36
|
+
{ "name": "Assignments", "type": "[]CreatePartitionsAssignment", "versions": "0+", "nullableVersions": "0+",
|
|
37
|
+
"about": "The new partition assignments.", "fields": [
|
|
38
|
+
{ "name": "BrokerIds", "type": "[]int32", "versions": "0+", "entityType": "brokerId",
|
|
39
|
+
"about": "The assigned broker IDs." }
|
|
40
|
+
]}
|
|
41
|
+
]},
|
|
42
|
+
{ "name": "TimeoutMs", "type": "int32", "versions": "0+",
|
|
43
|
+
"about": "The time in ms to wait for the partitions to be created." },
|
|
44
|
+
{ "name": "ValidateOnly", "type": "bool", "versions": "0+",
|
|
45
|
+
"about": "If true, then validate the request, but don't actually increase the number of partitions." }
|
|
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": 37,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "CreatePartitionsResponse",
|
|
20
|
+
// Starting in version 1, on quota violation, brokers send out responses before throttling.
|
|
21
|
+
//
|
|
22
|
+
// Version 2 adds flexible version support
|
|
23
|
+
//
|
|
24
|
+
// Version 3 is identical to version 2 but may return a THROTTLING_QUOTA_EXCEEDED error
|
|
25
|
+
// in the response if the partitions creation is throttled (KIP-599).
|
|
26
|
+
"validVersions": "0-3",
|
|
27
|
+
"flexibleVersions": "2+",
|
|
28
|
+
"fields": [
|
|
29
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "0+",
|
|
30
|
+
"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." },
|
|
31
|
+
{ "name": "Results", "type": "[]CreatePartitionsTopicResult", "versions": "0+",
|
|
32
|
+
"about": "The partition creation results for each topic.", "fields": [
|
|
33
|
+
{ "name": "Name", "type": "string", "versions": "0+", "entityType": "topicName",
|
|
34
|
+
"about": "The topic name." },
|
|
35
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
36
|
+
"about": "The result error, or zero if there was no error."},
|
|
37
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
38
|
+
"default": "null", "about": "The result message, or null if there was no error."}
|
|
39
|
+
]}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
@@ -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": 19,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker", "controller"],
|
|
20
|
+
"name": "CreateTopicsRequest",
|
|
21
|
+
// Versions 0-1 were removed in Apache Kafka 4.0, Version 2 is the new baseline.
|
|
22
|
+
//
|
|
23
|
+
// Version 1 adds validateOnly.
|
|
24
|
+
//
|
|
25
|
+
// Version 4 makes partitions/replicationFactor optional even when assignments are not present (KIP-464)
|
|
26
|
+
//
|
|
27
|
+
// Version 5 is the first flexible version.
|
|
28
|
+
// Version 5 also returns topic configs in the response (KIP-525).
|
|
29
|
+
//
|
|
30
|
+
// Version 6 is identical to version 5 but may return a THROTTLING_QUOTA_EXCEEDED error
|
|
31
|
+
// in the response if the topics creation is throttled (KIP-599).
|
|
32
|
+
//
|
|
33
|
+
// Version 7 is the same as version 6.
|
|
34
|
+
"validVersions": "2-7",
|
|
35
|
+
"flexibleVersions": "5+",
|
|
36
|
+
"fields": [
|
|
37
|
+
{ "name": "Topics", "type": "[]CreatableTopic", "versions": "0+",
|
|
38
|
+
"about": "The topics to create.", "fields": [
|
|
39
|
+
{ "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
|
|
40
|
+
"about": "The topic name." },
|
|
41
|
+
{ "name": "NumPartitions", "type": "int32", "versions": "0+",
|
|
42
|
+
"about": "The number of partitions to create in the topic, or -1 if we are either specifying a manual partition assignment or using the default partitions." },
|
|
43
|
+
{ "name": "ReplicationFactor", "type": "int16", "versions": "0+",
|
|
44
|
+
"about": "The number of replicas to create for each partition in the topic, or -1 if we are either specifying a manual partition assignment or using the default replication factor." },
|
|
45
|
+
{ "name": "Assignments", "type": "[]CreatableReplicaAssignment", "versions": "0+",
|
|
46
|
+
"about": "The manual partition assignment, or the empty array if we are using automatic assignment.", "fields": [
|
|
47
|
+
{ "name": "PartitionIndex", "type": "int32", "versions": "0+", "mapKey": true,
|
|
48
|
+
"about": "The partition index." },
|
|
49
|
+
{ "name": "BrokerIds", "type": "[]int32", "versions": "0+", "entityType": "brokerId",
|
|
50
|
+
"about": "The brokers to place the partition on." }
|
|
51
|
+
]},
|
|
52
|
+
{ "name": "Configs", "type": "[]CreatableTopicConfig", "versions": "0+",
|
|
53
|
+
"about": "The custom topic configurations to set.", "fields": [
|
|
54
|
+
{ "name": "Name", "type": "string", "versions": "0+" , "mapKey": true,
|
|
55
|
+
"about": "The configuration name." },
|
|
56
|
+
{ "name": "Value", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
57
|
+
"about": "The configuration value." }
|
|
58
|
+
]}
|
|
59
|
+
]},
|
|
60
|
+
{ "name": "timeoutMs", "type": "int32", "versions": "0+", "default": "60000",
|
|
61
|
+
"about": "How long to wait in milliseconds before timing out the request." },
|
|
62
|
+
{ "name": "validateOnly", "type": "bool", "versions": "1+", "default": "false", "ignorable": false,
|
|
63
|
+
"about": "If true, check that the topics can be created as specified, but don't create anything." }
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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": 19,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "CreateTopicsResponse",
|
|
20
|
+
// Versions 0-1 were removed in Apache Kafka 4.0, Version 2 is the new baseline.
|
|
21
|
+
//
|
|
22
|
+
// Version 1 adds a per-topic error message string.
|
|
23
|
+
//
|
|
24
|
+
// Version 2 adds the throttle time.
|
|
25
|
+
//
|
|
26
|
+
// Starting in version 3, on quota violation, brokers send out responses before throttling.
|
|
27
|
+
//
|
|
28
|
+
// Version 4 makes partitions/replicationFactor optional even when assignments are not present (KIP-464).
|
|
29
|
+
//
|
|
30
|
+
// Version 5 is the first flexible version.
|
|
31
|
+
// Version 5 also returns topic configs in the response (KIP-525).
|
|
32
|
+
//
|
|
33
|
+
// Version 6 is identical to version 5 but may return a THROTTLING_QUOTA_EXCEEDED error
|
|
34
|
+
// in the response if the topics creation is throttled (KIP-599).
|
|
35
|
+
//
|
|
36
|
+
// Version 7 returns the topic ID of the newly created topic if creation is successful.
|
|
37
|
+
"validVersions": "2-7",
|
|
38
|
+
"flexibleVersions": "5+",
|
|
39
|
+
"fields": [
|
|
40
|
+
{ "name": "ThrottleTimeMs", "type": "int32", "versions": "2+", "ignorable": true,
|
|
41
|
+
"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." },
|
|
42
|
+
{ "name": "Topics", "type": "[]CreatableTopicResult", "versions": "0+",
|
|
43
|
+
"about": "Results for each topic we tried to create.", "fields": [
|
|
44
|
+
{ "name": "Name", "type": "string", "versions": "0+", "mapKey": true, "entityType": "topicName",
|
|
45
|
+
"about": "The topic name." },
|
|
46
|
+
{ "name": "TopicId", "type": "uuid", "versions": "7+", "ignorable": true, "about": "The unique topic ID."},
|
|
47
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
48
|
+
"about": "The error code, or 0 if there was no error." },
|
|
49
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "1+", "nullableVersions": "0+", "ignorable": true,
|
|
50
|
+
"about": "The error message, or null if there was no error." },
|
|
51
|
+
{ "name": "TopicConfigErrorCode", "type": "int16", "versions": "5+", "tag": 0, "taggedVersions": "5+", "ignorable": true,
|
|
52
|
+
"about": "Optional topic config error returned if configs are not returned in the response." },
|
|
53
|
+
{ "name": "NumPartitions", "type": "int32", "versions": "5+", "default": "-1", "ignorable": true,
|
|
54
|
+
"about": "Number of partitions of the topic." },
|
|
55
|
+
{ "name": "ReplicationFactor", "type": "int16", "versions": "5+", "default": "-1", "ignorable": true,
|
|
56
|
+
"about": "Replication factor of the topic." },
|
|
57
|
+
{ "name": "Configs", "type": "[]CreatableTopicConfigs", "versions": "5+", "nullableVersions": "5+", "ignorable": true,
|
|
58
|
+
"about": "Configuration of the topic.", "fields": [
|
|
59
|
+
{ "name": "Name", "type": "string", "versions": "5+",
|
|
60
|
+
"about": "The configuration name." },
|
|
61
|
+
{ "name": "Value", "type": "string", "versions": "5+", "nullableVersions": "5+",
|
|
62
|
+
"about": "The configuration value." },
|
|
63
|
+
{ "name": "ReadOnly", "type": "bool", "versions": "5+",
|
|
64
|
+
"about": "True if the configuration is read-only." },
|
|
65
|
+
{ "name": "ConfigSource", "type": "int8", "versions": "5+", "default": "-1", "ignorable": true,
|
|
66
|
+
"about": "The configuration source." },
|
|
67
|
+
{ "name": "IsSensitive", "type": "bool", "versions": "5+",
|
|
68
|
+
"about": "True if this configuration is sensitive." }
|
|
69
|
+
]}
|
|
70
|
+
]}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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": 31,
|
|
18
|
+
"type": "request",
|
|
19
|
+
"listeners": ["broker", "controller"],
|
|
20
|
+
"name": "DeleteAclsRequest",
|
|
21
|
+
// Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
|
|
22
|
+
// Version 1 adds the pattern type.
|
|
23
|
+
// Version 2 enables flexible versions.
|
|
24
|
+
// Version 3 adds the user resource type.
|
|
25
|
+
"validVersions": "1-3",
|
|
26
|
+
"flexibleVersions": "2+",
|
|
27
|
+
"fields": [
|
|
28
|
+
{ "name": "Filters", "type": "[]DeleteAclsFilter", "versions": "0+",
|
|
29
|
+
"about": "The filters to use when deleting ACLs.", "fields": [
|
|
30
|
+
{ "name": "ResourceTypeFilter", "type": "int8", "versions": "0+",
|
|
31
|
+
"about": "The resource type." },
|
|
32
|
+
{ "name": "ResourceNameFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
33
|
+
"about": "The resource name, or null to match any resource name." },
|
|
34
|
+
{ "name": "PatternTypeFilter", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
|
|
35
|
+
"about": "The pattern type." },
|
|
36
|
+
{ "name": "PrincipalFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
37
|
+
"about": "The principal filter, or null to accept all principals." },
|
|
38
|
+
{ "name": "HostFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
39
|
+
"about": "The host filter, or null to accept all hosts." },
|
|
40
|
+
{ "name": "Operation", "type": "int8", "versions": "0+",
|
|
41
|
+
"about": "The ACL operation." },
|
|
42
|
+
{ "name": "PermissionType", "type": "int8", "versions": "0+",
|
|
43
|
+
"about": "The permission type." }
|
|
44
|
+
]}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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": 31,
|
|
18
|
+
"type": "response",
|
|
19
|
+
"name": "DeleteAclsResponse",
|
|
20
|
+
// Version 0 was removed in Apache Kafka 4.0, Version 1 is the new baseline.
|
|
21
|
+
// Version 1 adds the resource pattern type.
|
|
22
|
+
// Starting in version 1, on quota violation, brokers send out responses before throttling.
|
|
23
|
+
// Version 2 enables flexible versions.
|
|
24
|
+
// Version 3 adds the 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": "FilterResults", "type": "[]DeleteAclsFilterResult", "versions": "0+",
|
|
31
|
+
"about": "The results for each filter.", "fields": [
|
|
32
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
33
|
+
"about": "The error code, or 0 if the filter succeeded." },
|
|
34
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
35
|
+
"about": "The error message, or null if the filter succeeded." },
|
|
36
|
+
{ "name": "MatchingAcls", "type": "[]DeleteAclsMatchingAcl", "versions": "0+",
|
|
37
|
+
"about": "The ACLs which matched this filter.", "fields": [
|
|
38
|
+
{ "name": "ErrorCode", "type": "int16", "versions": "0+",
|
|
39
|
+
"about": "The deletion error code, or 0 if the deletion succeeded." },
|
|
40
|
+
{ "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+",
|
|
41
|
+
"about": "The deletion error message, or null if the deletion succeeded." },
|
|
42
|
+
{ "name": "ResourceType", "type": "int8", "versions": "0+",
|
|
43
|
+
"about": "The ACL resource type." },
|
|
44
|
+
{ "name": "ResourceName", "type": "string", "versions": "0+",
|
|
45
|
+
"about": "The ACL resource name." },
|
|
46
|
+
{ "name": "PatternType", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
|
|
47
|
+
"about": "The ACL resource pattern type." },
|
|
48
|
+
{ "name": "Principal", "type": "string", "versions": "0+",
|
|
49
|
+
"about": "The ACL principal." },
|
|
50
|
+
{ "name": "Host", "type": "string", "versions": "0+",
|
|
51
|
+
"about": "The ACL host." },
|
|
52
|
+
{ "name": "Operation", "type": "int8", "versions": "0+",
|
|
53
|
+
"about": "The ACL operation." },
|
|
54
|
+
{ "name": "PermissionType", "type": "int8", "versions": "0+",
|
|
55
|
+
"about": "The ACL permission type." }
|
|
56
|
+
]}
|
|
57
|
+
]}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
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": "request",
|
|
19
|
+
"listeners": ["broker"],
|
|
20
|
+
"name": "DeleteGroupsRequest",
|
|
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": "GroupsNames", "type": "[]string", "versions": "0+", "entityType": "groupId",
|
|
28
|
+
"about": "The group names to delete." }
|
|
29
|
+
]
|
|
30
|
+
}
|