YANG:如何在没有键的情况下对嵌套列表配置数据进行建模

2024-03-30

我正在尝试为这个配置文件构建 YANG 模型,该文件具有没有键的列表。然而,由于 YANG 列表中密钥的必要性,我无法构建精确的 YANG 模型。 有没有什么想法如何在 YANG 中表示没有键的列表列表。

该文件包含acl,其中可以有很多acl,如用户命名的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

RFC7950,7.8.2。列表的“关键”声明 https://www.rfc-editor.org/rfc/rfc7950#section-7.8.2

“key”语句,如果列表表示则必须存在 配置并且可以以其他方式存在,以参数 a 指定一个或多个叶子的空格分隔列表的字符串 该列表的标识符。叶子标识符不得出现更多 比钥匙中的一次还要多。每个这样的叶子标识符必须引用一个 列表的子叶。叶子可以直接定义在 列表或列表中使用的分组的子语句。

键中指定的所有叶子的组合值用于 唯一标识一个列表条目。所有关键叶子必须指定值 当创建列表条目时。因此,键中的任何默认值 叶子或其类型将被忽略。任何“强制性”声明 关键叶子被忽略。

列出模型配置数据(无论是否嵌套)必须有一个键。没有办法解决这个问题,因为每个配置列表实例必须是唯一可识别的,因此构造如下instance-identifiers按预期工作。如果没有密钥,您将很难告诉设备修改(甚至只是获取)配置中的特定条目。因此,你提议做的事情是不可能实现的——这不是阳的行事方式。

仅状态数据(config false;)列表可以在没有键的情况下存在,因为它们不必以标准方式修改 - 它们的实例化/修改/删除由设备的实现细节控制。

此外,您已经在示例中使用了键。 “acl1”和“acl2”显然是“acl”列表的实例,它们的密钥已编码到其名称中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YANG:如何在没有键的情况下对嵌套列表配置数据进行建模 的相关文章

  • C# 验证用户输入(如信用卡号)

    这是为了一个任务 我需要为三明治店创建一个程序 其中一部分是验证用户的付款信息 本次作业的指导方针是 信用卡号码必须为16位数字 前 4 位数字必须是以下数字之一 1298 1267 4512 4567 8901 8933 到期日期必须为
  • CakePHP3 中令人困惑的验证与应用程序规则

    有关验证的多个问题可能属于同一类 因为它们都在解决 CakePHP 3 中的新验证概念 我已阅读章节 1 http book cakephp org 3 0 en orm validation html 2 http book cakeph
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • 哪些控件触发了 Page.IsValid = false?

    两件事情 是否可以通过 Jquery 设置 Page IsValid Is Valid 属性 以便我不必使用 aspx 验证器 据我了解 IsValid 属性是只读的 当验证器进入时 是否可以通过 Jquery 当然 找出哪些控件导致验证失
  • Ruby on Rails / Devise - 重置密码时绕过模型中的自定义验证选项

    在我的项目中 我更改了 Devise 中的注册表单 以通过访问器添加 agree 选项 用户必须接受服务条款才能注册等 如果他们不同意 则无效 当用户尝试编辑其帐户信息以寻求 agree 验证时 这导致了问题 但我能够添加一个 unless
  • 使用SQL参数绑定是否意味着可以直接从输入中输入文本?

    正如标题所说 如果我使用 SQL 参数 即 SQLCommand cmd new SQLCommand select from users where username user and password pass limit 1 Cxn
  • 访问自定义规则类中的另一个请求的输入 - Laravel

    我需要访问 request gt important在传递方法中 我需要它根据这个值验证名称 class TestCustom implements Rule public function passes attribute value p
  • 重置输入控件的边框颜色 (HTML/Javascript)

    有谁知道使用 javascript 修改输入控件后如何重置它的边框颜色 通过突出显示其中包含不正确或无效数据的字段等来进行验证非常有用 例如 改变边框 document getElementById myinput style border
  • HTML 表单检查空字段

    我已经在 HTML 表单中实现了输入验证 但是 如果出现任何错误 它不会提示用户 并且仍然继续将其数据发送到测试服务器 下面是我的代码
  • 使用 Java 根据本地 DTD 文件验证 XML 文件

    如何根据本地存储为文件的 DTD 验证 XML 文件 XML 文件没有任何 DOCTYPE 声明 或者可能有一个应该被覆盖的声明 我看了一下这个线程 https stackoverflow com questions 470313 net
  • 参数验证最佳实践

    想象一下你有一个应用程序是某种前端您所有的业务逻辑 该前端有很多依赖的 DLL 并且这些 DLL 中的方法可能会在前端执行一次给定方法时重复相互调用 如果您的应用程序的用户不直接访问这些 DLL 您是否应该 1 冒着 小 性能下降的风险并验
  • 验证电子邮件地址是否包含“@”和“.”

    我需要验证插入的电子邮件地址是否包含 和 没有正则表达式 有人能给我 java代码 和 结构图 的例子吗 I suspect你正在追求类似的东西 if address contains address contains Handle bad
  • LINQ2SQL:如何实现通用最大字符串长度验证?

    LINQ2SQL 中的一个常见问题是 虽然 NET 字符串允许为其变量分配任意长度 但您的数据库可能具有特定的最大长度约束 如 VARCHAR 5 这将导致 SQL 错误消息 字符串或二进制数据将被截断 这是非常没有帮助的 因为它不会告诉您
  • Rails 验证日期范围的唯一性

    我有一个涉及员工缺勤记录的应用程序 我需要确保每条记录的开始日期和结束日期不重叠 例如 如果我输入了从今天开始到明天结束的缺勤记录 则不可能以任何方式在该日期范围内输入另一个缺勤记录 所以我不能制作一个从前天开始 然后在后天或任何更晚的日期
  • 使用 jQuery 检查输入是否为空

    我有一个表单 我希望填写所有字段 如果单击某个字段然后未填写 我想显示红色背景 这是我的代码 apply form input blur function if input text is empty this parents p addC
  • 多语言标记验证器

    是否有免费的在线多语言标记验证服务可以正确识别和验证多语言标记 我确实找到了totalvalidator和htmlvalidator 但这些是 付费 非基于网络的解决方案 Use http validator w3 org nu http
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 回形针不支持 .doc 文件

    在 Rails 4 0 2 中 我使用回形针 gem 上传文件 但它不支持 doc 文件 在文件上传字段下方 显示一条错误消息 扩展名与其内容不匹配 在模型中 检查内容类型的验证如下 validates attachment content
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 确定 C 字符串是否是 C 中的有效 int

    我需要检查 C 字符串是否是有效整数 我都尝试过 int num atoi str and int res sscanf str d num 但发送字符串 8 9 10 这两行都仅返回 8 而没有指示该字符串的无效性 谁能提出替代方案 看看

随机推荐

  • 如何根据单元格条件将列变成行?

    以下是我的数据示例 Omschrijving AMM AM FG G K MOTRED MINI BPM RVM MOTRED STM RMI MOTRED 1 x magneetplug 1 1 1 1 1 1 2 x afwaterin
  • 第一个弹出窗口显示过时的状态

    我发现了一个符合我口味的弹出窗口的奇怪行为 我希望它显示一个视图PopoverItem and number 两者均应从onTapGesture in ForEach 问题是弹出窗口总是显示默认值number第一次点击时 它会按预期工作 错
  • 枚举的编译时查找表

    我有一个枚举列表 其定义如下 enum PinEnum kPinInvalid kPinA0 kPinA1 kPinB0 kPinB1 kPinC0 kPinC1 每个枚举都需要与其他两个值相关联 即端口和引脚号 目前 我通过运行时函数访问
  • 更改背景图像的不透明度

    我有一个带有文本块的 div 元素和一个父 div 我在其中设置了背景图像 现在我想降低背景图像的不透明度 我怎样才能做到这一点 EDIT 我希望通过编辑 html 内容来改变我的博客文章在 blogger com 上的显示方式 html
  • Java 系统属性的范围

    在Java中我们使用System setProperty 方法来设置一些系统属性 根据本文 http blogs oracle com foo entry monitored system setproperty系统属性的使用有点棘手 Sy
  • 在每个页面上缓存包含特定于会话的数据的 Drupal 站点

    我们有一个用 Drupal 6 编写的网站 我们想使用Drupal的缓存机制来提高性能 但是当我们打开它时 我们发现了问题 因为我们的站点每个页面都显示会话数据 Drupal 的缓存系统仅适用于静态内容页面 而我们的会话数据实际上意味着我们
  • AWS API Gateway CORS 飞行前检查失败

    我正在使用 Zappa 来部署我的应用程序 cors 已启用 并且当按下 API Gateway OPTIONS 资源中选项上的 test 按钮时 一切似乎都工作正常 但是 当我尝试进行 CORS 飞行前检查时 我收到了 500 错误 me
  • Bigquery 将列添加到表架构

    我正在尝试向 BigQuery 现有表添加新列 我尝试过 bq 命令工具和 API 方法 调用 Tables update 时出现以下错误 我尝试过提供带有附加字段的完整架构 这也给了我相同的错误 如下所示 使用 API 我收到以下错误 s
  • 将 ParameterExpression 与 org.springframework.data.jpa.domain.Specification 一起使用时如何将参数传递给函数?

    我使用 org springframework data jpa domain Specification 与 JpaSpecificationExecutor 一起轻松创建带有 Java 条件的查询 但现在我需要调用返回整数值的 MySQ
  • 奇怪的“在所有成员初始化之前被闭包捕获的‘self’”错误

    请看一下下面的代码 class A let a String let b String init a String b String self a a self b b class B A let c Bool private let aE
  • 连接字符串存储在哪里

    我正在创建一个类库 其中包含我在开发的应用程序中经常使用的所有自定义类 该库被编译并作为参考添加到我的每个应用程序中 使我能够调用该库中包含的自定义类 我的库中的自定义类包括多层继承 但它们最终都起源于我称为 Alpha 的基类 在该类中
  • 在 Java 中重新排列 ArrayList 的最佳方法

    重新排列列表中元素的最佳方法是什么 我需要能够移动元素来移动列表中的元素 在索引中后退或前进一步 我正在考虑获取该项目的索引 将其添加到索引 1 2 处并删除旧引用 是否有一种更快的方法来处理重新排列 而无需在此过程中在列表中创建重复项 使
  • WordPress 标题:如果长度超过 50 个字符,则显示省略号

    我有一个带有标题的 WordPress 网站 如果标题超过 50 个字符 我需要添加省略号 位于标题末尾 并将标题停在 50 个字符处 下面是我正在编写的 PHP 但它似乎无法正常工作 The mb strimwidth http www
  • MeanShift `fit` 与 `fit_predict` scikit learn

    Suppose X是数组的典型形式 给定代码 from sklearn cluster import MeanShift ms MeanShift bin seeding True cluster all False ms fit X 一旦
  • CSS 最小高度 100%,具有多个 div

    好的 我试图让页面显示 100 的视口高度 但问题是页面有多个并不总是嵌套的 div 我一直在浏览多个问题和其他网站 但找不到适合我需要的答案 我目前的布局如下 div class container div class header di
  • 如何将 java.util.logging 重定向到文件?

    我有一个使用外部库的java程序 主程序使用log4j记录其消息并且库使用java util logging 我的问题是来自外部库和主程序的日志消息混合在控制台中 我想重定向all将来自外部库的消息记录到文件中 我尝试这样做logging
  • 如何在 Mac OSX 10.6 上卸载 wxpython 2.8

    在继续之前 我的机器和已安装的软件包的一些详细信息 Mac OSX 版本 10 6 6 Python版本 Activestate Python 2 7 1 wxpython 版本 wxpython 2 8 使用Carbon API 因此仅限
  • ListView完全不如RecyclerView吗?

    因此 Vogella 似乎表明与 RecyclerView 相比 ListView 已完全被弃用 实际上并不是已弃用 而是在任何情况下 ListView 都是更好的选择 这是真的 公共软件书籍表明它的更新速度可能会更快 还有其他理由从现在开
  • Contentpresenter 和 ContentControl 中 FontSize 未继承的解决方法

    尝试创建可以托管其他控件的 UserControl 以下是相关代码
  • YANG:如何在没有键的情况下对嵌套列表配置数据进行建模

    我正在尝试为这个配置文件构建 YANG 模型 该文件具有没有键的列表 然而 由于 YANG 列表中密钥的必要性 我无法构建精确的 YANG 模型 有没有什么想法如何在 YANG 中表示没有键的列表列表 该文件包含acl 其中可以有很多acl