ConfD User Community

Regarding submode in yang

 container media-address {
          description
            "Voice Media IP Address Range";
          when "../type = 'voip'";
          tailf:cli-incomplete-no;
          container range {
            description
              "Address range";
            tailf:cli-add-mode;
            tailf:cli-mode-name "cfg-media-addr-range";
            tailf:cli-incomplete-command;
            container ipv4 {
              tailf:cli-drop-node-name;
              tailf:cli-compact-syntax;
              tailf:cli-sequence-commands;
              tailf:cli-hide-in-submode;
              tailf:cli-flatten-container;
              leaf startipv4address {
                description
                "Enter start ip address";
                tailf:cli-drop-node-name;
                tailf:cli-incomplete-command;
                type inet:ipv4-address;
               }
               leaf endipv4address {
                 description
                   "Enter end ip address";
                 tailf:cli-drop-node-name;
                 type inet:ipv4-address;
                }
              uses config-port-range-grouping;
            }
            container ipv6 {
              tailf:cli-drop-node-name;
              tailf:cli-compact-syntax;
              tailf:cli-sequence-commands;
              tailf:cli-hide-in-submode;
              tailf:cli-flatten-container;
              leaf startipv6address {
                description
                  "Start IPv6 address";
                tailf:cli-drop-node-name;
                type inet:ipv6-address;
               }
              leaf endipv6address {
                description
                  "End IPv6 address";
                tailf:cli-drop-node-name;
                type inet:ipv6-address;
              }
            }
            container port-range {
              description
        "media address port range";
      tailf:alt-name "port-range";
      tailf:cli-sequence-commands;
      tailf:cli-compact-syntax;
      presence true;
      leaf minport{
        description
          "Start media address extended port";
        tailf:cli-drop-node-name;
        tailf:cli-incomplete-command;
        must ". mod 2 = 0" {
          error-message "min_port value must be even";
        }
        type uint16 {
          range "5500..65498";
        }
      }
           }
          }

In confd when trying to configure it is displaying CLI like below,

ubuntu-xenial(conf-voi-serv)# media-address range ?
Possible completions:
  IPv4 address IPv6 address port-range

I want port-range to display only when it is entered in sub-mode like below,

ubuntu-xenial(conf-voi-serv)# media-address range
ubuntu-xenial(conf-voi-serv)# media-address range ?
Possible completions:
  IPv4 address  IPv6 address --> Here port-range is not present which is expected o/p
ubuntu-xenial(conf-voi-serv)# media-address range 1.1.1.1 2.2.2.2
ubuntu-xenial(cfg-media-addr-range)# ?
Possible completions:
  port-range

How to achieve the same ?

Can someone pls reply on this query ??

Perhaps something like

container range {
  presence "";
...
  container port-range {
    tailf:display-when "../../range";
...

Thanks Cohult . This I had achieved somehow .

Can some one pls reply on this topic


I am stuck in this .