summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Eftimie <alex.eftimie@getyourguide.com>2018-02-18 08:18:39 +0100
committerJeff Widman <jeff@jeffwidman.com>2018-02-20 22:12:07 -0800
commitf1f6908e43f28c53207c402bca3836447341d5da (patch)
treeceb1904bc59b263e724ffc0577df37c9366ea518
parent60b22b15900621fc3d0cd73021bda8d5fc252055 (diff)
downloadkafka-python-f1f6908e43f28c53207c402bca3836447341d5da.tar.gz
Add Admin CreatePartitions API call
-rw-r--r--kafka/protocol/__init__.py2
-rw-r--r--kafka/protocol/admin.py31
2 files changed, 32 insertions, 1 deletions
diff --git a/kafka/protocol/__init__.py b/kafka/protocol/__init__.py
index 55ecb86..050a085 100644
--- a/kafka/protocol/__init__.py
+++ b/kafka/protocol/__init__.py
@@ -42,4 +42,6 @@ API_KEYS = {
31: 'DeleteAcls',
32: 'DescribeConfigs',
33: 'AlterConfigs',
+ 36: 'SaslAuthenticate',
+ 37: 'CreatePartitions',
}
diff --git a/kafka/protocol/admin.py b/kafka/protocol/admin.py
index 9d4f17f..775bcf0 100644
--- a/kafka/protocol/admin.py
+++ b/kafka/protocol/admin.py
@@ -256,7 +256,6 @@ class DescribeGroupsResponse_v1(Response):
)
-
class DescribeGroupsRequest_v0(Request):
API_KEY = 15
API_VERSION = 0
@@ -333,3 +332,33 @@ class SaslAuthenticateRequest_v0(Request):
SaslAuthenticateRequest = [SaslAuthenticateRequest_v0]
SaslAuthenticateResponse = [SaslAuthenticateResponse_v0]
+
+
+class CreatePartitionsResponse_v0(Response):
+ API_KEY = 37
+ API_VERSION = 0
+ SCHEMA = Schema(
+ ('topic_error_codes', Array(
+ ('topic', String('utf-8')),
+ ('error_code', Int16),
+ ('error_message', String('utf-8'))))
+ )
+
+
+class CreatePartitionsRequest_v0(Request):
+ API_KEY = 37
+ API_VERSION = 0
+ RESPONSE_TYPE = CreatePartitionsResponse_v0
+ SCHEMA = Schema(
+ ('topic_partitions', Array(
+ ('topic', String('utf-8')),
+ ('new_partitions', Schema(
+ ('count', Int32),
+ ('assignment', Array(Int32)))))),
+ ('timeout', Int32),
+ ('validate_only', Boolean)
+ )
+
+
+CreatePartitionsRequest = [CreatePartitionsRequest_v0]
+CreatePartitionsResponse = [CreatePartitionsResponse_v0]