使用 Junos XML 协议在配置数据中创建新元素
在与运行 Junos OS 的设备进行 Junos XML 协议会话以创建新配置元素(层次结构级别或配置对象)中,客户端应用程序包括使用 Junos XML 协议创建、修改或删除配置元素时介绍的基本标记元素、格式化的 ASCII 语句、配置模式命令或 JSON 对象。
对于 Junos XML 标记元素和格式化 ASCII 文本,可在合并模式或替换模式下创建新元素,如使用 Junos XML 协议在配置数据中合并元素和使用 Junos XML 协议替换配置数据中的元素所述。在更换模式下,应用程序包括action="replace"
标记或打开<load-configuration>
标记中的<load-configuration/>
属性。
要使用 Junos XML 标记元素表示该元素,应用程序包含元素的每个标识符标记元素(如果有)以及为元素定义的所有子标记元素。在以下部分中,标识符标记元素称为 <name>
。应用程序不需要在新元素的开口容器标记中包含任何属性:
<configuration> <!-- opening tag for each parent of the element --> <container-tag> <name>identifier</name> <!-- tag elements for other children, if any --> </container-tag> <!-- closing tag for each parent of the element --> </configuration>
要使用格式化的 ASCII 文本来表示该元素,应用程序包括该元素的每个标识符(如果有)以及为元素定义的所有儿童语句(如有值)。在新元素出现之前,不需要包括操作员:
<configuration-text> /* statements for parent levels of the element */ element identifier { /* child statements if any */ } /* closing braces for parent levels of the element */ </configuration-text>
要使用配置模式命令创建新元素,应用程序在标记中<load-configuration>
包含action="set"
和format="text"
属性。应用程序包括命令,set
因为它将在 CLI 中执行。命令包括到元素的语句路径、元素的标识符(如果有)以及为元素定义的所有儿童语句(如适用的值)。
<configuration-set> set statement-path-to-element element identifier child-elements </configuration-set>
从 Junos OS 版本 16.1 开始,您可以在设备上使用 JavaScript 对象符号 (JSON) 加载格式的配置数据。在以 JSON 格式加载配置数据时,只能在合并模式下创建新元素。要表示 JSON 中的元素,应用程序包括每个元素的标识符(如果有)以及为元素定义的所有数据和子对象。应用程序不需要包含任何特定操作属性,即可创建新元素。在以下示例中,指定元素标识符的 JSON 成员具有字段名称“名称”:
<configuration-json> { "configuration" : { /* JSON objects for parent levels of the element */ "container-tag" : { "object" : [ { "name" : "identifier", /* data and child objects */ # if any } ], /* data and child objects */ # if any } /* closing braces for parent levels of the element */ } } </configuration-json>