ansible / ansible.builtin / v2.3.3.0-1 / module / ops_command Run arbitrary commands on OpenSwitch devices. | "added in version" 2.1 of ansible.builtin" Authors: Peter Sprygada (@privateip) preview | supported by communityansible.builtin.ops_command (v2.3.3.0-1) — module
pip
Install with pip install ansible==2.3.3.0.post1
Sends arbitrary commands to an OpenSwitch node and returns the results read from the device. This module includes an argument that will cause the module to wait for a specific condition before returning or timing out if the condition is not met.
# Note: examples below use the following provider dict to handle # transport and authentication to the node. --- vars: cli: host: "{{ inventory_hostname }}" username: netop password: netop transport: cli --- - ops_command: commands: - show version provider: "{{ cli }}"
- ops_command: commands: - show version wait_for: - "result[0] contains OpenSwitch" provider: "{{ cli }}"
- ops_command: commands: - show version - show interfaces provider: "{{ cli }}"
host: description: - 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. Note this argument does not affect the SSH argument. type: str port: default: 0 (use common port) description: - Specifies the port to use when building the connection to the remote device. This value applies to either I(cli) or I(rest). The port value will default to the appropriate transport common port if none is provided in the task. (cli=22, http=80, https=443). Note this argument does not affect the SSH transport. type: int match: choices: - any - all default: all description: - The I(match) argument is used in conjunction with the I(wait_for) argument to specify the match policy. Valid values are C(all) or C(any). If the value is set to C(all) then all conditionals in the I(wait_for) must be satisfied. If the value is set to C(any) then only one of the values must be satisfied. required: false version_added: '2.2' version_added_collection: ansible.builtin retries: default: 10 description: - 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 I(wait_for) conditions. required: false timeout: default: 10 description: - Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error. type: int use_ssl: default: true description: - Configures the I(transport) to use SSL if set to C(yes) only when the I(transport) argument is configured as rest. If the transport argument is not I(rest), this value is ignored. type: bool commands: description: - List of commands to send to the remote ops device over the configured provider. The resulting output from the command is returned. If the I(wait_for) argument is provided, the module is not returned until the condition is satisfied or the number of retires as expired. required: true interval: default: 1 description: - Configures the interval in seconds to wait between I(retries) of the command. If the command does not pass the specified conditions, the interval indicates how long to wait before trying the command again. required: false password: description: - Specifies the password to use to authenticate the connection to the remote device. This is a common argument used for either I(cli) or I(rest) transports. Note this argument does not affect the SSH transport. If the value is not specified in the task, the value of environment variable C(ANSIBLE_NET_PASSWORD) will be used instead. type: str provider: description: - Convenience method that allows all I(openswitch) 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. type: dict username: description: - Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate either the CLI login or the eAPI authentication depending on which transport is used. Note this argument does not affect the SSH transport. If the value is not specified in the task, the value of environment variable C(ANSIBLE_NET_USERNAME) will be used instead. type: str wait_for: aliases: - waitfor default: null description: - List of conditions to evaluate against the output of the command. The task will wait for each condition to be true before moving forward. If the conditional is not true within the configured number of retries, the task fails. See examples. required: false version_added: '2.2' version_added_collection: ansible.builtin transport: choices: - cli - rest - ssh default: ssh description: - Configures the transport connection to use when connecting to the remote device. The transport argument supports connectivity to the device over ssh, cli or REST. required: true type: str ssh_keyfile: description: - Specifies the SSH key to use to authenticate the connection to the remote device. This argument is only used for the I(cli) transports. If the value is not specified in the task, the value of environment variable C(ANSIBLE_NET_SSH_KEYFILE) will be used instead. type: path
failed_conditions: description: the conditionals that failed returned: failed sample: - '...' - '...' type: list stdout: description: the set of responses from the commands returned: always sample: - '...' - '...' type: list stdout_lines: description: The value of stdout split into a list returned: always sample: - - '...' - '...' - - '...' - - '...' type: list