THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
List Configs
Code Block | ||||
---|---|---|---|---|
| ||||
ListConfigs Request (Version: 0) => [entities] entities => entity_type entity_name entity_type => INT8 entity_name => STRING |
Request semantics:
- Can be sent to any broker
- If there are multiple instructions for the same entity in one request the extra request will be ignored
- This is because the list of entities is modeled server side as a set
- Multiple describes results in the same end goal, so handling this error for the user should be okay
- This is similar to how delete topics handles requests
- Entity types are "Topic", "Client", and "Broker".
- If entity_type is "Broker" and entity_name matches the broker that has received the request, read-only configs for this broker are also returned.
- Below are the authorization requirements for each type:
- Broker: Must be authorized to the "Describe" Operation on the "Cluster" resource
- Topic: Must be authorized to the "Describe" Operation on the "Topic" resource
- Client: Must be authorized to the "Describe" Operation on the "Client" resource
- This is a new resource needed
- TODO: best way to handle this...
- Arbitrary configurations are allowed
- This provides flexibility for custom clients, and allows all "plugin" or extra configs to be shown
- The user can validate the configs after the describe command in their client to check for errors, but the wire protocol should relay all information.
Code Block | ||||
---|---|---|---|---|
| ||||
ListConfigs Response (Version: 0) => [entities] entities => entity_type entity_name error_code [configs] entity_type => INT8 entity_name => STRING error_code => INT16 configs => config_name => STRING config_value => STRING read_only => BOOLEAN is_default => BOOLEAN |
Alter Configs
Code Block | ||||
---|---|---|---|---|
| ||||
AlterConfigs Request (Version: 0) => [entities] validate_only validate_only => BOOLEAN entities => entity_type entity_name error_code [configs] entity_type => INT8 entity_name => STRING error_code => INT16 configs => config_key => STRING config_value => STRING |
Code Block | ||||
---|---|---|---|---|
| ||||
AlterConfigs Response (Version: 0) => [responses] responses => entity_type entity_name error_code entity_type => INT8 entity_name => STRING error_code => INT16 |
...