Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 Junos XML 协议删除配置数据中的元素

在与运行 Junos OS 的设备进行 Junos XML 协议会话时,要从候选配置或开放配置数据库中删除配置元素(层次结构或配置对象),客户端应用程序会发出 使用 Junos XML 协议创建、修改或删除配置元素中描述的基本标记元素。使用 Junos XML 标记元素表示要删除的元素时,客户端应用程序将属性包括在 delete="delete" 每个元素的开始标记中。使用格式化的 ASCII 文本时,客户端应用程序将先于要删除的每个元素,并用 delete: 运算符删除。使用配置模式命令删除元素时,客户端应用程序将使用 delete 命令并指定元素的路径。使用 JSON 数据删除元素时,客户端应用程序将 "operation" : "delete" 属性包括在该元素的属性列表中。属性或运算符的放置取决于要删除的元素的类型,如下节所述:

注意:

您可以从 Junos OS 16.1 版开始加载使用 JavaScript 对象符号 (JSON) 格式的配置数据。

删除层级或容器对象

要删除层次结构级别及其所有子级(或无子级但无标识符的容器对象),客户端应用程序会为其父级别添加基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。

使用 Junos XML 标记元素时,应用程序在 delete="delete" 空标记中包含表示级别或容器对象的属性:

使用格式化的 ASCII 文本时,应用程序将 delete: 语句置于要移除的级别之上,后跟分号(即使在现有配置中,后面还有将子语句括起来的花括号):

使用配置模式命令时,应用程序会 delete 指定要移除的层级或对象的命令和语句路径。

使用 JSON 配置数据删除层次结构级别或容器对象时,应用程序在层次结构或容器对象的属性列表中包括 "operation" : "delete" 属性:

以下示例说明如何使用 Junos XML 标记元素从候选配置中移除 [edit protocols ospf] 层次结构级别:

以下示例说明如何使用以 JSON 格式的配置数据从候选配置中移除 [edit protocols ospf] 层次结构级别:

删除具有标识符的配置对象

要删除具有标识符的配置对象,客户端应用程序会为其父级别添加基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。

使用 Junos XML 标记元素时,应用程序将 delete="delete" 属性包括在对象的开始标记中。在对象的容器标记元素中,它只包含标识符标记元素,而不是表示该对象任何其他特征的标记元素。在以下内容中,标识符标记元素称为 <name>

注意:

属性 delete 显示在打开的容器标记中,而不是在标识符标记元素中。标识符标记元素的存在会导致删除指定对象,而不是移除由容器标记元素表示的整个层次结构级别。

使用格式化的 ASCII 文本时,应用程序将 delete: 语句置于对象及其标识符之上:

使用配置模式命令时,应用程序会 delete 指定命令、对象的语句路径以及对象及其标识符。

使用 JSON 配置数据时,应用程序将 "operation" : "delete" 属性包括在对象的属性列表中。在容器对象中,它只将代表标识符的名称/值对括起来。在以下示例中,指定元素标识符的 JSON 成员的字段名为“name”:

以下示例使用 Junos XML 标记元素从候选配置中的[edit system login user]层次结构级别中移除用户对象barbara

以下示例使用 JSON 格式的配置数据从候选配置中的[edit system login user]层次结构级别中移除用户对象barbara

从配置对象中删除单值或固定形式选项

要从配置对象中删除固定形式选项或只包含一个值的选项,客户端应用程序会为其父级别添加基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。(有关删除可包含多个值的选项的信息,请参阅 从配置对象的多值选项中删除值。)

使用 Junos XML 标记元素时,应用程序在每个选项的 delete="delete" 空标记中都包含属性。它不包括要保留在配置中的子项的标记元素。在以下内容中,该对象的标识符标记元素称为 <name>

使用格式化的 ASCII 文本时,应用程序将 delete: 语句置于每个 选项之上:

使用配置模式命令时,应用程序会 delete 指定命令、选项的语句路径和要删除的选项。您可以指定 option 语句的完整路径,或导航至对象的层次结构级别,并从该位置删除 option 语句。使用单独命令删除每个选项。

使用 JSON 配置数据删除选项时,应用程序将属性包括在 "operation" : "delete" 该选项的属性列表中。要删除层级或容器对象的选项,请指定要该级别删除的选项。

要删除具有标识符的对象的选项,请先包含该标识符,然后指定要删除的选项。在以下示例中,指定元素标识符的 JSON 成员的字段名为“name”:

以下示例说明如何使用 Junos XML 标记元素在[edit forwarding-options sampling]层次结构级别中移除固定格式disable选项。

从配置对象的多值选项中删除值

正如 将配置语句映射到 Junos XML 标记元素中所述,某些 Junos OS 配置对象是具有多个值的叶语句。在格式化的 ASCII CLI 表示中,值括在对象名称后的方括号中:

Junos XML 表示不会为对象使用父标记,而是为每个值使用对象标记元素的单独实例。在以下内容中,标识符标记元素称为 <name>

要为此类对象移除一个或多个值,客户端应用程序应包括其父级别的基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。使用 Junos XML 标记元素时,应用程序 delete="delete" 在每个值开头的标记中包含属性。它不包括表示要保留的值的标记元素。在以下内容中,父对象的标识符标记元素称为 <name>

使用格式化的 ASCII 文本时,应用程序会为每个值重复父语句,并将语句 delete: 置于每个配对语句和值之上:

使用配置模式命令时,应用程序会 delete 指定命令、每个值的语句路径以及要移除的值。您可以指定值的完整路径,或导航至对象的层次结构级别,并从该位置删除值。使用单独命令删除每个值。

具有多值选项的对象采用 JSON 表示形式为名称/值对,其中字段名称为对象名称,表示选项的值为字符串阵列。Junos OS 不支持使用 JSON 从具有多值选项的对象中删除单个值。要更新选项列表,必须删除现有对象,然后使用所需的值集配置新对象。

以下示例说明如何使用 Junos XML 标记元素删除授予登录类的 user-accounts 两个权限。