Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解用于格式化 RPC 输出的 Junos OS YANG 扩展

Junos OS 本身支持 XML 来操作和配置运行 Junos OS 的设备。Junos OS 基础架构和 CLI 使用 XML 进行通信。在 CLI 中发出操作命令时,CLI 会将该命令转换为 XML 进行处理。处理后,Junos OS 以 XML 文档的形式返回输出,CLI 将其转换回文本格式以供显示。远程客户端应用程序还对运行 Junos OS 的设备上的操作和配置请求使用基于 XML 的数据编码。

Junos OS 输出定义语言 (ODL) 定义了将 XML 标记的数据转换为格式化的 ASCII 输出,当您在 CLI 中执行命令或请求文本格式的 RPC 输出时,将显示该输出。Junos OS ODL 扩展模块定义了 ODL 的 YANG 扩展,您可以将其包含在自定义 YANG RPC 中,以将 XML RPC 回复转换为格式化的 ASCII 输出。

YANG RPC 语句定义 RPC output 操作的输出参数。在 RPC 语句中,可以包含 ODL 扩展语句以自定义 RPC output 的输出。 表 1 概述了可用的语句,提供了每个语句的格式影响的简要说明,并指定了可以在 RPC output 语句中定义语句的位置。

在定义数据的叶语句下包括一些 ODL 扩展语句,并在输出容器中或定义 CLI 格式的语句中 format 的各个级别包括其他扩展语句。语句在语句中 format 的位置决定了语句的范围,该范围可能适用于单个字段、一行中的所有字段或所有输出行中的所有字段。可以在语句中的任何 format 级别定义的语句可以作为语句的 format 直接子级包含在顶级、直接包含在语句下 line 或语句中 field

注意:

从 Junos OS 17.3 版开始,自定义 RPC 的 CLI 格式在扩展语句中 junos-odl:format 定义。在早期版本中,CLI 格式是使用包含语句的 junos-odl:cli-format 容器定义的。

表 1:Junos OS ODL 扩展模块中的语句

声明

描述

在 RPC output 语句中的位置

blank-line

当 RPC 回复为多个实体返回同一组信息时,在每个重复数据之间插入一个空行。

format 语句 (顶级 )

capitalize

将输出字段中节点值的第一个单词大写。

format 语句(任何级别)

cli-format

指示封闭容器定义了父容器的 CLI 格式。格式化容器不会作为节点包含在 XML RPC 回复中。

从 Junos OS 17.3 版开始,此语句已过时。 format 请改用语句。

格式化容器(顶级)

colon

在输出字段中的节点标签后面插入冒号。

此语句仅与 leading 语句结合使用,以在输出字段中的节点值之前插入节点的正式名称(由语句定义 formal-name )和冒号。

format 语句(任何级别)

comma

在输出字段中节点值后插入逗号。

format 语句(任何级别)

default-text

指定缺少与输出字段对应的节点时要显示的文本。

field 声明

explicit

指示呈现器显示与节点名称或其内容无关的值。此语句仅在 Junos OS RPC 中使用,不能包含在自定义 RPC 中。

field

将输出树中的叶节点映射到格式化 ASCII 输出中的字段。

line 声明

fieldwrap

当当前行比屏幕宽时,将字段的完整内容换行到下一行。省略此语句会导致输出换行,而不考虑适当的分词符或现行边距。

field 声明

float

使字段中的值向左移动到空字段中。

此语句用于指示一组相邻字段的后续互斥值,以便只有最左侧的字段包含这些可能值之一。如果最左侧的字段未由第一个值填充,则映射到包含语句的 float 后续字段的值可以移动到空字段中。

field 声明

formal-name

每当输出字段中节点的字段在格式设置说明中包含语句 leading 时,定义该节点值前面的标签。

leaf 节点

format

在 RPC output 语句中定义父容器的 CLI 格式。

从 Junos OS 17.3 版开始,CLI 格式在语句内 format 定义,而不是在包含语句的 cli-format 容器中定义。

输出容器或作为语句的 style 子语句。

header

在 CLI 输出中定义标题行。

format 语句(顶级)

header-group

要求在该标头组的 CLI 输出中仅发出语句定义 header 的第一个标头字符串。

format 语句(顶级)

indent

将除标题行以外的所有行缩进 CLI 输出中的指定空格数。

format 语句(顶级)

leading

在输出字段中的节点值之前插入一个标签,该标签由叶节点定义中的语句定义 formal-name

format 语句(任何级别)

line

定义包含单行输出的字段组。

format 语句(顶级)

no-line-break

在发出具有相同标记名称的多个实体的情况下,在同一行上显示多个值。

format 语句(顶级)

picture

以图形方式指定 RPC 格式化 ASCII 输出中表中列的位置、对齐方式和宽度。

format 语句(顶级)

space

在输出字段中节点值后插入一个空格。

如果语句 spacecomma 语句结合使用,则输出将按该顺序在节点值后插入逗号,然后在节点值后插入一个空格。

format 语句(任何级别)

style

定义 RPC 输出的格式或样式。

将此语句与定义每个样式名称的枚举输入参数结合使用。使用适当的样式名称定义此语句,以指定该样式的 CLI 格式。

输出容器

template

显式定义输出字段的格式,包括输出字符串和节点值在该字符串中的位置。使用 or %d 分别%s指示节点的字符串或整数值在输出字符串中的位置。

如果叶语句同时定义了 a templateformal-name 语句,并且相应字段的格式设置说明包含该 leading 语句,则输出将显示为 formal-name 语句定义的文本,而不显示为语句定义的 template 文本。

leaf 节点

truncate

如果节点的内容将超过字段的宽度,则截断节点的值以适合语句定义的 picture 字段宽度。

field 声明

wordwrap

当当前行比屏幕宽时,将某些字段换行到下一行。此语句只应用于表最右侧列中的字段。

field 声明

有关 YANG RPC 结构的详细信息,请参阅 在 YANG 中为运行 Junos OS 的设备创建自定义 RPC

版本历史记录表
释放
描述
17.3R1
从 Junos OS 17.3 版开始,自定义 RPC 的 CLI 格式在扩展语句中 junos-odl:format 定义。在早期版本中,CLI 格式是使用包含语句的 junos-odl:cli-format 容器定义的。