New in version 2.1.
Netork devices running Juniper JUNOS can execute a variety of commands to display both configuration and state data. This module will take an ordered set of commands and execute them in JUNOS and return the command results. It also supports adding conditionals the argument set to force the module to meet a set of criteria before proceeding.
parameter | required | default | choices | comments |
---|---|---|---|---|
commands |
yes | The commands to send to the remote JUNOS device over the configured provider. The resulting output from the command is returned. If the waitfor argument is provided, the module is not returned until the condition is satisfied or the number of retires as expired. | ||
host |
yes | Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport. | ||
interval |
no | 1 | Configures the interval in seconds to wait between retries of the command. If the command does not pass the specified conditional, the interval indicates how to long to wait before trying the command again. | |
password |
no | Specifies the password to use to authenticate the connection to the remote device. The value of password is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_PASSWORD will be used instead. | ||
port |
no | 22 | Specifies the port to use when buiding the connection to the remote device. The port value will default to the well known SSH port of 22 | |
provider |
no | Convience method that allows all ios arguments to be passed as a dict object. All constraints (required, choices, etc) must be met either by individual arguments or values in this dict. | ||
retries |
no | 10 | Specifies the number of retries a command should by tried before it is considered failed. The command is run on the target device every retry and evaluated against the waitfor conditionals | |
ssh_keyfile |
no | Specifies the SSH key to use to authenticate the connection to the remote device. The value of ssh_keyfile is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_SSH_KEYFILE will be used instead. | ||
username |
no | Configures the usename to use to authenticate the connection to the remote device. The value of username is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable ANSIBLE_NET_USERNAME will be used instead. | ||
waitfor |
no | Specifies what to evaluate from the output of the command and what conditionals to apply. This argument will cause the task to wait for a particular conditional to be true before moving forward. If the conditional is not true by the configured retries, the task fails. See examples. |
# the required set of connection arguments have been purposely left off # the examples for brevity - name: run a set of commands junos_command: commands: ['show version', 'show ip route'] - name: run a command with a conditional applied to the second command junos_command: commands: - show version - show interfaces fxp0 | display json waitfor: - "result[1].interface-information[0].physical-interface[0].name[0].data eq fxp0"
Common return values are documented here Common Return Values, the following are the fields unique to this module:
name | description | returned | type | sample |
---|---|---|---|---|
stdout_lines | The output read from the device split into lines | always | list | [['...', '...'], ['...', '...']] |
failed_conditionals | the conditionals that failed | list | ['...', '...'] | |
stdout | The output from the commands read from the device | always | list | ['...', '...'] |
For more information on what this means please read Core Modules
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.