Author: | Jeremy Schulman, Juniper Networks |
---|
New in version 1.0.0.
Load a complete Junos OS configuration (overwrite) or merge a configuration snippet onto a device running Junos OS and commit it. The default behavior is to perform a load merge operation (overwrite=’no’). This module performs an atomic lock/edit/unlock. If the process fails at any step, then all configuration changes are discarded. You can load the configuration using either NETCONF or the CONSOLE port. Specify the console option to use the CONSOLE port. You provide the configuration data in a file. Supported formats when using NETCONF include ASCII text, Junos XML elements, and Junos OS set commands. Configurations performed through the console must only use ASCII text formatting.
parameter | required | default | choices | comments |
---|---|---|---|---|
check_commit | no | True |
|
Specify whether the configuration will be commit-checked or not. Set to false, outputs similarly to the "show | compare" functionality, while true returns the "commit check" result. |
check_commit_wait | no | None |
|
Set to number of seconds to wait between check and commit. |
comment | no | None | Provide a comment to the commit of the configuration | |
confirm | no | None | Provide a confirm in minutes to the commit of the configuration | |
console | no | None | Port configuration, per the netconify utility | |
diffs_file | no | None | Path to the file where any diffs will be written | |
file | yes | Path to the file containing the Junos OS configuration data. If the file has a *.conf extension, the content is treated as text format. If the file has a *.xml extension, the content is treated as XML format. If the file has a *.set extension, the content is treated as Junos OS set commands. |
||
host | yes | Set to {{ inventory_hostname }} | ||
ignore_warning | no | None | A boolean, string or list of string. If the value is True, it will ignore all warnings regardless of the warning message. If the value is a string, it will ignore warning(s) if the message of each warning matches the string. If the value is a list of strings, ignore warning(s) if the message of each warning matches at least one of the strings in the list. | |
logfile | no | None | Path on the local server where the progress status is logged for debugging purposes | |
mode | no | None | mode of console connection (telnet/serial). If mode is not provided SSH connection is used. | |
overwrite | no |
|
Specify whether the configuration file completely replaces the existing configuration. | |
passwd | no | assumes ssh-key active | Login password | |
port | no | 830 | port number to use when connecting to the device | |
replace | no |
|
Specify whether the configuration file uses "replace:" statements. (NETCONF only) NOT compatible with set format | |
savedir | no | None | Path to the local server directory where device facts and inventory files will be stored. This option is used only with the console option. Refer to the netconify utility for details. | |
ssh_private_key_file | no | None | This can be used if you need to provide a private key rather than loading the key into the ssh-key-ring/environment. if your ssh-key requires a password, then you must provide it via **passwd** | |
timeout | no | 0 | Extend the NETCONF RPC timeout beyond the default value of 30 seconds. Set this value to accommodate configuration changes (commits) that might take longer than the default timeout interval. | |
update | no |
|
If set to ``True`` Compare a complete loaded configuration against the candidate configuration. For each hierarchy level or configuration object that is different in the two configurations, the version in the loaded configuration replaces the version in the candidate configuration. When the configuration is later committed, only system processes that are affected by the changed configuration elements parse the new configuration. This action is supported from PyEZ 2.1 | |
user | no | $USER | Login username |
Note
Requires junos-eznc >= 2.1.1
Note
Requires junos-netconify >= 1.0.1, when using the console option
# load merge a change to the Junos OS configuration using NETCONF
- junos_install_config:
host={{ inventory_hostname }}
file=banner.conf
# load overwrite a new Junos OS configuration using the CONSOLE port
- junos_install_config:
host={{ inventory_hostname }}
console="--telnet={{TERMSERV}},{{TERMSERV_PORT}}"
file=default_new_switch.conf
overwrite=yes
# load merge a change to the Junos OS configuration using NETCONF and supplying a commit log message
- junos_install_config:
host={{ inventory_hostname }}
file=banner.conf
comment="configured by ansible"
# load replace a change to the Junos OS configuration using NETCONF
- junos_install_config:
host={{ inventory_hostname }}
file=snmp.conf
replace=yes
# Install/load config using console server connection using PyEZ >= 2.0
- junos_install_config:
host={{ inventory_hostname }}
port=7016
mode='telnet'
file=default_new_switch.conf