使用 Junos XML 协议创建、修改或删除配置元素
在与运行 Junos OS 的设备的 Junos XML 协议会话中,除了更换整个配置之外,客户端应用程序还可以在候选配置或开放配置数据库中创建、修改或删除一个或多个配置元素(层次结构级别和配置对象)。
要使用 Junos XML 标记元素表示元素,应用程序包括表示配置层次结构中所有级别的标记元素(从 root(由 <configuration>
标记元素表示)到元素的容器标记元素。包括的属性和儿童标记元素取决于对元素执行的操作。语法既适用于文件内容,也适用于数据流。在以下示例中,标识符标记元素称为 <name>
:
<configuration> <!-- opening tag for each parent of the element --> <container-tag [operation-attribute="value"]> <name>identifier</name> <!-- if the element has an identifier --> <!-- child tag elements --> <!-- if appropriate --> </container-tag> <!-- closing tag for each parent of the element --> </configuration>
要使用格式化的 ASCII 文本表示元素,应用程序包含完整的语句路径,从可直接显示在层次结构级别下的 [edit]
语句开始。属性和儿童语句,包括取决于对元素执行的操作。当应用程序将配置数据上传为数据流时,会将语 <configuration-text>
句集括在标记元素中。当配置数据从文件中存储并加载时,应用程序将省略 <configuration-text>
标记元素。
<configuration-text> /* statements for parent levels of the element */ operation-to-perform: # if appropriate element identifier { # if the element has an identifier /* child statements */ # if appropriate for the operation } /* closing braces for parent levels of the element */ </configuration-text>
加载格式化 ASCII 文本时,应用程序必须在标记中<load-configuration>
包含format="text"
属性。
要使用配置模式命令创建、修改或删除元素,应用程序包含命令,因为它们将在 CLI 中的配置模式下键入。配置说明按照提供的顺序执行。您可以在命令中指定完整的语句路径,或者可以使用 CLI 导航命令(如 edit
和 up
)在配置层次结构中移动。
当应用程序将配置数据上传为数据流时,会将命令集合在标记元素中 <configuration-set>
。当配置数据从文件中存储并加载时,应用程序将省略 <configuration-set>
标记元素。
<configuration-set> /* configuration mode commands */ </configuration-set>
加载配置模式set
命令时,应用程序必须在标记中<load-configuration>
包含action="set"
和format="text"
属性。
从 Junos OS 版本 16.1 开始,您可以在设备上使用 JavaScript 对象符号 (JSON) 加载格式的配置数据。要使用 JSON 格式表示元素,应用程序包括代表配置层次结构中所有级别的 JSON 对象(从根到代表该元素的 JSON 对象)。属性和儿童对象包括取决于对元素执行的操作。如果属性值是布尔数据类型,则该值不会包含在报价中。
当 JSON 数据作为数据流上传时,该应用程序会将 JSON 数据 <configuration-json>
括在标记元素中。当配置数据从文件中存储并加载时,应用程序将省略 <configuration-json>
标记元素。
<configuration-json> { "configuration" : { /* JSON objects for parent levels of the element */ "container-tag" : { "@" : { "operation-attribute" : ( "value" | boolean ) }, "object" : [ { "@" : { "operation-attribute" : ( "value" | boolean ) }, "(name | element-identifier)" : "identifier", "statement-name" : "statement-value", "@statement-name" : { "operation-attribute" : ( "value" | boolean ) }, /* additional JSON data and child objects */ } ] } /* closing braces for parent levels of the element */ } } </configuration-json>
在以 JSON 格式加载数据时,应用程序必须在标记中<load-configuration>
包含format="json"
属性。
有关配置元素的来源和格式的详细信息,请参阅 Junos XML 协议会话中上传和格式化配置数据。
有关客户端应用程序可在配置元素上执行的操作的信息,请参阅以下部分: