ansible.windows.win_wait_for module – Waits for a condition before continuing
Note
This module is part of the ansible.windows collection (version 3.2.0).
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install ansible.windows.
To use it in a playbook, specify: ansible.windows.win_wait_for.
Synopsis
- You can wait for a set amount of time - timeout, this is the default if nothing is specified.
- Waiting for a port to become available is useful for when services are not immediately available after their init scripts return which is true of certain Java application servers. 
- You can wait for a file to exist or not exist on the filesystem. 
- This module can also be used to wait for a regex match string to be present in a file. 
- You can wait for active connections to be closed before continuing on a local port. 
Parameters
| Parameter | Comments | 
|---|---|
| The maximum number of seconds to wait for a connection to happen before closing and retrying. Default:  | |
| The number of seconds to wait before starting to poll. | |
| The list of hosts or IPs to ignore when looking for active TCP connections when  | |
| A resolvable hostname or IP address to wait for. If  Default:  | |
| The path to a file on the filesystem to check. If  If  | |
| The port number to poll on  | |
| Can be used to match a string in a file. If  If  Defaults to a multiline regex. | |
| Number of seconds to sleep between checks. Default:  | |
| When checking a port,  When checking for a file or a search string  Choices: 
 | |
| The maximum number of seconds to wait for. Default:  | 
See Also
See also
- ansible.builtin.wait_for
- The official documentation on the ansible.builtin.wait_for module. 
- community.windows.win_wait_for_process
- The official documentation on the community.windows.win_wait_for_process module. 
Examples
- name: Wait 300 seconds for port 8000 to become open on the host, don't start checking for 10 seconds
  ansible.windows.win_wait_for:
    port: 8000
    delay: 10
- name: Wait 150 seconds for port 8000 of any IP to close active connections
  ansible.windows.win_wait_for:
    host: 0.0.0.0
    port: 8000
    state: drained
    timeout: 150
- name: Wait for port 8000 of any IP to close active connection, ignoring certain hosts
  ansible.windows.win_wait_for:
    host: 0.0.0.0
    port: 8000
    state: drained
    exclude_hosts: ['10.2.1.2', '10.2.1.3']
- name: Wait for file C:\temp\log.txt to exist before continuing
  ansible.windows.win_wait_for:
    path: C:\temp\log.txt
- name: Wait until process complete is in the file before continuing
  ansible.windows.win_wait_for:
    path: C:\temp\log.txt
    regex: process complete
- name: Wait until file is removed
  ansible.windows.win_wait_for:
    path: C:\temp\log.txt
    state: absent
- name: Wait for port 8080 on 192.168.1.10 with a increased connection timeout
  ansible.windows.win_wait_for:
    host: 192.168.1.10
    port: 8080
    connect_timeout: 20
    timeout: 60
- name: Wait until port 1234 is offline but try every 10 seconds
  ansible.windows.win_wait_for:
    port: 1234
    state: absent
    sleep: 10
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| The elapsed seconds between the start of poll and the end of the module. This includes the delay if the option is set. Returned: always Sample:  | |
| The number of attempts to poll the file or port before module finishes. Returned: always Sample:  | 
