Я пытаюсь построить модель YANG для этого файла конфигурации со списками без ключей. Однако из-за необходимости ключа в списке YANG я не смог построить точную модель YANG. Есть ли идея, как представить список списка без ключа в YANG.
Файл включает в себя списки управления доступом, в которых может быть много списков управления доступом, таких как acl1, acl2, названных пользователями и имеющих правила, как в примере ниже.
acls:
acl1:
- rule:
nw_src: 192.168.1.1/24
actions:
allow: 1
- rule:
actions:
allow: 0
acl2:
- rule:
nw_src: 192.168.1.1/24
actions:
allow: 0
- rule:
actions:
allow: 1
Моя модель YANG
list acls{
description "list of acls ";
key "acl-name";
ordered-by user;
leaf acl-name {
type string {
length "1..64";
}
}
list acle {
description "This is a list of users in the system.";
key "acle-name";
ordered-by user;
leaf acle-name {
type string {
length "1..64";
}
description
"The name of access-list. A device MAY restrict the length
and value of this name, possibly space and special
characters are not allowed.";
}
container actions {
description "actions for this acl entry ";
leaf allow {
type uint8;
}
} // end actions container
container match{
description "match fields for this acl entry ";
leaf nw_src{
type inet:ipv4-address;
}
}
}//match cont
}//acle
} //acls
И, следовательно, соответствующий действительный файл данных имеет дополнительные поля, которые необходимы для YANG, но не существуют в моем исходном файле конфигурации выше, например (aclname, acle, aclename).
acls:
acl1:
aclname: acl1
acle:
rule11:
aclename: rule11
nw_src: 192.168.1.1/24
actions:
allow: 1
rule12:
aclename: rule12
actions:
allow: 0
acl2:
aclname: acl2
acle:
rule21:
nw_src: 192.168.1.1/24
aclename: rule21
actions:
allow: 0
rule22:
aclename: rule22
actions:
allow: 1