这是我正在使用的 YANG 模型的简化版本:
module echo
{
namespace "http://namespace.com/ns/echo/1.0";
prefix echo;
import tailf-common
{
prefix tailf;
}
import ietf-inet-types
{
prefix inet;
}
...
container echo
{
...
container client
{
...
leaf ip
{
type inet:ipv4-address;
tailf:info "Destination IP of remote device";
tailf:snmp-name echoClientDestIp;
tailf:hidden debug;
}
}//container client
}//container echo
}//module echo
这是我正在运行以更改 CDB 的简化 bash 脚本:
#!/bin/sh
MAAPI=$CONFD_TOOLS_PATH/maapi
file_check $MAAPI
#...
$MAAPI --clicmd "unhide debug"
$MAAPI --set "echo:echo/client/ip" "$1"
#...
$MAAPI --clicmd "commit"
#...
$MAAPI --clicmd "hide debug"
exit 0
模型的其余部分和脚本与这里的非常相似。尝试通过 CLI(通过 clifspec 文件)执行脚本时得到的结果是:
"Failed to set value: item is not writable - "
因此,我尝试从字面上使其可写(为此我必须使其可操作并因此添加一个调用点),因此叶子最终看起来像这样:
leaf ip
{
type inet:ipv4-address;
tailf:info "Destination IP of remote device";
tailf:snmp-name echoClientDestIp;
tailf:hidden debug;
config false;
tailf:writable true;
tailf:callpoint useless-but-needed-callpoint-2;
}
这产生了同样的错误。知道有什么问题吗?