THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
{ "apiKey": 32, "type": "response", "name": "DescribeConfigsResponse", "validVersions": "0-3", <--- Updated Field "flexibleVersions": "none", "fields": [ { "name": "ThrottleTimeMs", "type": "int32", "versions": "0+", "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." }, { "name": "Results", "type": "[]DescribeConfigsResult", "versions": "0+", "about": "The results for each resource.", "fields": [ { "name": "ErrorCode", "type": "int16", "versions": "0+", "about": "The error code, or 0 if we were able to successfully describe the configurations." }, { "name": "ErrorMessage", "type": "string", "versions": "0+", "nullableVersions": "0+", "about": "The error message, or null if we were able to successfully describe the configurations." }, { "name": "ResourceType", "type": "int8", "versions": "0+", "about": "The resource type." }, { "name": "ResourceName", "type": "string", "versions": "0+", "about": "The resource name." }, { "name": "Configs", "type": "[]DescribeConfigsResourceResult", "versions": "0+", "about": "Each listed configuration.", "fields": [ { "name": "Name", "type": "string", "versions": "0+", "about": "The configuration name." }, { "name": "Value", "type": "string", "versions": "0+", "nullableVersions": "0+", "about": "The configuration value." }, { "name": "ReadOnly", "type": "bool", "versions": "0+", "about": "True if the configuration is read-only." }, { "name": "IsDefault", "type": "bool", "versions": "0", "about": "True if the configuration is not set." }, // Note: the v0 default for this field that should be exposed to callers is // context-dependent. For example, if the resource is a broker, this should default to 4. // -1 is just a placeholder value. { "name": "ConfigSource", "type": "int8", "versions": "1+", "default": "-1", "ignorable": true, "about": "The configuration source." }, { "name": "IsSensitive", "type": "bool", "versions": "0+", "about": "True if this configuration is sensitive." }, { "name": "Synonyms", "type": "[]DescribeConfigsSynonym", "versions": "1+", "ignorable": true, "about": "The synonyms for this configuration key.", "fields": [ { "name": "Name", "type": "string", "versions": "1+", "about": "The synonym name." }, { "name": "Value", "type": "string", "versions": "1+", "nullableVersions": "0+", "about": "The synonym value." }, { "name": "Source", "type": "int8", "versions": "1+", "about": "The synonym source." } ]}, <--- Start of new Fields { "name": "ConfigValueType", "type": "string", "versions": "3+", "nullableVersions": "0+", "about": "The configuration data type. Type can be one of the following values - BOOLEAN, STRING, INT, SHORT, LONG, DOUBLE, LIST, CLASS, PASSWORD"}, { "name": "Documentation", "type": "string", "versions": "3+", "nullableVersions": "0+", "about": "The configuration documentation." }, <---- End of new FieldFields ]} ]} ] } |
AdminClient Class
...
Kafka uses binary protocol over TCP. Following example, however show how the response would look like in JSON format.
A few examples of DescribeConfigResponse
Code Block | ||
---|---|---|
| ||
{ "name": "offsets.topic.num.partitions", "value": "50", "source": "DEFAULT_CONFIG", "type": "INT", // <---- New FildField "synonyms": [ { "name": "offsets.topic.num.partitions", "value": "50", "source": "DEFAULT_CONFIG" } ], "documentation": "The number of partitions for the offset commit topic (should not change after deployment)", // <---- New Field "isReadOnly": true, "isSensitive": false, } |
...
Code Block |
---|
replication.quota.window.num=11 type=INT sensitive=false synonyms={} documentation=... |
For server version < client version type would be null
Code Block |
---|
request.timeout.ms=30000 type=null sensitive=false synonyms={} documentation=null |
And for server version > client version type will be ignored
...