Может ли модуль YANG иметь список внутри группировки?
Мой код выглядит следующим образом.
1.
grouping policy-attributes {
container qospolicies {
list qospolicy {
key "uuid";
uses attrs:base-attributes;
uses qos-policy-attributes;
uses bandwidth-limit-attributes;
uses dscp-marking-attributes;
}
}
}
Группировка со списком
2.
grouping bandwidth-limit-rules-attributes {
list bandwidth-limit-rule{
leaf qos-rule-id {
type yang:uuid;
description "The rule id of the associated rule";
}
leaf max-kbps {
type uint64;
description "The maximum KBPS value";
}
leaf max-burst-kbps {
type uint64;
description "The burst over the maximum KBPS value";
}
leaf policy-id {
type yang:uuid;
description "The policy id to which the rule is associated";
}
}
}
3.
grouping dscp-marking-rules-attributes {
list dscp-marking-rule{
leaf qos-rule-id {
type yang:uuid;
description "The rule id of the associated rule";
}
leaf dscp-mark {
type uint8{
range "0 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | 30 | 32 | 34 | 36 | 38
| 40 | 46 | 48 | 56 ";}
description "the value of dscp mark";
}
leaf policy-id {
type yang:uuid;
description "the policy id to which the rule is associated";
}
}
}
Группировка bandwidth-limit-rules-attributes
есть список с листьями. Так же bandwidth-limit-rules-attributes
используется в группировке policy-attributes
, Я хотел бы знать, действительно ли иметь bandwidth-limit-rules-attributes
в policy-attributes
,
1 ответ
Да, вы можете иметь list
как подстановка к grouping
, Вот список возможных подзаписей для grouping
из RFC6020 ( Ян 1.0).
+--------------+---------+-------------+
| substatement | section | cardinality |
+--------------+---------+-------------+
| anyxml | 7.10 | 0..n |
| choice | 7.9 | 0..n |
| container | 7.5 | 0..n |
| description | 7.19.3 | 0..1 |
| grouping | 7.11 | 0..n |
| leaf | 7.6 | 0..n |
| leaf-list | 7.7 | 0..n |
| list | 7.8 | 0..n | <--
| reference | 7.19.4 | 0..1 |
| status | 7.19.2 | 0..1 |
| typedef | 7.3 | 0..n |
| uses | 7.12 | 0..n |
+--------------+---------+-------------+
Используя группировку внутри вашего policy-attributes
Группировка также действительна:
grouping policy-attributes {
container qospolicies {
list qospolicy {
key uuid;
/*
uses attrs:base-attributes;
uses qos-policy-attributes;
uses bandwidth-limit-attributes;
uses dscp-marking-attributes;
*/
uses bandwidth-limit-rules-attributes;
}
}
}