在此页面上
使用 Junos XML 协议更改配置元素的激活状态
停用配置元素(层次结构级别或配置对象)并提交配置时,停用的元素将保留在配置中,但该元素不会影响设备的功能。如果要通过抑制配置元素的行为而不将其从配置中删除来解决问题,则停用配置元素非常有用。此外,您可以配置和停用新的配置元素,以便在新硬件可用之前准备配置以容纳新硬件。
在与 Junos 设备的 NETCONF 或 Junos XML 协议会话中,客户端应用程序可以停用现有元素,也可以同时创建和停用新元素。客户端应用程序还可以激活已停用的元素,以便在提交配置时,该元素再次对设备的功能产生影响。以下各节讨论如何创建和停用新的配置元素,以及如何激活或停用现有元素:
停用新创建的元素
要创建元素并立即停用它,客户端应用程序首先包含新元素和任何子元素的基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。
Xml
使用 Junos XML 标记元素创建和停用新元素时,应用程序 inactive="inactive" 会在新元素的开始标记中包含该属性。在以下示例中,标识符标记元素称为 <name>:
<configuration>
<!-- opening tag for each parent of the element -->
<element inactive="inactive">
<name>identifier</name> <!-- if element has an identifier -->
<!-- tag elements for each child of the element -->
</element>
<!-- closing tag for each parent of the element -->
</configuration>
在符合 YANG 标准的 NETCONF 会话中,可以通过在标记元素中包含 and xmlns:jcmd="http://yang.juniper.net/junos/jcmd" jcmd:active="(true | false)" 属性来激活或停用 XML 数据中的配置元素。有关详细信息,请参阅 Junos 设备的 YANG 元数据注释。
文本
使用格式化的 ASCII 文本创建和停用新元素时,应用程序会在新元素之前加上 inactive: 运算符。
<configuration-text>
/* statements for parent levels */
/* For an object with an identifier */
inactive:
object identifier {
/* Child configuration statements */
}
/* For a hierarchy level or object without an identifier */
inactive:
element {
/* Child configuration statements */
}
/* closing braces for parent levels */
</configuration-text>
配置模式(设置)命令
使用配置模式命令创建非活动元素时,应用程序首先使用命令创建元素,然后使用setdeactivate命令将其停用。
<configuration-set>
set statement-path-to-object object identifier
deactivate statement-path-to-object object identifier
</configuration-set>
Json
使用 JSON 配置数据创建和停用新元素时,客户端应用程序会将该 "inactive" : true 属性包含在该元素的属性列表中。以下通用 JSON 配置指示用于停用层次结构或容器对象、具有标识符的对象和叶语句的属性的位置。
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels */
"level-or-container" : {
"@" : {
"comment" : "/* deactivate a hierarchy */",
"inactive" : true
},
"object" : [
{
"@" : {
"comment" : "/* deactivate an object with an identifier */",
"inactive" : true
},
"name" : "identifier",
"statement-name" : "statement-value",
"@statement-name" : {
"comment" : "/* deactivate a statement */",
"inactive" : true
},
/* additional data and child objects */ # if any
}
]
}
/* closing braces for parent levels */
}
}
</configuration-json>
在符合 YANG 标准的 NETCONF 会话中,您可以通过在语句的 metdata 对象中包含 "junos-configuration-metadata:active" : (true | false) 注释来激活或停用 JSON 数据中的配置对象。有关详细信息,请参阅 Junos 设备的 YANG 元数据注释。
停用或重新激活现有元素
要停用现有元素或激活以前停用的元素,客户端应用程序需要包含其父级别的基本标记元素或配置语句,如 使用 Junos XML 协议创建、修改或删除配置元素中所述。
Xml
使用 Junos XML 标记元素表示具有标识符的配置对象时,应用程序 inactive="inactive" 会在对象的开始容器标记中包含 or active="active" 属性,还会发出标识符标记元素和值。在下面的示例中,标识符标记元素称为 <name>。若要表示具有子项但没有标识符的层次结构级别或容器对象,应用程序使用空标记:
<configuration>
<!-- opening tag for each parent of the element -->
<!- - For an object with an identifier -->
<object ( inactive="inactive" | active="active" ) >
<name>identifier</name>
</object>
<!-- For a hierarchy level or object without an identifier -->
<level-or-container ( inactive="inactive" | active="active" ) />
<!-- closing tag for each parent of the element -->
</configuration>
在符合 YANG 标准的 NETCONF 会话中,可以通过在标记元素中包含 and xmlns:jcmd="http://yang.juniper.net/junos/jcmd" jcmd:active="(true | false)" 属性来激活或停用 XML 数据中的配置元素。有关详细信息,请参阅 Junos 设备的 YANG 元数据注释。
文本
使用格式化的 ASCII 文本表示元素时,应用程序在元素前面加上 inactive: or active: 运算符。层次结构级别或容器对象的名称后跟一个分号(尽管在现有配置中,它后面跟着括住其子语句的大括号):
<configuration-text>
/* statements for parent levels */
/* For an object with an identifier */
(inactive | active):
object identifier;
/* For a hierarchy level or object without an identifier */
(inactive | active):
object-or-level;
/* closing braces for parent levels */
</configuration-text>
配置模式(设置)命令
使用配置模式命令激活或停用对象时,应用程序将指定 activate 与 CLI 配置模式命令等效的或 deactivate 命令。
<configuration-set>
/* For an object with an identifier */
activate statement-path-to-object object identifier
deactivate statement-path-to-object object identifier
/* For a hierarchy level or object without an identifier */
activate statement-path-to-object-or-level object-or-level
deactivate statement-path-to-object-or-level object-or-level
</configuration-set>
Json
使用 JSON 表示元素时,客户端应用程序通过将 or "inactive" : true 属性分别包含在"active" : true该元素的属性列表中来激活或停用元素。以下通用 JSON 配置指示用于激活或停用现有层次结构或容器对象、具有标识符的对象和叶语句的属性的位置。
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels */
"level-or-container" : {
"@" : {
"comment" : "/* activate or deactivate a hierarchy */",
"(active | inactive)" : true
},
"object" : [
{
"@" : {
"comment" : "/* activate or deactivate an object with an identifier */",
"(active | inactive)" : true
},
"name" : "identifier",
"@statement-name" : {
"comment" : "/* activate or deactivate a statement */",
"(active | inactive)" : true
}
}
]
}
/* closing braces for parent levels */
}
}
</configuration-json>
在符合 YANG 标准的 NETCONF 会话中,可以通过在语句的元数据对象中包含 "junos-configuration-metadata:active" : (true | false) 注释来激活或停用 JSON 数据中的配置对象。有关详细信息,请参阅 Junos 设备的 YANG 元数据注释。
以下示例说明如何使用 isis Junos XML 标记元素在候选配置的层次结构级别停用 [edit protocols] 层次结构级别。
以下示例说明如何使用 isis JSON 在候选配置中的层次结构级别停用 [edit protocols] 层次结构级别。
<rpc>
<load-configuration format="json">
<configuration-json>
{
"configuration" : {
"protocols" : {
"isis" : {
"@" : {
"inactive" : true
}
}
}
}
}
</configuration-json>
</load-configuration>
</rpc>