Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 Junos XML 协议合并配置数据中的元素

默认情况下,Junos XML 协议服务器会根据以下规则将加载的配置数据 合并 到候选配置中。(规则也适用于配置的私有副本或临时配置数据库的开放实例,但为了简化,以下讨论仅指候选配置。)

  • 候选但未在加载配置中存在的配置元素(层次结构级别或配置对象)保持不变。

  • 报考者中包含在加载配置中但不存在于候选配置中的配置元素。

  • 如果两种配置中都存在配置元素,语义如下:

    • 如果候选配置元素(由儿童标记元素表示)的儿童语句存在,但未在加载配置中,则保持不变。

    • 如果已加载配置中存在儿童语句,但不在报考者中,则会将其添加到报考者中。

    • 如果两种配置中都存在儿童语句,则加载配置中的值将替换候选配置中的值。

合并模式是新配置元素的默认模式,因此应用程序只需在标记元素中<rpc>发出<load-configuration>标记元素:

有关和属性的url详细信息,请参阅 Junos XML 协议会话中上传和格式化配置数据format

要明确指定使用 Junos XML 元素、格式化 ASCII 文本或 JSON 格式的配置数据的合并模式,应用程序可在标记中<load-configuration>包含action="merge"属性,如本节末尾示例中所示。

当使用 Junos XML 标记元素表示要合并到配置的元素时,应用程序包含 使用 Junos XML 协议创建、修改或删除配置元素中介绍的基本标记元素。该元素的容器标记中不包含任何属性。如果添加或更改儿童元素的值,应用程序将包含该元素的标记元素。如果孩子保持不变,则不必将其包含在加载配置中。在以下部分中,标识符标记元素称为 <name>

使用格式化 ASCII 文本时,应用程序包含 使用 Junos XML 协议创建、修改或删除配置元素中所述的语句路径。它不包括前面的操作员,但包含该元素的标识符(如果有)。如果添加或更改儿童元素的值,应用程序将包含该元素的标记元素。如果孩子保持不变,则不必将其包含在加载配置中。

从 Junos OS 版本 16.1 开始,您可以在设备上使用 JavaScript 对象符号 (JSON) 加载格式的配置数据。使用 JSON 表示要合并到配置中的元素时,应用程序包含 使用 Junos XML 协议创建、修改或删除配置元素中介绍的基本 JSON 数据。它不需要在 JSON 配置数据中包含任何特定操作属性,即可合并新的或更改的元素。如果添加或更改儿童元素的值,应用程序将包含 JSON 数据或儿童对象。如果孩子保持不变,则不必将其包含在加载配置中。在以下示例中,指定元素标识符的 JSON 成员具有字段名称“名称”:

当使用配置模式命令合并新元素时,应用程序在标记中<load-configuration>包含action="set"format="text"属性,如本节末尾示例中所示。应用程序包括set命令、到元素的语句路径以及元素的标识符(如果有的话)。如果添加或更改儿童元素的价值,应用程序将包含命令中的儿童元素或语句。如果儿童保持不变,则不需要包括它。

以下示例说明如何在配置的层次结构级别上合并在称为 so-3/0/0 [edit interfaces] 的新接口中。此信息作为 Junos XML 标记元素(默认)提供。

以下示例说明如何使用格式化的 ASCII 文本定义相同的新 接口。

以下示例说明如何使用 JSON 配置数据定义同一接口。

以下示例说明如何使用配置模式命令定义同一接口。