【问题标题】:Can a container inside a grouping be augmented in YANG?可以在 YANG 中扩充分组内的容器吗?
【发布时间】:2020-08-18 23:50:49
【问题描述】:

第一个模块包含以下内容:

module a
{
    namespace "my:namespace";
    prefix a;

    grouping mygrouping
    {
        container firstcontainer {
            list modules {
                leaf firstmodule;
                leaf secondmodule;
            }    
        }
    }
}

现在我想在第二个模块中对其进行如下扩充:

module b
{
    namespace "my:namespace";
    prefix a;
    import b {
        prefix b;
    }
    augment "/b:mygrouping/b:firstcontainer/b:modules"{
        leaf thirdmodule;
    }
}

这不起作用,显然是因为无法扩充分组。但一定有办法,因为我真正想要扩展的是列表,而不是分组本身。

是否有另一种方法可以使用另一种方式获得预期的结果?

【问题讨论】:

    标签: schema modeling ietf-netmod-yang


    【解决方案1】:

    只有在“使用”该分组时才能增加分组。

    例如:

    uses a:mygrouping {
        augment firstcontainer/modules {
            leaf thirdmodule {...}
        }
    }
    

    因此,每次“使用”分组时都需要执行此操作。 YANG 没有提供抽象地扩充分组的方法,您只能在每个“用途”的基础上进行。

    【讨论】:

    • 如果我在该分组中有一个枚举怎么办?我可以增加它吗?
    • 不,不能扩充枚举。为此,请考虑使用 identityrefs。这是关于 YANG 指南 RFC 的一个很好的章节:tools.ietf.org/html/rfc8407#section-4.11.1
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多