Documentation

junos_command - Execute arbitrary commands on Juniper JUNOS devices

New in version 2.1.

Synopsis

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.

Options

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.

                      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"
                      

                      Return Values

                      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 ['...', '...']


                      This is a Core Module

                      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.