Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

在运行 Junos OS 的设备上使用自定义 YANG RPC

您可以添加 YANG 数据模型,用于在运行 Junos OS 的受支持的设备上定义自定义 RPC。创建自定义 RPC 可让您精确定义输入参数和操作以及这些设备上特定操作任务的输出字段和格式。

要将 RPC 添加至运行 Junos OS 的设备,请下载定义 RPC 的 YANG 模块以及设备中所需的任何操作脚本,然后通过发出 request system yang add 或操作命令将文件添加到新的或 request system yang update 现有 YANG 包中。有关在运行 Junos OS 的设备中添加 YANG 模块的详细信息,请参阅 管理运行 Junos OS 的设备上的 YANG 软件包、模块和脚本

注意:

从 Junos OS 17.3R1 版开始,当您将自定义 YANG 数据模型加载到设备上时,您无需显式加载任何必要的 Junos OS 扩展模块。在早期版本中,您必须为使用该模块的任何软件包加载 Junos OS 扩展模块。

将模块和操作脚本添加到设备后,只要 RPC 定义包含 junos:command 语句或远程执行 RPC,即可在本地执行 RPC。要在 Junos OS CLI 中执行 RPC,请发出由 RPC 语句定义的 junos:command 命令。要远程执行 RPC,请在 RPC 请求操作中使用 RPC 名称。

请考虑以下 YANG 模块和 RPC 定义:

注意:

从 Junos OS 17.3 版开始,该 action-execute 语句是以下部分的子状态 command。在早期版本中 action-execute ,和 command 语句放置在同一级别,并且语 command 句是可选的。

要在 Junos OS CLI 中执行此 RPC,请发出 show sw-info 语句定义的 junos:command 命令,并包括任何必要的或可选的输入参数。例如:

要远程执行此 RPC,请发送使用 RPC 名称进行请求标记的 RPC 请求,并包含任何必需或可选的输入参数。

执行自定义 RPC 时,设备会调用语句中 junos:script 定义的操作脚本,此示例中 sw-info.py 脚本。RPC 的操作脚本应为该 RPC 的输出发出任何必要的 XML 元素。

在 Junos OS CLI 中执行 RPC 时,设备 junos:command 将使用 RPC 定义的 CLI 格式显示 RPC 输出(如果有)。如果 RPC 未定义 CLI 格式,则设备不会显示 CLI 中该 RPC 的任何输出。但是,您仍可通过附加 | display xml 命令在 CLI 中显示 RPC 的 XML 输出。

远程执行 RPC 时,RPC 输出默认用于 XML。但是,您可以指定不同的输出格式, format 方法是将属性包含在 RPC 的开口请求标记中。要显示 CLI 格式,只要 RPC 定义此格式,请将属性设置 formattextascii。要在 JavaScript 对象符号 (JSON) 中显示输出,请将属性设置 formatjson。例如:

发布历史记录表
释放
描述
17.3R1
从 Junos OS 17.3R1 版开始,当您将自定义 YANG 数据模型加载到设备上时,您无需显式加载任何必要的 Junos OS 扩展模块。