mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-26 12:21:26 -07:00
Add elapsed return value to select modules (#37969)
* Add elapsed return value to select modules It can be quite useful to know exactly how much time has elapsed downloading/waiting. This improves existing modules or updates documentation. * Ensure elapsed is always returned * Added changelog fragment
This commit is contained in:
parent
af3bac1320
commit
b64e666643
11 changed files with 141 additions and 90 deletions
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# (c) 2012, Jeroen Hoekx <jeroen@hoekx.be>
|
||||
# Copyright: (c) 2012, Jeroen Hoekx <jeroen@hoekx.be>
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
@ -170,6 +170,14 @@ EXAMPLES = r'''
|
|||
ansible_connection: local
|
||||
'''
|
||||
|
||||
RETURN = r'''
|
||||
elapsed:
|
||||
description: The number of seconds that elapsed while waiting
|
||||
returned: always
|
||||
type: int
|
||||
sample: 23
|
||||
'''
|
||||
|
||||
import binascii
|
||||
import datetime
|
||||
import errno
|
||||
|
@ -459,18 +467,18 @@ def main():
|
|||
compiled_search_re = None
|
||||
|
||||
if port and path:
|
||||
module.fail_json(msg="port and path parameter can not both be passed to wait_for")
|
||||
module.fail_json(msg="port and path parameter can not both be passed to wait_for", elapsed=0)
|
||||
if path and state == 'stopped':
|
||||
module.fail_json(msg="state=stopped should only be used for checking a port in the wait_for module")
|
||||
module.fail_json(msg="state=stopped should only be used for checking a port in the wait_for module", elapsed=0)
|
||||
if path and state == 'drained':
|
||||
module.fail_json(msg="state=drained should only be used for checking a port in the wait_for module")
|
||||
module.fail_json(msg="state=drained should only be used for checking a port in the wait_for module", elapsed=0)
|
||||
if module.params['exclude_hosts'] is not None and state != 'drained':
|
||||
module.fail_json(msg="exclude_hosts should only be with state=drained")
|
||||
module.fail_json(msg="exclude_hosts should only be with state=drained", elapsed=0)
|
||||
for _connection_state in module.params['active_connection_states']:
|
||||
try:
|
||||
get_connection_state_id(_connection_state)
|
||||
except:
|
||||
module.fail_json(msg="unknown active_connection_state (%s) defined" % _connection_state)
|
||||
module.fail_json(msg="unknown active_connection_state (%s) defined" % _connection_state, elapsed=0)
|
||||
|
||||
start = datetime.datetime.utcnow()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue