Author: | Jeremy Schulman, Juniper Networks |
---|
New in version 1.0.0.
Retrieve facts for a device running Junos OS, which includes information such as the serial number, product model, and Junos OS version. The module supports using both NETCONF and CONSOLE-based retrieval and returns the information as a JSON dictionary. The information is similar to facts gathered by other IT frameworks.
parameter | required | default | choices | comments |
---|---|---|---|---|
console | no | None | CONSOLE port, per the netconify utility | |
host | yes | Set to {{ inventory_hostname }} | ||
logfile | no | None | Path on the local server where the progress status is logged for debugging purposes. This option is used only with the console option. | |
mode | no | None | mode of console connection (telnet/serial). If mode is not provided SSH connection is used. | |
passwd | no | assumes ssh-key active | Login password | |
port | no | 830 | port number to use when connecting to the device | |
savedir | no | $CWD | Path to the local server directory where device fact files will be stored. Resulting file will be savedir/hostname-facts.json | |
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** | |
user | no | $USER | Login username |
Note
Requires junos-eznc >= 1.2.2
Note
Requires junos-netconify >= 1.0.1, when using the console option
# retrieve facts using NETCONF, assumes ssh-keys
- junos_get_facts: host={{ inventory_hostname }}
register: junos
# retrieve facts using CONSOLE, assumes Amnesiac system
# root login, no password
- junos_get_facts:
host={{ inventory_hostname }}
user=root
console="--telnet={{TERMSERV}},{{TERMSERVPORT}}"
savedir=/usr/local/junos/inventory
register: junos
# access the facts
- name: version
debug: msg="{{ junos.facts.version }}"
# retrieve facts using console server connection using PyEZ >= 2.0
- junos_get_facts:
host={{ inventory_hostname }}
mode="telnet"
port=7016
register: junos
# access the facts
- name: version
debug: msg="{{ junos.facts }}"