使用 yang restconf 访问特定的叶列表条目
accessing a specific leaf-list entry using yang restconf
我很清楚如何引用 list
项(restconf 草案),但不清楚如何引用特定的 leaf-list entry
。
例如,给定以下定义:
module x {
container y {
leaf-list z;
}
}
and if I have the following data in the system
<y>
<z>a</z>
<z>b</z>
<z>d</z>
</y>
如何在第三个位置插入 c
?
Restconf 具有获取资源 uri 的 'insert' 和 'point'。
但是,标识叶列表项的资源 uri 是什么?
如果我想参考第二个条目,以下有效吗?
/y/z=b
每个叶列表条目都是 restconf-draft-10 中的一个单独的数据资源。
Containers,
leafs, leaf-list entries, list entries, anydata and anyxml nodes are
data resources.
这就是 Section 3.5 关于 leaf-list
个条目的说法。此外,它在 5.3.1 中定义了 leaf-list
数据资源标识符的编码:
If a data node in the path expression is a YANG leaf-list node, then
the leaf-list value MUST be encoded according to the following rules:
o The instance-identifier for the leaf-list MUST be encoded using
one path segment [RFC3986].
o The path segment is constructed by having the leaf-list name,
followed by an "=" character, followed by the leaf-list value.
(e.g., /restconf/data/top-leaflist=fred).
因此,您的第二次输入示例为:/restconf/data/x:y/z=b
.
至于插入,好像不太清楚。 point
和 insert
草案的附录 D 中都有示例,但使用 list
而不是 leaf-list
(请注意,两者都必须是 ordered-by user
以便两个参数在请求中有效)。
POST /restconf/data/example-jukebox:jukebox/
library/artist=Foo%20Fighters/album=Wasting%20Light?
insert=after&point=%2Fexample-jukebox%3Ajukebox%2F
library%2Fartist%3DFoo%20Fighters%2Falbum%3D
Wasting%20Light%2Fsong%3DBridge%20Burning HTTP/1.1
Host: example.com
Content-Type: application/yang.data+json
{
"example-jukebox:song" : {
"name" : "Rope",
"location" : "/media/foo/a7/rope.mp3",
"format" : "MP3",
"length" : 259
}
}
我很清楚如何引用 list
项(restconf 草案),但不清楚如何引用特定的 leaf-list entry
。
例如,给定以下定义:
module x {
container y {
leaf-list z;
}
}
and if I have the following data in the system
<y>
<z>a</z>
<z>b</z>
<z>d</z>
</y>
如何在第三个位置插入 c
?
Restconf 具有获取资源 uri 的 'insert' 和 'point'。 但是,标识叶列表项的资源 uri 是什么? 如果我想参考第二个条目,以下有效吗?
/y/z=b
每个叶列表条目都是 restconf-draft-10 中的一个单独的数据资源。
Containers, leafs, leaf-list entries, list entries, anydata and anyxml nodes are data resources.
这就是 Section 3.5 关于 leaf-list
个条目的说法。此外,它在 5.3.1 中定义了 leaf-list
数据资源标识符的编码:
If a data node in the path expression is a YANG leaf-list node, then the leaf-list value MUST be encoded according to the following rules:
o The instance-identifier for the leaf-list MUST be encoded using one path segment [RFC3986].
o The path segment is constructed by having the leaf-list name, followed by an "=" character, followed by the leaf-list value. (e.g., /restconf/data/top-leaflist=fred).
因此,您的第二次输入示例为:/restconf/data/x:y/z=b
.
至于插入,好像不太清楚。 point
和 insert
草案的附录 D 中都有示例,但使用 list
而不是 leaf-list
(请注意,两者都必须是 ordered-by user
以便两个参数在请求中有效)。
POST /restconf/data/example-jukebox:jukebox/
library/artist=Foo%20Fighters/album=Wasting%20Light?
insert=after&point=%2Fexample-jukebox%3Ajukebox%2F
library%2Fartist%3DFoo%20Fighters%2Falbum%3D
Wasting%20Light%2Fsong%3DBridge%20Burning HTTP/1.1
Host: example.com
Content-Type: application/yang.data+json
{
"example-jukebox:song" : {
"name" : "Rope",
"location" : "/media/foo/a7/rope.mp3",
"format" : "MP3",
"length" : 259
}
}