指定 Junos XML 协议会话中配置数据的输出格式
在与运行 Junos OS 的设备的 Junos XML 协议会话中,要请求有关路由、交换或安全平台上配置的信息,客户端应用程序将元素 <get-configuration>
括在标记中 <rpc>
。通过在标记中设置可选属性 <get-configuration>
,客户端应用程序可以指定 Junos XML 协议服务器返回的配置数据的格式。
要请求 Junos XML 协议服务器在 Junos XML 标记的输出中返回配置信息,客户端应用程序要么在<get-configuration/>
标记中包括format="xml"
属性,要么<get-configuration>
完全省略该属性。默认情况下,Junos XML 协议服务器会返回 Junos XML 标记的输出,包括属性除外compare
。
<rpc> <get-configuration/> <!-- OR --> <get-configuration> <!-- tag elements for the configuration elements to return --> </get-configuration> </rpc>
要请求 Junos XML 协议服务器以格式化的 ASCII 文本的形式返回配置信息,而不是使用 Junos XML 标记元素进行标记,客户端应用程序将属性包括在format="text"
标记或打开<get-configuration>
标记中<get-configuration/>
。
<rpc> <get-configuration format="text"/> <!-- OR --> <get-configuration format="text"> <!-- tag elements for the configuration elements to return --> </get-configuration> </rpc>
从 Junos OS 15.1 版开始,客户端应用程序format="set"
在标记或打开<get-configuration>
标记中包含<get-configuration/>
属性,以请求 Junos XML 协议服务器将配置信息作为配置模式set
命令而不是 Junos XML 标记元素返回。客户端应用程序将请求封装在标记元素中<rpc>
。
<rpc> <get-configuration format="set"/> <!-- OR --> <get-configuration format="set"> <!-- tag elements for the configuration elements to return --> </get-configuration> </rpc>
从 Junos OS 14.2 版开始,客户端应用程序可以请求 Junos XML 协议服务器以 JavaScript Object Notation (JSON) 格式返回配置信息。要返回 JSON 格式的配置数据,而不是使用 Junos XML 标记元素进行标记,客户端应用程序format="json"
在标记或打开<get-configuration>
标记中包含<get-configuration/>
属性。客户端应用程序将请求封装在标记元素中<rpc>
。
<rpc> <get-configuration format="json"/> <!-- OR --> <get-configuration format="json"> <!-- tag elements for the configuration elements to return --> </get-configuration> </rpc>
有关要包含在标记元素中的 <get-configuration>
标记元素的信息,请参阅 指定在 Junos XML 协议会话中返回的配置数据的范围。
无论它们请求哪种输出格式,客户端应用程序都使用 Junos XML 标记元素来表示要显示的配置元素。属性 format
仅控制 Junos XML 协议服务器输出的格式。
当应用程序请求 Junos XML 标记元素时,Junos XML 协议服务器将其输出包含在和<configuration>
标记元素中<rpc-reply>
。有关打开<configuration>
标记中属性的信息,请参阅指定 Junos XML 协议会话中配置信息请求的源。
<rpc-reply xmlns:junos="URL"> <configuration attributes> <!-- Junos XML tag elements representing configuration elements --> </configuration> </rpc-reply>
当应用程序请求格式化的 ASCII 输出时,Junos XML 协议服务器会采用与 CLI show configuration
命令显示配置数据相同的方式格式化其响应 — 它使用换行字符、制表符、大括号和方括号来指示配置语句之间的分层关系。服务器将格式化的 ASCII 配置语句括在一起 <rpc-reply>
,并 <configuration-text>
标记元素。
<rpc-reply xmlns:junos="URL"> <configuration-text> <!-- formatted ASCII configuration statements --> </configuration-text> </rpc-reply>
当应用程序请求配置模式 set
命令时,Junos XML 协议服务器会采用与 CLI show configuration | display set
命令显示配置数据相同的方式格式化其响应。服务器将数据封装在元素中 <rpc-reply>
并 <configuration-set>
标记元素。
<rpc-reply xmlns:junos="URL"> <!-- configuration mode commands --> </rpc-reply>
当应用程序请求 JSON 格式时,Junos XML 协议服务器将 JSON 数据和标记元素括起来<rpc-reply>
<configuration-json>
。
<rpc-reply xmlns:junos="URL"> <configuration-json> <!-- JSON configuration data --> </configuration-json> </rpc-reply>
从 Junos OS 16.1 版开始,运行 Junos OS 的设备会使用新的序列化默认实施发出 JSON 格式的配置数据。
从 Junos OS 16.1R4、16.2R2 和 17.1R1 版开始,以 JSON 格式发出的 Junos OS 配置数据中的整数不会用引号括起来。在早期版本中,JSON 配置数据中的整数被视为字符串,并用引号括起来。
该format
属性可以与标记或打开<get-configuration>
标记中的<get-configuration/>
一个或多个其他属性组合:
compare
compare="rollback"
价值和rollback="0"
。将候选配置与活动配置 (rollback="0"
) 进行比较时,可以通过在请求中包含属性的相应值format
来以文本以外的格式显示差异。您可以从 Junos OS 15.1R1 版开始显示 XML 格式的差异,也可以从 Junos OS 16.1R1 版开始以 JSON 格式显示差异。commit-scripts
值commit-scripts="apply"
或commit-scripts="apply-no-transients"
。默认情况下,属性commit-scripts="view"
会返回 Junos XML 标记的输出,即使包含属性format="text"
,因为这是输入提交脚本的格式。database
(指定 Junos XML 协议会话中配置信息请求的来源)中介绍了这一点inherit
(可选)groups
和interface-ranges
,如 使用 Junos XML 协议指定配置组和接口范围的输出格式
将属性与changed
属性(如使用 Junos XML 协议请求配置元素的更改指标中所述)组合format="text"
在一起,或在请求标识符指示器(在使用 Junos XML 协议请求配置元素的标识符指标中有所介绍)后包括属性没有意义。更改和标识符指示器仅显示在 Junos XML 标记的和 JSON 输出中。
应用程序可以为整个配置或其任何部分请求 Junos-XML 标记的输出、格式化的 ASCII 文本、配置模式 set
命令或 JSON 输出。有关指定要返回的数据量的说明,请参阅 指定在 Junos XML 协议会话中返回的配置数据的范围。
以下示例说明如何从候选配置中的 [edit policy-options]
层次结构级别请求格式化的 ASCII 输出。
format="set"
在标记或打开
<get-configuration>
标记中包含
<get-configuration/>
属性,以请求 Junos XML 协议服务器将配置信息作为配置模式
set
命令而不是 Junos XML 标记元素返回。