What is the difference between "cli-no-match-completion" and "cli-no-key-completion"?

The ConfD user guide descriptions for the two are unclear and hence we require a clarification.

Specifies that the CLI engine should not provide match completion for the key leafs in the list.

Specifies that the CLI engine should not perform completion for key leafs in the list. This is to avoid querying the data provider for all existing keys.

I believe the cli-no-match-completion is not about “hinting” - or, “code-completion”-like behavior in CLI.
ConfD CLI be default allows to write only part of the existing key value when typing command - it’s prefix - and if it matches some existing key, it is used.
Annotation tailf:cli-no-match-completion then disables this behavior for specific lists…

E.g. if you have model (pseudo code):

list interface {
  key "if-name";
  leaf if-name { type string; }
  leaf other-content {...};

and it contains following data:


you can type commands like:

interface eth other-content hello

and CLI automatically uses the “eth-123” instead of your “eth” when executing/applying command in CLI…

1 Like