Changing a Configuration Element’s Activation State Simultaneously with Other Changes
A client application can deactivate or reactivate an element at the same time it performs other operations on it (except deletion), by combining the appropriate attributes or operators with the inactive or active attribute or operator. For basic information about activating or deactivating an element, see Changing a Configuration Element’s Activation State.
To define the element to deactivate or activate, a client application includes the basic tag elements or configuration statements for its parent levels, as described in Creating, Modifying, or Deleting Configuration Elements. When using Junos XML tag elements to represent the element, the application includes the inactive="inactive" or active="active" attribute along with the appropriate other attribute in the <load-configuration/> tag or opening <load-configuration> tag. When using formatted ASCII text, the application combines the inactive or active operator with the other operator.
For instructions, see the following sections:
- Replacing an Element and Setting Its Activation State
- Reordering an Element and Setting Its Activation State
- Renaming an Object and Setting Its Activation State
- Example: Replacing an Object and Deactivating It
Replacing an Element and Setting Its Activation State
To replace (completely reconfigure) an element and simultaneously deactivate or activate it, a client application includes the tag elements or statements that represent all of the element’s characteristics (for complete information about the syntax for defining elements, see Replacing Configuration Elements). The client application uses the attributes and operators discussed in the following sections to indicate which element is being replaced and activated or deactivated:
- Using Junos XML Tag Elements for the Replacement Element
- Using Formatted ASCII Text for the Replacement Element
Using Junos XML Tag Elements for the Replacement Element
If using Junos XML tag elements to represent the element, a client application includes the action="replace" attribute in the <load-configuration> tag element:
<rpc>
<!-- For a file -->
<load-configuration action="replace" url="file"/>
<!-- For a data stream -->
<load-configuration action="replace">
<!-- Junos XML tag elements -->
</load-configuration>
</rpc>
In the opening tag for the replacement element, the application includes two attributes—the replace="replace" attribute and either the inactive="inactive" or active="active" attribute. It includes tag elements for all children being defined for the element. In the following, the identifier tag element is called <name>:
<configuration>
<!-- opening tag for each parent of the element -->
<element replace="replace" (inactive="inactive” | active="active")>
<name>identifier</name> <!-- if the element has an identifier -->
<!-- tag elements for each child of the element -->
</element>
<!-- closing tag for each parent of the element -->
</configuration>
Using Formatted ASCII Text for the Replacement Element
If using formatted ASCII text to represent the element, a client application includes the action="replace" and format="text" attributes in the <load-configuration/> tag or opening <load-configuration> tag:
<rpc>
<!-- For a file -->
<load-configuration action="replace" format="text" url="file"/>
<!-- For a data stream -->
<load-configuration action="replace" format="text">
<!-- formatted ASCII configuration statements -->
</load-configuration>
</rpc>
The application places the inactive: or active: operator on the line above the new element and the replace: operator directly before the new element. It includes all child statements that it is defining for all children of the element:
<configuration-text>
/* statements for parent levels */
/* For an object with an identifier */
(inactive | active):
replace: object identifier {
/* Child configuration statements */
}
/* For a hierarchy level or object without an identifier */
(inactive | active):
replace: element {
/* Child configuration statements */
}
/* closing braces for parent levels */
</configuration-text>
Reordering an Element and Setting Its Activation State
To reorder an element in an ordered list and simultaneously deactivate or activate it, the application combines the insert attribute and identifier attribute for the reference element with the inactive or active attribute. In the following, the identifier tag element for the moving element is called <name>. The opening tag appears on two lines for legibility only:
<configuration>
<!-- opening tag for each parent of the set -->
<ordered-set insert="(before | after)" reference-identifier="value" \
(inactive="inactive" | active="active")>
<name>identifier-for-moving-object</name>
</ordered-set>
<!-- closing tag for each parent of the set -->
</configuration>
The reordering operation is not available when formatted ASCII text is used to represent the configuration data. For complete information about reordering elements, see Reordering Elements in Configuration Objects.
Renaming an Object and Setting Its Activation State
To rename an object (change the value of one or more of its identifiers) and simultaneously deactivate or activate it, the application combines the rename attribute and identifier attribute for the new name with the inactive or active attribute.
If the object has one identifier (here called <name>), the syntax is as follows (the opening tag appears on two lines for legibility only):
<configuration>
<!-- opening tag for each parent of the object -->
<object rename="rename" name="new-name" \
(inactive="inactive” | active="active")>
<name>current-name</name>
</object>
<!-- closing tag for each parent of the object -->
</configuration>
If the object has multiple identifiers and only one is changing, the syntax is as follows (the opening tag appears on multiple lines for legibility only):
<configuration>
<!-- opening tag for each parent of the object -->
<object rename="rename"changing-identifier="new-name" \
unchanging-identifier="current-name" \
(inactive="inactive” | active="active")>
<changing-identifier>current-name</changing-identifier>
<unchanging-identifier>current-name</unchanging-identifier>
</object>
<!-- closing tag for each parent of the object -->
</configuration>
The renaming operation is not available when formatted ASCII text is used to represent the configuration data. For complete information about renaming elements, see Renaming a Configuration Object.
Example: Replacing an Object and Deactivating It
The following example shows how to replace the information at the [edit protocols bgp] hierarchy level in the candidate configuration for the group called G3, and also deactivate the group so that it is not used in the actual configuration when the candidate is committed:

The following example shows how to use formatted ASCII text to make the same changes:

Hide Navigation Pane
Show Navigation Pane
Download
SHA1