Update documentation for modules, add deprecation warning for role, send and receive modules

Update variables in tower_inventory to be in dict format
This commit is contained in:
beeankha
2020-02-24 15:23:49 -05:00
parent 787c4af222
commit 1c4042340c
20 changed files with 62 additions and 26 deletions

View File

@@ -1,7 +1,7 @@
# AWX Ansible Collection # AWX Ansible Collection
This Ansible collection allows for easy interaction with an AWX or Ansible Tower This Ansible collection allows for easy interaction with an AWX or Ansible Tower
server in Ansible playbooks. server via Ansible playbooks.
The previous home for this collection was in https://github.com/ansible/ansible The previous home for this collection was in https://github.com/ansible/ansible
inside the folder `lib/ansible/modules/web_infrastructure/ansible_tower` inside the folder `lib/ansible/modules/web_infrastructure/ansible_tower`
@@ -14,34 +14,33 @@ The release 7.0.0 of the `awx.awx` collection is intended to be identical
to the content prior to the migration, aside from changes necessary to to the content prior to the migration, aside from changes necessary to
have it function as a collection. have it function as a collection.
The following notes are changes that may require changes to playbooks. The following notes are changes that may require changes to playbooks:
- Specifying `inputs` or `injectors` as strings in the - Specifying `inputs` or `injectors` as strings in the
`tower_credential_type` module is no longer supported. Provide as dictionaries instead. `tower_credential_type` module is no longer supported. Provide them as dictionaries instead.
- When a project is created, it will wait for the update/sync to finish by default; this can be turned off with the `wait` parameter, if desired. - When a project is created, it will wait for the update/sync to finish by default; this can be turned off with the `wait` parameter, if desired.
- Creating a "scan" type job template is no longer supported. - Creating a "scan" type job template is no longer supported.
- `extra_vars` in the `tower_job_launch` module worked with a list previously, but is now configured to work solely in a `dict` format. - `extra_vars` in the `tower_job_launch` module worked with a list previously, but is now configured to work solely in a `dict` format.
- When the `extra_vars` parameter is used with the `tower_job_launch` module, the Job Template launch will fail unless `add_extra_vars` or `survey_enabled` is explicitly set to `True` on the Job Template. - When the `extra_vars` parameter is used with the `tower_job_launch` module, the Job Template launch will fail unless `add_extra_vars` or `survey_enabled` is explicitly set to `True` on the Job Template.
- tower_group used to also service inventory sources, this functionality has been removed from this module; instead use tower_inventory_source. - `tower_group` used to also service inventory sources, but this functionality has been removed from this module; use `tower_inventory_source` instead.
- Specified tower_config file used to handle k=v pairs on a single line. This is no longer supported. You may a file formatted in: yaml, json or ini only. - Specified `tower_config` file used to handle `k=v` pairs on a single line; this is no longer supported. Please use a file formatted as `yaml`, `json` or `ini` only.
- The `variables` parameter in the `tower_group` and `tower_host` modules are now in `dict` format and no longer - The `variables` parameter in the `tower_group`, `tower_host` and `tower_inventory` modules are now in `dict` format and no longer supports the use of the `C(@)` syntax (for an external `vars` file).
supports the use of the `C(@)` syntax (for an external vars file). - Some return values (e.g., `credential_type`) have been removed. Use of `id` is recommended.
## Running ## Running
To use this collection, the "old" tower-cli needs to be installed To use this collection, the "old" `tower-cli` needs to be installed
in the virtual environment where the collection runs. in the virtual environment where the collection runs.
You can install it from [PyPI](https://pypi.org/project/ansible-tower-cli/). You can install it from [PyPI](https://pypi.org/project/ansible-tower-cli/).
To use this collection in AWX, you should create a custom virtual environment To use this collection in AWX, you should create a custom virtual environment into which to install the requirements. NOTE: running locally, you will also need
to install the requirement into. NOTE: running locally, you will also need to set the job template `extra_vars` to include `ansible_python_interpreter`
to set the job template extra_vars to include `ansible_python_interpreter` to be the Python in that virtual environment.
to be the python in that virtual environment.
## Running Tests ## Running Tests
Tests to verify compatibility with the most recent AWX code are Tests to verify compatibility with the most recent AWX code are
in `awx_collection/test/awx`. These tests require that python packages in `awx_collection/test/awx`. These tests require that Python packages
are available for all of `awx`, `ansible`, `tower_cli`, and the collection are available for all of `awx`, `ansible`, `tower_cli`, and the collection
itself. itself.
@@ -49,7 +48,7 @@ itself.
The target `make prepare_collection_venv` will prepare some requirements The target `make prepare_collection_venv` will prepare some requirements
in the `awx_collection_test_venv` folder so that `make test_collection` can in the `awx_collection_test_venv` folder so that `make test_collection` can
be ran to actually run the tests. A single test can be ran via: be executed to actually run the tests. A single test can be run via:
``` ```
make test_collection COLLECTION_TEST_DIRS=awx_collection/test/awx/test_organization.py make test_collection COLLECTION_TEST_DIRS=awx_collection/test/awx/test_organization.py
@@ -57,9 +56,9 @@ make test_collection COLLECTION_TEST_DIRS=awx_collection/test/awx/test_organizat
### Manually ### Manually
As a faster alternative if you do not want to use the container, or As a faster alternative (if you do not want to use the container), or to
run against Ansible or tower-cli source, it is possible to set up a run against Ansible or `tower-cli` source, it is possible to set up a
working environment yourself. working environment yourself:
``` ```
mkvirtualenv my_new_venv mkvirtualenv my_new_venv

View File

@@ -69,6 +69,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -33,6 +33,7 @@ options:
- A new name for this group (for renaming) - A new name for this group (for renaming)
required: False required: False
type: str type: str
version_added: "3.7"
description: description:
description: description:
- The description to use for the group. - The description to use for the group.
@@ -57,6 +58,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -80,7 +82,7 @@ def main():
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
new_name=dict(required=False), new_name=dict(required=False),
description=dict(), description=dict(required=False),
inventory=dict(required=True), inventory=dict(required=True),
variables=dict(type='dict', required=False), variables=dict(type='dict', required=False),
state=dict(choices=['present', 'absent'], default='present'), state=dict(choices=['present', 'absent'], default='present'),

View File

@@ -33,6 +33,7 @@ options:
- To use when changing a hosts's name. - To use when changing a hosts's name.
required: False required: False
type: str type: str
version_added: "3.7"
description: description:
description: description:
- The description to use for the host. - The description to use for the host.
@@ -62,6 +63,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -88,7 +90,7 @@ def main():
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
new_name=dict(required=False), new_name=dict(required=False),
description=dict(default=''), description=dict(required=False),
inventory=dict(required=True), inventory=dict(required=True),
enabled=dict(type='bool', default=True), enabled=dict(type='bool', default=True),
variables=dict(type='dict', required=False), variables=dict(type='dict', required=False),

View File

@@ -39,8 +39,9 @@ options:
type: str type: str
variables: variables:
description: description:
- Inventory variables. Use C(@) to get from file. - Inventory variables.
type: str required: False
type: dict
kind: kind:
description: description:
- The kind field. Cannot be modified after created. - The kind field. Cannot be modified after created.
@@ -64,6 +65,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -86,9 +88,9 @@ def main():
# Any additional arguments that are not fields of the item can be added here # Any additional arguments that are not fields of the item can be added here
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
description=dict(default=''), description=dict(required=False),
organization=dict(required=True), organization=dict(required=True),
variables=dict(default=''), variables=dict(type='dict', required=False),
kind=dict(choices=['', 'smart'], default=''), kind=dict(choices=['', 'smart'], default=''),
host_filter=dict(), host_filter=dict(),
state=dict(choices=['present', 'absent'], default='present'), state=dict(choices=['present', 'absent'], default='present'),

View File

@@ -33,6 +33,7 @@ options:
- A new name for this assets (will rename the asset) - A new name for this assets (will rename the asset)
required: False required: False
type: str type: str
version_added: "3.7"
description: description:
description: description:
- The description to use for the inventory source. - The description to use for the inventory source.
@@ -127,6 +128,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -152,7 +154,7 @@ def main():
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
new_name=dict(type='str'), new_name=dict(type='str'),
description=dict(), description=dict(required=False),
inventory=dict(required=True), inventory=dict(required=True),
# #
# How do we handle manual and file? Tower does not seem to be able to activate them # How do we handle manual and file? Tower does not seem to be able to activate them

View File

@@ -38,6 +38,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -64,29 +64,35 @@ options:
- A specific of the SCM project to run the template on. - A specific of the SCM project to run the template on.
- This is only applicable if your project allows for branch override. - This is only applicable if your project allows for branch override.
type: str type: str
version_added: "3.7"
skip_tags: skip_tags:
description: description:
- Specific tags to skip from the playbook. - Specific tags to skip from the playbook.
type: list type: list
elements: str elements: str
version_added: "3.7"
verbosity: verbosity:
description: description:
- Verbosity level for this job run - Verbosity level for this job run
type: int type: int
choices: [ 0, 1, 2, 3, 4, 5 ] choices: [ 0, 1, 2, 3, 4, 5 ]
version_added: "3.7"
diff_mode: diff_mode:
description: description:
- Show the changes made by Ansible tasks where supported - Show the changes made by Ansible tasks where supported
type: bool type: bool
version_added: "3.7"
credential_passwords: credential_passwords:
description: description:
- Passwords for credentials which are set to prompt on launch - Passwords for credentials which are set to prompt on launch
type: dict type: dict
version_added: "3.7"
tower_oauthtoken: tower_oauthtoken:
description: description:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -46,6 +46,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -27,16 +27,19 @@ options:
- The contents of the license file - The contents of the license file
required: True required: True
type: dict type: dict
version_added: "3.7"
eula_accepted: eula_accepted:
description: description:
- Whether or not the EULA is accepted. - Whether or not the EULA is accepted.
required: True required: True
type: bool type: bool
version_added: "3.7"
tower_oauthtoken: tower_oauthtoken:
description: description:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -45,6 +45,7 @@ options:
default: "0" default: "0"
type: int type: int
required: False required: False
version_added: "3.7"
state: state:
description: description:
- Desired state of the resource. - Desired state of the resource.
@@ -56,6 +57,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -56,6 +56,7 @@ options:
- The refspec to use for the SCM resource. - The refspec to use for the SCM resource.
type: str type: str
default: '' default: ''
version_added: "3.7"
scm_credential: scm_credential:
description: description:
- Name of the credential to use with this SCM resource. - Name of the credential to use with this SCM resource.
@@ -86,6 +87,7 @@ options:
description: description:
- Allow changing the SCM branch or revision in a job template that uses this project. - Allow changing the SCM branch or revision in a job template that uses this project.
type: bool type: bool
version_added: "3.7"
job_timeout: job_timeout:
version_added: "2.8" version_added: "2.8"
description: description:
@@ -123,6 +125,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -175,7 +178,7 @@ def main():
# Any additional arguments that are not fields of the item can be added here # Any additional arguments that are not fields of the item can be added here
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
description=dict(required=False, default=''), description=dict(required=False),
scm_type=dict(required=False, choices=['manual', 'git', 'hg', 'svn', 'insights'], default='manual'), scm_type=dict(required=False, choices=['manual', 'git', 'hg', 'svn', 'insights'], default='manual'),
scm_url=dict(required=False), scm_url=dict(required=False),
local_path=dict(required=False), local_path=dict(required=False),

View File

@@ -162,6 +162,8 @@ def main():
module = TowerModule(argument_spec=argument_spec, supports_check_mode=False) module = TowerModule(argument_spec=argument_spec, supports_check_mode=False)
module.deprecate(msg="This module is being moved to a different collection. Instead of awx.awx it will be migrated into awx.tower_cli", version="3.7")
if not HAS_TOWER_CLI: if not HAS_TOWER_CLI:
module.fail_json(msg='ansible-tower-cli required for this module') module.fail_json(msg='ansible-tower-cli required for this module')

View File

@@ -141,6 +141,8 @@ def main():
module = TowerModule(argument_spec=argument_spec, supports_check_mode=True) module = TowerModule(argument_spec=argument_spec, supports_check_mode=True)
module.deprecate(msg="This module is being moved to a different collection. Instead of awx.awx it will be migrated into awx.tower_cli", version="3.7")
role_type = module.params.pop('role') role_type = module.params.pop('role')
state = module.params.pop('state') state = module.params.pop('state')

View File

@@ -106,6 +106,8 @@ def main():
module = TowerModule(argument_spec=argument_spec, supports_check_mode=False) module = TowerModule(argument_spec=argument_spec, supports_check_mode=False)
module.deprecate(msg="This module is being moved to a different collection. Instead of awx.awx it will be migrated into awx.tower_cli", version="3.7")
if not HAS_TOWER_CLI: if not HAS_TOWER_CLI:
module.fail_json(msg='ansible-tower-cli required for this module') module.fail_json(msg='ansible-tower-cli required for this module')

View File

@@ -38,11 +38,13 @@ options:
- A data structure to be sent into the settings endpoint - A data structure to be sent into the settings endpoint
required: False required: False
type: dict type: dict
version_added: "3.7"
tower_oauthtoken: tower_oauthtoken:
description: description:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''

View File

@@ -33,9 +33,11 @@ options:
- To use when changing a team's name. - To use when changing a team's name.
required: False required: False
type: str type: str
version_added: "3.7"
description: description:
description: description:
- The description to use for the team. - The description to use for the team.
required: False
type: str type: str
organization: organization:
description: description:
@@ -53,6 +55,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''
@@ -75,7 +78,7 @@ def main():
argument_spec = dict( argument_spec = dict(
name=dict(required=True), name=dict(required=True),
new_name=dict(required=False), new_name=dict(required=False),
description=dict(), description=dict(required=False),
organization=dict(required=True), organization=dict(required=True),
state=dict(choices=['present', 'absent'], default='present'), state=dict(choices=['present', 'absent'], default='present'),
) )

View File

@@ -66,6 +66,7 @@ options:
- The Tower OAuth token to use. - The Tower OAuth token to use.
required: False required: False
type: str type: str
version_added: "3.7"
extends_documentation_fragment: awx.awx.auth extends_documentation_fragment: awx.awx.auth
''' '''