diff --git a/awx_collection/plugins/modules/tower_credential.py b/awx_collection/plugins/modules/tower_credential.py index 867916332d..e7b412b6c7 100644 --- a/awx_collection/plugins/modules/tower_credential.py +++ b/awx_collection/plugins/modules/tower_credential.py @@ -282,7 +282,7 @@ def main(): name=dict(required=True), user=dict(), team=dict(), - kind=dict(choices=KIND_CHOICES.keys()), + kind=dict(choices=list(KIND_CHOICES.keys())), credential_type=dict(), inputs=dict(type='dict'), host=dict(), diff --git a/awx_collection/plugins/modules/tower_credential_type.py b/awx_collection/plugins/modules/tower_credential_type.py index 5ba41f99ca..f3655841b3 100644 --- a/awx_collection/plugins/modules/tower_credential_type.py +++ b/awx_collection/plugins/modules/tower_credential_type.py @@ -109,7 +109,7 @@ def main(): argument_spec = dict( name=dict(required=True), description=dict(required=False), - kind=dict(required=False, choices=KIND_CHOICES.keys()), + kind=dict(required=False, choices=list(KIND_CHOICES.keys())), inputs=dict(type='dict', required=False), injectors=dict(type='dict', required=False), state=dict(choices=['present', 'absent'], default='present'), diff --git a/awx_collection/plugins/modules/tower_host.py b/awx_collection/plugins/modules/tower_host.py index a29d98aa25..a0d9a3e350 100644 --- a/awx_collection/plugins/modules/tower_host.py +++ b/awx_collection/plugins/modules/tower_host.py @@ -31,7 +31,7 @@ options: new_name: description: - To use when changing a hosts's name. - required: True + required: False type: str description: description: @@ -91,7 +91,7 @@ def main(): description=dict(default=''), inventory=dict(required=True), enabled=dict(type='bool', default=True), - variables=dict(type='dict', default=''), + variables=dict(type='dict', required=False), state=dict(choices=['present', 'absent'], default='present'), ) diff --git a/awx_collection/plugins/modules/tower_job_launch.py b/awx_collection/plugins/modules/tower_job_launch.py index b811d595d6..383300eba6 100644 --- a/awx_collection/plugins/modules/tower_job_launch.py +++ b/awx_collection/plugins/modules/tower_job_launch.py @@ -43,6 +43,7 @@ options: - Credential to use for job, only used if prompt for credential is set. type: list aliases: ['credential'] + elements: str extra_vars: description: - extra_vars to use for the Job Template. @@ -57,6 +58,7 @@ options: description: - Specific tags to use for from playbook. type: list + elements: str scm_branch: description: - A specific of the SCM project to run the template on. @@ -66,6 +68,7 @@ options: description: - Specific tags to skip from the playbook. type: list + elements: str verbosity: description: - Verbosity level for this job run @@ -137,12 +140,12 @@ def main(): job_type=dict(type='str', choices=['run', 'check']), inventory=dict(type='str', default=None), # Credentials will be a str instead of a list for backwards compatability - credentials=dict(type='list', default=None, aliases=['credential']), + credentials=dict(type='list', default=None, aliases=['credential'], elements='str'), limit=dict(), - tags=dict(type='list'), + tags=dict(type='list', elements='str'), extra_vars=dict(type='dict', required=False), scm_branch=dict(type='str', required=False), - skip_tags=dict(type='list', required=False), + skip_tags=dict(type='list', required=False, elements='str'), verbosity=dict(type='int', required=False, choices=[0, 1, 2, 3, 4, 5]), diff_mode=dict(type='bool', required=False), credential_passwords=dict(type='dict', required=False), diff --git a/awx_collection/plugins/modules/tower_job_template.py b/awx_collection/plugins/modules/tower_job_template.py index 0fbd2d8fe3..817bd6dc39 100644 --- a/awx_collection/plugins/modules/tower_job_template.py +++ b/awx_collection/plugins/modules/tower_job_template.py @@ -65,6 +65,7 @@ options: version_added: 2.8 type: list default: [] + elements: str vault_credential: description: - Name of the vault credential to use for the job template. @@ -338,7 +339,7 @@ def main(): credential=dict(default=''), vault_credential=dict(default=''), custom_virtualenv=dict(type='str', required=False), - credentials=dict(type='list', default=[]), + credentials=dict(type='list', default=[], elements='str'), forks=dict(type='int'), limit=dict(default=''), verbosity=dict(type='int', choices=[0, 1, 2, 3, 4], default=0), diff --git a/awx_collection/plugins/modules/tower_notification.py b/awx_collection/plugins/modules/tower_notification.py index ab79779915..fb384fd878 100644 --- a/awx_collection/plugins/modules/tower_notification.py +++ b/awx_collection/plugins/modules/tower_notification.py @@ -64,6 +64,7 @@ options: - The recipients email addresses. Required if I(notification_type=email). required: False type: list + elements: str use_tls: description: - The TLS trigger. Required if I(notification_type=email). @@ -94,6 +95,7 @@ options: - The destination Slack channels. Required if I(notification_type=slack). required: False type: list + elements: str token: description: - The access token. Required if I(notification_type=slack), if I(notification_type=pagerduty) or if I(notification_type=hipchat). @@ -114,6 +116,7 @@ options: - The destination phone numbers. Required if I(notification_type=twillio). required: False type: list + elements: str account_sid: description: - The Twillio account SID. Required if I(notification_type=twillio). @@ -155,6 +158,7 @@ options: - HipChat rooms to send the notification to. Required if I(notification_type=hipchat). required: False type: list + elements: str notify: description: - The notify channel trigger. Required if I(notification_type=hipchat). @@ -185,6 +189,7 @@ options: - The destination channels or users. Required if I(notification_type=irc). required: False type: list + elements: str state: description: - Desired state of the resource. @@ -319,17 +324,17 @@ def main(): notification_configuration=dict(required=False), username=dict(required=False), sender=dict(required=False), - recipients=dict(required=False, type='list'), + recipients=dict(required=False, type='list', elements='str'), use_tls=dict(required=False, type='bool'), host=dict(required=False), use_ssl=dict(required=False, type='bool'), password=dict(required=False, no_log=True), port=dict(required=False, type='int'), - channels=dict(required=False, type='list'), + channels=dict(required=False, type='list', elements='str'), token=dict(required=False, no_log=True), account_token=dict(required=False, no_log=True), from_number=dict(required=False), - to_numbers=dict(required=False, type='list'), + to_numbers=dict(required=False, type='list', elements='str'), account_sid=dict(required=False), subdomain=dict(required=False), service_key=dict(required=False, no_log=True), @@ -337,13 +342,13 @@ def main(): message_from=dict(required=False), api_url=dict(required=False), color=dict(required=False, choices=['yellow', 'green', 'red', 'purple', 'gray', 'random']), - rooms=dict(required=False, type='list'), + rooms=dict(required=False, type='list', elements='str'), notify=dict(required=False, type='bool'), url=dict(required=False), headers=dict(required=False, type='dict', default={}), server=dict(required=False), nickname=dict(required=False), - targets=dict(required=False, type='list'), + targets=dict(required=False, type='list', elements='str'), state=dict(choices=['present', 'absent'], default='present'), ) diff --git a/awx_collection/plugins/modules/tower_receive.py b/awx_collection/plugins/modules/tower_receive.py index 1e33f7f6a3..dfe6f4b08c 100644 --- a/awx_collection/plugins/modules/tower_receive.py +++ b/awx_collection/plugins/modules/tower_receive.py @@ -33,56 +33,67 @@ options: - List of organization names to export default: [] type: list + elements: str user: description: - List of user names to export default: [] type: list + elements: str team: description: - List of team names to export default: [] type: list + elements: str credential_type: description: - List of credential type names to export default: [] type: list + elements: str credential: description: - List of credential names to export default: [] type: list + elements: str notification_template: description: - List of notification template names to export default: [] type: list + elements: str inventory_script: description: - List of inventory script names to export default: [] type: list + elements: str inventory: description: - List of inventory names to export default: [] type: list + elements: str project: description: - List of project names to export default: [] type: list + elements: str job_template: description: - List of job template names to export default: [] type: list + elements: str workflow: description: - List of workflow names to export default: [] type: list + elements: str requirements: - "ansible-tower-cli >= 3.3.0" @@ -136,17 +147,17 @@ except ImportError: def main(): argument_spec = dict( all=dict(type='bool', default=False), - credential=dict(type='list', default=[]), - credential_type=dict(type='list', default=[]), - inventory=dict(type='list', default=[]), - inventory_script=dict(type='list', default=[]), - job_template=dict(type='list', default=[]), - notification_template=dict(type='list', default=[]), - organization=dict(type='list', default=[]), - project=dict(type='list', default=[]), - team=dict(type='list', default=[]), - user=dict(type='list', default=[]), - workflow=dict(type='list', default=[]), + credential=dict(type='list', default=[], elements='str'), + credential_type=dict(type='list', default=[], elements='str'), + inventory=dict(type='list', default=[], elements='str'), + inventory_script=dict(type='list', default=[], elements='str'), + job_template=dict(type='list', default=[], elements='str'), + notification_template=dict(type='list', default=[], elements='str'), + organization=dict(type='list', default=[], elements='str'), + project=dict(type='list', default=[], elements='str'), + team=dict(type='list', default=[], elements='str'), + user=dict(type='list', default=[], elements='str'), + workflow=dict(type='list', default=[], elements='str'), ) module = TowerModule(argument_spec=argument_spec, supports_check_mode=False) diff --git a/awx_collection/plugins/modules/tower_send.py b/awx_collection/plugins/modules/tower_send.py index 07334d5589..2deb763e45 100644 --- a/awx_collection/plugins/modules/tower_send.py +++ b/awx_collection/plugins/modules/tower_send.py @@ -35,12 +35,14 @@ options: required: False default: [] type: list + elements: str prevent: description: - A list of asset types to prevent import for required: false default: [] type: list + elements: str password_management: description: - The password management option to use. @@ -97,8 +99,8 @@ except ImportError: def main(): argument_spec = dict( assets=dict(required=False), - files=dict(required=False, default=[], type='list'), - prevent=dict(required=False, default=[], type='list'), + files=dict(required=False, default=[], type='list', elements='str'), + prevent=dict(required=False, default=[], type='list', elements='str'), password_management=dict(required=False, default='default', choices=['default', 'random']), ) diff --git a/awx_collection/plugins/modules/tower_team.py b/awx_collection/plugins/modules/tower_team.py index 1f14c38292..4838923c81 100644 --- a/awx_collection/plugins/modules/tower_team.py +++ b/awx_collection/plugins/modules/tower_team.py @@ -31,7 +31,7 @@ options: new_name: description: - To use when changing a team's name. - required: True + required: False type: str description: description: