杨 - leafref似乎没有工作

时间:2015-10-28 15:41:38

标签: model constraints opendaylight ietf-netmod-yang

如果有更多有经验的人可以帮助我,我将不胜感激。 我正在试图在下面的方式中在两个不同的列表之间应用约束引用:

list company{
    key company-id;
    leaf company-id {
        type yang:uuid;
    }
}

list employee {
   key employee-id;
   leaf employee-id {
       type yang:uuid;
    }
    leaf company {
     type leafref {
         path "/company/company-id"; 
     }
  }
}

我正在使用RESTCONF api执行一些测试,并且我想检查是否可以避免POST命令,以便创建新员工,如果未创建其相关公司。我的意思是,我想使用杨模型并在两个列表之间包含参考约束。

我尝试使用“必须”声明如下:

must "boolean(/company[company-id=current()]"

但这次尝试没有运气。

提前致谢。 最好的问候

1 个答案:

答案 0 :(得分:1)

我找到了让它发挥作用的方法。如果您希望模型的一个列表具有带有其他第二个列表的外键引用,则必须在列表的键中包含leafref类型的字段。使用我之前问题的例子:

有下一个清单:

list company{
    key company-id;
    leaf company-id {
        type yang:uuid;
    }
}

如果您想在模型中包含其他列表,这将取决于company-id,您必须使用下一个键声明它:

list employee {   
  key "employee-id company";    

   leaf employee-id {
       type yang:uuid;
    }
    leaf company {
     type leafref {
         path "/company/company-id"; 
        } 
   }
 }

注意第二个列表的键:

key“employee-id company”;

我测试了它,并且它正常工作。

非常感谢那些读过我问题的人。

干杯,Julián