Add scm_update_cache_timeout, job_timeout and custom_virtualenv to tower_project (#51330)
* adding scm_update_cache_timeout and job_timeout to tower_project module * add support for cache_timeout, job_timeout and custom_venv for tower_project module * add the version_added
This commit is contained in:
parent
195de8b460
commit
b9f5a343c4
1 changed files with 38 additions and 1 deletions
|
@ -62,6 +62,21 @@ options:
|
|||
- Before an update to the local repository before launching a job with this project.
|
||||
type: bool
|
||||
default: 'no'
|
||||
scm_update_cache_timeout:
|
||||
version_added: "2.8"
|
||||
description:
|
||||
- Cache Timeout to cache prior project syncs for a certain number of seconds.
|
||||
Only valid if scm_update_on_launch is to True, otherwise ignored.
|
||||
default: 0
|
||||
job_timeout:
|
||||
version_added: "2.8"
|
||||
description:
|
||||
- The amount of time (in seconds) to run before the SCM Update is canceled. A value of 0 means no timeout.
|
||||
default: 0
|
||||
custom_virtualenv:
|
||||
version_added: "2.8"
|
||||
description:
|
||||
- Local absolute file path containing a custom Python virtualenv to use
|
||||
organization:
|
||||
description:
|
||||
- Primary key of organization for project.
|
||||
|
@ -82,6 +97,17 @@ EXAMPLES = '''
|
|||
organization: "test"
|
||||
state: present
|
||||
tower_config_file: "~/tower_cli.cfg"
|
||||
|
||||
- name: Add Tower Project with cache timeout and custom virtualenv
|
||||
tower_project:
|
||||
name: "Foo"
|
||||
description: "Foo bar project"
|
||||
organization: "test"
|
||||
scm_update_on_launch: True
|
||||
scm_update_cache_timeout: 60
|
||||
custom_virtualenv: "/var/lib/awx/venv/ansible-2.2"
|
||||
state: present
|
||||
tower_config_file: "~/tower_cli.cfg"
|
||||
'''
|
||||
|
||||
from ansible.module_utils.ansible_tower import TowerModule, tower_auth_config, tower_check_mode
|
||||
|
@ -107,8 +133,10 @@ def main():
|
|||
scm_clean=dict(type='bool', default=False),
|
||||
scm_delete_on_update=dict(type='bool', default=False),
|
||||
scm_update_on_launch=dict(type='bool', default=False),
|
||||
scm_update_cache_timeout=dict(type='int', default=0),
|
||||
job_timeout=dict(type='int', default=0),
|
||||
custom_virtualenv=dict(),
|
||||
local_path=dict(),
|
||||
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
)
|
||||
|
||||
|
@ -127,6 +155,9 @@ def main():
|
|||
scm_clean = module.params.get('scm_clean')
|
||||
scm_delete_on_update = module.params.get('scm_delete_on_update')
|
||||
scm_update_on_launch = module.params.get('scm_update_on_launch')
|
||||
scm_update_cache_timeout = module.params.get('scm_update_cache_timeout')
|
||||
job_timeout = module.params.get('job_timeout')
|
||||
custom_virtualenv = module.params.get('custom_virtualenv')
|
||||
state = module.params.get('state')
|
||||
|
||||
json_output = {'project': name, 'state': state}
|
||||
|
@ -155,12 +186,18 @@ def main():
|
|||
except (exc.NotFound) as excinfo:
|
||||
module.fail_json(msg='Failed to update project, credential not found: {0}'.format(scm_credential), changed=False)
|
||||
|
||||
if (scm_update_cache_timeout is not None) and (scm_update_on_launch is not True):
|
||||
module.warn('scm_update_cache_timeout will be ignored since scm_update_on_launch was not set to true')
|
||||
|
||||
result = project.modify(name=name, description=description,
|
||||
organization=org['id'],
|
||||
scm_type=scm_type, scm_url=scm_url, local_path=local_path,
|
||||
scm_branch=scm_branch, scm_clean=scm_clean, credential=scm_credential,
|
||||
scm_delete_on_update=scm_delete_on_update,
|
||||
scm_update_on_launch=scm_update_on_launch,
|
||||
scm_update_cache_timeout=scm_update_cache_timeout,
|
||||
job_timeout=job_timeout,
|
||||
custom_virtualenv=custom_virtualenv,
|
||||
create_on_missing=True)
|
||||
json_output['id'] = result['id']
|
||||
elif state == 'absent':
|
||||
|
|
Loading…
Reference in a new issue