...
A QuotasCommand would be constructed with an associated script for managing quotas via command line.
FlagsCommon flags:
--bootstrap-server (required). : The standard bootstrap server.
--command-config: Property file for the Admin client.
Operations (mutually exclusive):
--list: Lists the entities that match the given specification, and prints out their configuration values.
--describe: Describes the effective quota values for an entity.
--alter: Alters the configuration for the given specification.
Entity specification flags (common to all):
---describe names: Comma-separated list of type=name pairs, e.g. --names=user=some-user,client-id=some-client-id
--defaults: Comma-separated list of entity types with the default name, e.g. defaults=user,client-id (Note a separate flag is necessary since names are opaque.)
Exclusive to --list:
--match: Comma-separated prefix=name pairs, e.g. --match=prefix=user
Exclusive to --describe:
--include-overrides: Whether to include overridden config entries.
Exclusive to --alter:
--add: Adds or updates a configuration entry to the given value. The unit must be specified.
--delete: Removes a configuration entry.
--validate-only: If set, validates the alteration but doesn't perform it.
TODO: Specify output.
Proposed Changes
In addition to the API changes above, the following write protocol would be implemented:
...