diff options
author | Jeff Widman <jeff@jeffwidman.com> | 2017-01-18 16:51:58 -0800 |
---|---|---|
committer | Dana Powers <dana.powers@gmail.com> | 2017-01-18 16:51:58 -0800 |
commit | 2c6261a4d6bd2fbcabbc0431c8f1defe5b6e7e21 (patch) | |
tree | 327809c78d87b5475022d2471856e5ca2e60098d /kafka/protocol/admin.py | |
parent | 8d41f39702152be34303f067f618a2ffa9714bd2 (diff) | |
download | kafka-python-2c6261a4d6bd2fbcabbc0431c8f1defe5b6e7e21.tar.gz |
Add CreateTopics / DeleteTopics Structs (#944)
Diffstat (limited to 'kafka/protocol/admin.py')
-rw-r--r-- | kafka/protocol/admin.py | 62 |
1 files changed, 60 insertions, 2 deletions
diff --git a/kafka/protocol/admin.py b/kafka/protocol/admin.py index 747684f..99ec177 100644 --- a/kafka/protocol/admin.py +++ b/kafka/protocol/admin.py @@ -1,7 +1,7 @@ from __future__ import absolute_import from .struct import Struct -from .types import Array, Bytes, Int16, Schema, String +from .types import Array, Bytes, Int16, Int32, Schema, String class ApiVersionResponse_v0(Struct): @@ -12,7 +12,8 @@ class ApiVersionResponse_v0(Struct): ('api_versions', Array( ('api_key', Int16), ('min_version', Int16), - ('max_version', Int16)))) + ('max_version', Int16))) + ) class ApiVersionRequest_v0(Struct): @@ -26,6 +27,63 @@ ApiVersionRequest = [ApiVersionRequest_v0] ApiVersionResponse = [ApiVersionResponse_v0] +class CreateTopicsResponse_v0(Struct): + API_KEY = 19 + API_VERSION = 0 + SCHEMA = Schema( + ('topic_error_codes', Array( + ('topic', String('utf-8')), + ('error_code', Int16))) + ) + + +class CreateTopicsRequest_v0(Struct): + API_KEY = 19 + API_VERSION = 0 + RESPONSE_TYPE = CreateTopicsResponse_v0 + SCHEMA = Schema( + ('create_topic_requests', Array( + ('topic', String('utf-8')), + ('num_partitions', Int32), + ('replication_factor', Int16), + ('replica_assignment', Array( + ('partition_id', Int32), + ('replicas', Array(Int32)))), + ('configs', Array( + ('config_key', String('utf-8')), + ('config_value', String('utf-8')))))), + ('timeout', Int32) + ) + + +CreateTopicsRequest = [CreateTopicsRequest_v0] +CreateTopicsResponse = [CreateTopicsResponse_v0] + + +class DeleteTopicsResponse_v0(Struct): + API_KEY = 20 + API_VERSION = 0 + SCHEMA = Schema( + ('topic_error_codes', Array( + ('topic', String('utf-8')), + ('error_code', Int16))) + ) + + +class DeleteTopicsRequest_v0(Struct): + API_KEY = 20 + API_VERSION = 0 + RESPONSE_TYPE = DeleteTopicsResponse_v0 + SCHEMA = Schema( + ('topics', Array(String('utf-8'))), + ('timeout', Int32) + ) + + +DeleteTopicsRequest = [DeleteTopicsRequest_v0] +DeleteTopicsResponse = [DeleteTopicsResponse_v0] + + class ListGroupsResponse_v0(Struct): API_KEY = 16 API_VERSION = 0 |