Seeking Advice on Managing Default Key Values and Conditional CLI Completions

Hi everyone,
I’m facing a challenge in a CLI environment and would appreciate any insights or suggestions.

//Snippet from an annotation file

tailf:annotate config:config-profile {
    tailf:alt-name "settings";
    tailf:info "Configuration settings for each profile.";

    tailf:annotate config:option-type {           <----- key leaf
        tailf:info "Specify the option type.";
        tailf:key-default ".*";  // Broad default value
    }

    tailf:annotate config:option-value {         <----- key leaf
        tailf:info "Enter the value for the option.";
        tailf:key-default ".*";  // Broad default value
    }

    tailf:annotate config:additional-info {             <----- leaf
        tailf:info "Provide additional information.";
    }

    tailf:annotate config:option-severity {           <------ container
        tailf:cli-drop-node-name;

        tailf:annotate config:severity-level {            <------ leaf-list
            tailf:info "Choose the severity level.";
        }
    }
}

In my CLI configuration (using a YANG/ConfD-based system), we have a setup within a configuration profile (config:config-profile ) where we need to manage user inputs for certain key leaves (option-type and option-value ) and display other configuration options (additional-info and severity-level ).

The problem is that when pressing TAB or ? I get:

unit(config)# config profile specific-profile ?
Possible completions:
<option-type:string>  additional-info  option-severity  <cr>
unit(config)# config profile specific-profile option-severity ?
Possible completions:
<option-value:string>  additional-info  option-severity  <cr>
unit(config)# config profile specific-profile option-severity option-severity ?
Possible completions:
additional-info  option-severity  <cr>
unit(config)# config profile specific-profile option-severity option-severity option-severity ?
Possible completions:
[  high  low  medium  urgent  moderate
  • Same unwanted behavior occurs with additional-info instead of option-severity.

  • I want to display the fields additional-info and option-severity (which includes severity-level) only after the user has specified values for option-type and option-value.
    The challenge arises because, with the current default settings, the CLI interface shows additional-info and severity-level from the start. This is not ideal as it is confusing for the user, since he cannot navigate to these leaves yet.