杨:强制用户从节点所指的列表中输入

问题描述

我是杨的新手。下面是我的 yang 配置。

 container ntp {
 tailf:info "NTP Configuration";
 tailf:cli-oper-info "display NTP information";
 tailf:cli-incomplete-show-path;

 //ntp server config
 leaf-list server {
  tailf:info "NTP servers";
  ordered-by user;
  tailf:cli-flat-list-Syntax {
    tailf:cli-replace-all;
  }
  type gw-types:ipv4-host;
  max-elements 4;
}

 container auth {
   tailf:info "Configure NTP authentication keys";
   list server {
     tailf:info "Configured ip addresses";
     tailf:cli-suppress-mode;
     tailf:cli-sequence-commands;
     tailf:cli-incomplete-command;
     tailf:cli-compact-Syntax;

     key "serverip";

     leaf serverip {
       tailf:info "ip address";
       type leafref {
       path "/gw-system:ntp/server";
       }
     }
     leaf key {
       tailf:info "Authentication key ID for this server";
       type uint32 {
       range "1..65535";
       }
     }
     choice authtype {
      tailf:cli-incomplete-command;
      leaf sha256 {
        tailf:info "Value of the sha256 key";
        type tailf:aes-cfb-128-encrypted-string {
        tailf:info "Cleartext or AES encrypted key";
     }
    }
   }
  }
 }
}

我想达到以下两个要求。有人可以帮我吗

  1. 我在节点 leafref 中使用了类型 serverip,以便用户可以输入 leaf-list server 中存在的 IP 地址。当我测试它时,我能够输入一些随机 ip 地址,这些地址也没有出现在我的 leaf-list server 所指的 leaf serverip 中。当我提交时,它会给出错误 Illegal reference 但我希望如果用户给出了列表中不存在的随机 ip,则不应允许他完成命令。当他输入命令而不是在提交时显示错误时,有什么方法可以在运行时限制他。

  2. leaf serverip 指的是 leaf-list server。我希望如果用户尝试删除目标节点,即 server 然后自动地首先删除它的所有依赖项。就像首先应该删除所有依赖项,然后是主节点。

    它应该给用户错误,在删除目标节点之前先删除依赖节点。即在删除 leaf-list server 之前,应要求用户删除节点 serverip。我怎样才能实现其中任何一个

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...