ansible.windows.win_wait_for module – Waits for a condition before continuing
Note
This module is part of the ansible.windows collection (version 2.5.0).
You might already have this collection installed if you are using the ansible
package.
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
Waits for a condition before continuing.
- community.windows.win_wait_for_process
Waits for a process to exist or not exist before continuing.
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 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: |