Documentation
PLEASE NOTE: This document applies to v2.18 version and not to the latest stable release v2.19
Documentation for other releases can be found by using the version selector in the top right of any doc page.expect
Execute interactive commands and automate responses.
This module automates interactive CLI programs by spawning a pseudo-terminal and responding to prompts based on pattern matching.
Attributes
check_mode:
support: none
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| command | true | string | The command to run with interactive prompts. | |
| echo | boolean | Whether to echo the command output to stdout. | ||
| responses | true | object | A dictionary mapping prompt patterns (strings or regex) to their responses. When a pattern is matched in the output, the corresponding response is sent. | |
| timeout | integer | Maximum time in seconds to wait for each expected pattern. |
Example
- name: Run interactive setup
expect:
command: /usr/local/bin/setup-wizard
responses:
"Enter password:": "{{ vault_password }}"
"Confirm (y/n):": "y"
timeout: 30
- name: Automate SSH key creation
expect:
command: ssh-keygen -t rsa -f /tmp/id_rsa
responses:
"Enter passphrase": ""
"Enter same passphrase": ""
timeout: 10