【问题标题】:Add data if 'config false' YANG如果 'config false' YANG 则添加数据
【发布时间】:2020-06-09 09:56:19
【问题描述】:
如果配置语句为假,我可以发送 POST(不是 PUT 或 PATCH)命令吗?怎么样?
module system {
namespace "system:uri";
prefix "sys";
leaf id {
config false;
type string;
}
}
是否可以在 netconf 或 YANG 中将叶子定义为只读? (发布后)
【问题讨论】:
标签:
ietf-netmod-yang
ietf-netconf
ietf-restconf
netconf
【解决方案1】:
Config false 节点不可配置。服务器实现设置它们的值。您不能直接更改 id 叶的值。但是,如果您使用此类语义定义自定义操作,则可以间接指示服务器执行此操作。
rpc change-id {
input {
leaf new-id {
description "Sets the value of system:id.";
type string;
}
}
}
显然,叶子需要非常特别才能保证这样的事情。然后,您将通过 POST 调用该操作:
POST /restconf/operations/system:change-id HTTP/1.1
Host: example.com
Content-Type: application/yang-data+json
{"system:input":{"new-id": "foo"}}
您当然需要自己定义操作的正确语义。
P.S.:看到你问了一个有点类似的问题here,也许你真正需要的是access control。