Commit and Display Configuration Data for Nonnative YANG Modules
You can load standardized or custom YANG modules on Junos devices to add data models that the
device does not support natively but can support through translation. When you
extend the configuration hierarchy with new data models, you must also supply one or
more translation scripts. Translation scripts provide the translation logic to map
the nonnative configuration syntax to Junos OS syntax. The device enables
translation scripts as soon as you issue the request system yang
add or request system yang update command to add them
to the device.
You configure nonnative data models in the candidate configuration using the syntax defined for those models. When you configure statements that correspond to third-party YANG data models, for example, OpenConfig or custom YANG data models, the following features are not supported:
Using
configure batchorconfigure privatemodeConfiguring statements under the
[edit groups]hierarchy
When you commit the configuration, the translation scripts translate the data for those models and commit the corresponding Junos OS configuration as a transient change in the checkout configuration.
XPath expression evaluations for the following YANG keywords are disabled by
default during commit operations: leafref,
must, and when.
The candidate and active configurations contain the configuration data for nonnative YANG data
models in the syntax defined by those models. The translated configuration data is
committed as a transient change. As a result, the candidate and active
configurations do not explicitly display the translated data in the Junos OS syntax
when you view the configuration by using commands such as show or
show configuration.
You can explicitly display the translated data in Junos OS syntax in the candidate or active
configuration. You append the | display translation-scripts filter
to the show command in configuration mode or to the show
configuration command in operational mode. Applying the filter displays
the post-inheritance configuration with the translated configuration data from all
enabled translation scripts included.
You can only apply the | display translation-scripts filter to the complete Junos OS configuration. You cannot filter
subsections of the configuration hierarchy.
In operational mode, issue the following command to view the committed configuration with translation scripts applied:
user@host> show configuration | display translation-scripts
Similarly, in configuration mode, issue the following command to view the candidate configuration with translation scripts applied. You must be at the top of the configuration hierarchy to use the filter.
[edit] user@host# show | display translation-scripts
The output, which is truncated in this example, displays the complete post-inheritance configuration and includes the nonnative configuration data as well as the translation of that data.
## Last changed: 2025-09-13 16:37:42 PDT
version 25.2R1.9;
system {
host-name host;
domain-name example.com;
...
/* Translated data */
scripts {
op {
file test.slax;
}
}
...
}
...
/* Nonnative configuration data */
myconfig:myscript {
op {
filename test.slax;
}
}
Alternatively, you can view just the translated portions of
the hierarchy corresponding to nonnative YANG data models by appending
the translated-config keyword to the | display
translation-scripts filter. In operational mode, the translated-config keyword returns the translated data for nonnative YANG data models
present in the committed configuration. In configuration mode, the translated-config keyword returns the translated data for nonnative
YANG data models present in the candidate configuration, which includes
both committed and uncommitted configuration data.
user@host> show | display translation-scripts translated-config
system {
scripts {
op {
file test.slax;
}
}
}
The candidate configuration reflects the configuration data that has been configured, but not
necessarily committed, on the device. In configuration mode, you can display just
the configuration differences in the hierarchies corresponding to nonnative YANG
data models before or after translation scripts are applied. To display the
differences, append the configured-delta or
translated-delta keyword to the show | display
translation-scripts command. In both cases, the XML output displays the
deleted configuration data, followed by the new configuration data.
For example, to view the uncommitted configuration changes for the nonnative data models in the
syntax defined by those data models, use the show | display
translation-scripts configured-delta configuration mode command.
[edit]
user@host# show | display translation-scripts configured-delta
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/25.2R1.9/junos">
<configuration operation="delete">
</configuration>
<configuration operation="create">
<myscript xmlns="http://jnpr.net/yang/myscript" operation="create">
<op>
<filename>test2.slax</filename>
</op>
</myscript>
</configuration>
<cli>
<banner>[edit]</banner>
</cli>
</rpc-reply>
To view the uncommitted configuration changes for the nonnative data models after translation
into Junos OS syntax, use the show | display translation-scripts
translated-delta configuration mode command. For example:
[edit]
user@host# show | display translation-scripts translated-delta
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/R1/junos">
<configuration xmlns:junos="http://xml.juniper.net/junos/*/junos">
<system>
<scripts>
<op>
<file>
<name>test2.slax</name>
</file>
</op>
</scripts>
</system>
</configuration>
<!-- EOF -->
<cli>
<banner>[edit]</banner>
</cli>
</rpc-reply>
In configuration mode, you can use the various filters to better understand which transient
changes the device will commit for nonnative data models. To verify all Junos OS
statements that will be committed as transient changes by translation scripts during
the commit operation, issue the show | display
translation-scripts translated-config command before committing the
candidate configuration. To verify the Junos OS statements that will be committed
for just the changed configuration data, issue the show | display
translation-scripts translated-delta command. If you disable
translation scripts for a package, the output for these commands does not include
(and the device does not commit) the corresponding Junos OS configuration for those
data models in the package.
The presence of nonnative configuration data in the active configuration does not guarantee that the corresponding translated configuration is present as a transient change. If you disable translation and then commit nonnative configuration data, the nonnative data is present in the committed configuration. However, the device does not commit the corresponding Junos OS configuration statements as transient changes for any statements in the data models added by that package. This even includes statements you already committed prior to disabling translation.
Table 1 summarizes the different filters you can apply to the committed and candidate configurations to view configuration data corresponding to nonnative YANG data models. The table indicates the CLI mode for each filter, and the scope and syntax of the output. By selecting different filters, you can view the entire configuration, the translated portions of the configuration, or the uncommitted configuration changes. You can also view the configuration data both before and after processing by translation scripts. In configuration mode, this enables you to better determine the Junos OS changes that the device will commit for the nonnative hierarchies.
Filter |
Mode |
Description |
Syntax and Format of Output |
|---|---|---|---|
|
Operational |
Return the complete, post-inheritance committed configuration and include the translation of the nonnative data into Junos OS syntax. |
YANG data model and Junos OS syntax as ASCII text |
Configuration |
Return the complete, post-inheritance candidate configuration and include the translation of the nonnative data into Junos OS syntax. |
YANG data model and Junos OS syntax as ASCII text |
|
|
Operational |
Return the translated data corresponding to all nonnative YANG data models in the committed configuration. |
Junos OS ASCII text |
Configuration |
Return the translated data corresponding to all nonnative YANG data models in the candidate configuration. |
Junos OS ASCII text |
|
|
Configuration |
Return the uncommitted changes in the candidate configuration corresponding to nonnative YANG data models in the syntax defined by that model. |
YANG data model XML |
|
Configuration |
Return the uncommitted changes in the candidate configuration corresponding to nonnative YANG data models after translation into Junos OS syntax. |
Junos OS XML |