summaryrefslogtreecommitdiff
path: root/kafka/protocol/admin.py
diff options
context:
space:
mode:
authorJeff Widman <jeff@jeffwidman.com>2017-01-18 16:51:58 -0800
committerDana Powers <dana.powers@gmail.com>2017-01-18 16:51:58 -0800
commit2c6261a4d6bd2fbcabbc0431c8f1defe5b6e7e21 (patch)
tree327809c78d87b5475022d2471856e5ca2e60098d /kafka/protocol/admin.py
parent8d41f39702152be34303f067f618a2ffa9714bd2 (diff)
downloadkafka-python-2c6261a4d6bd2fbcabbc0431c8f1defe5b6e7e21.tar.gz
Add CreateTopics / DeleteTopics Structs (#944)
Diffstat (limited to 'kafka/protocol/admin.py')
-rw-r--r--kafka/protocol/admin.py62
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