YANG 文件定义规则
YANG 文件定义规则如下:
- 建议采用 YANG v1.1 版本,应遵循 RFC7950。
- 尽量重用 IETF 等标准组织定义的公有模型数据/类型。
- 模型的划分根据系统功能特性为基础,根据实际业务逻辑必需的数据来定义模型的要
素。 - 各元素命名风格要统一,同一系统中的相同概念的命名保持相同的名称。
- 文件中全部内容(包括标点符号)必须使用英文,不允许使用中文或其他语言。
- list 的记录对象,必须按照 YANG 语法来定义 key。
- list 对象外要单独定义一层 container,container 的名字为 list 的名字的复数。
- list 定义时 key 的选择,优先与业界对齐,业界没有的,自定义时,要使用用户可见
的标识作为对象 key,且 key 不允许修改。不应该用设备内部分配、且用户不可见的
标识作为表的 key。 - 除 key 值节点以外,在创建记录时必须携带的字段,要通过 mandatory 来指定。
- 在所有类型的 YANG 文件中,必须用 config 为只读状态的元素定义访问权限。
- 如果一个元素在所有实例中取值是唯一的,则在 YANG 文件中,必须用 unique 定义
其唯一性属性。 - 对于有明确默认值的配置对象属性,在 YANG 文件中必须要使用 default 属性为对应
的元素指定默认值。 - 对于字符串类型,必须对长度做限制,可以使用 length 显式指定长度范围,也可以使
用 pattern 隐式约束长度;有格式或字符输入限制时,必须使用 pattern 约束。 - 对于有明确取值范围的数值类型元素,在 YANG 文件中必须使用 range 属性指定对应
的元素的取值范围,且最大最小值要简洁,可以使用 min 或 max 代替该数值类型的
最小或最大值。