Note
This module is part of ansible-core
and included in all Ansible installations. In most cases, you can use the short module name expect
even without specifying the collections:
keyword. However, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.
New in version 2.0: of ansible.builtin
expect
module executes a command and responds to prompts.$HOME
and operations like "<"
, ">"
, "|"
, and "&"
will not work.The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments |
---|---|---|
chdir path | Change into this directory before running the command. | |
command string / required | The command module takes command to run. | |
creates path | A filename, when it already exists, this step will not be run. | |
echo boolean |
| Whether or not to echo out your response strings. |
removes path | A filename, when it does not exist, this step will not be run. | |
responses dictionary / required | Mapping of expected string/regex and string to respond with. If the response is a list, successive matches return successive responses. List functionality is new in 2.1. | |
timeout integer | Default: 30 | Amount of time in seconds to wait for the expected strings. Use null to disable timeout. |
Note
<
, >
, |
, and so on), you must specify a shell in the command such as /bin/bash -c "/path/to/something | grep else"
.?i
.pexpect
library used by this module operates with a search window of 2000 bytes, and does not use a multiline regex match. To perform a start of line bound match, use a pattern like (?m)^pattern
See also
The official documentation on the ansible.builtin.script module.
The official documentation on the ansible.builtin.shell module.
- name: Case insensitive password string match ansible.builtin.expect: command: passwd username responses: (?i)password: "MySekretPa$$word" # you don't want to show passwords in your logs no_log: true - name: Generic question with multiple different responses ansible.builtin.expect: command: /path/to/custom/command responses: Question: - response1 - response2 - response3
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/expect_module.html