mirror of
https://github.com/ansible/awx.git
synced 2026-02-02 18:18:12 -03:30
Merge branch 'devel' into feature_constructed-inventory
This commit is contained in:
@@ -129,7 +129,7 @@ def main():
|
||||
diff_mode=dict(type='bool'),
|
||||
wait=dict(default=False, type='bool'),
|
||||
interval=dict(default=2.0, type='float'),
|
||||
timeout=dict(default=None, type='int'),
|
||||
timeout=dict(type='int'),
|
||||
execution_environment=dict(),
|
||||
)
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ def main():
|
||||
organization=dict(),
|
||||
credential=dict(),
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
# NOTE: Default for pull differs from API (which is blank by default)
|
||||
pull=dict(choices=['always', 'missing', 'never'], default='missing'),
|
||||
)
|
||||
|
||||
|
||||
@@ -43,7 +43,6 @@ options:
|
||||
description:
|
||||
- If the host should be enabled.
|
||||
type: bool
|
||||
default: 'yes'
|
||||
variables:
|
||||
description:
|
||||
- Variables to use for the host.
|
||||
@@ -82,7 +81,7 @@ def main():
|
||||
new_name=dict(),
|
||||
description=dict(),
|
||||
inventory=dict(required=True),
|
||||
enabled=dict(type='bool', default=True),
|
||||
enabled=dict(type='bool'),
|
||||
variables=dict(type='dict'),
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
)
|
||||
|
||||
@@ -41,31 +41,26 @@ options:
|
||||
- Signifies that this InstanceGroup should act as a ContainerGroup. If no credential is specified, the underlying Pod's ServiceAccount will be used.
|
||||
required: False
|
||||
type: bool
|
||||
default: False
|
||||
policy_instance_percentage:
|
||||
description:
|
||||
- Minimum percentage of all instances that will be automatically assigned to this group when new instances come online.
|
||||
required: False
|
||||
type: int
|
||||
default: '0'
|
||||
policy_instance_minimum:
|
||||
description:
|
||||
- Static minimum number of Instances that will be automatically assign to this group when new instances come online.
|
||||
required: False
|
||||
type: int
|
||||
default: '0'
|
||||
max_concurrent_jobs:
|
||||
description:
|
||||
- Maximum number of concurrent jobs to run on this group. Zero means no limit.
|
||||
required: False
|
||||
type: int
|
||||
default: '0'
|
||||
max_forks:
|
||||
description:
|
||||
- Max forks to execute on this group. Zero means no limit.
|
||||
required: False
|
||||
type: int
|
||||
default: '0'
|
||||
policy_instance_list:
|
||||
description:
|
||||
- List of exact-match Instances that will be assigned to this group
|
||||
@@ -104,14 +99,14 @@ def main():
|
||||
name=dict(required=True),
|
||||
new_name=dict(),
|
||||
credential=dict(),
|
||||
is_container_group=dict(type='bool', default=False),
|
||||
policy_instance_percentage=dict(type='int', default='0'),
|
||||
policy_instance_minimum=dict(type='int', default='0'),
|
||||
max_concurrent_jobs=dict(type='int', default='0'),
|
||||
max_forks=dict(type='int', default='0'),
|
||||
is_container_group=dict(type='bool'),
|
||||
policy_instance_percentage=dict(type='int'),
|
||||
policy_instance_minimum=dict(type='int'),
|
||||
max_concurrent_jobs=dict(type='int'),
|
||||
max_forks=dict(type='int'),
|
||||
policy_instance_list=dict(type='list', elements='str'),
|
||||
pod_spec_override=dict(),
|
||||
instances=dict(required=False, type="list", elements='str', default=None),
|
||||
instances=dict(required=False, type="list", elements='str'),
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
)
|
||||
|
||||
|
||||
@@ -54,7 +54,6 @@ options:
|
||||
kind:
|
||||
description:
|
||||
- The kind field. Cannot be modified after created.
|
||||
default: ""
|
||||
choices: ["", "smart"]
|
||||
type: str
|
||||
host_filter:
|
||||
@@ -112,7 +111,7 @@ def main():
|
||||
description=dict(),
|
||||
organization=dict(required=True),
|
||||
variables=dict(type='dict'),
|
||||
kind=dict(choices=['', 'smart'], default=''),
|
||||
kind=dict(choices=['', 'smart']),
|
||||
host_filter=dict(),
|
||||
instance_groups=dict(type="list", elements='str'),
|
||||
prevent_instance_group_fallback=dict(type='bool'),
|
||||
|
||||
@@ -94,7 +94,7 @@ def main():
|
||||
organization=dict(),
|
||||
wait=dict(default=False, type='bool'),
|
||||
interval=dict(default=2.0, type='float'),
|
||||
timeout=dict(default=None, type='int'),
|
||||
timeout=dict(type='int'),
|
||||
)
|
||||
|
||||
# Create a module for ourselves
|
||||
|
||||
@@ -180,10 +180,10 @@ def main():
|
||||
argument_spec = dict(
|
||||
name=dict(required=True, aliases=['job_template']),
|
||||
job_type=dict(choices=['run', 'check']),
|
||||
inventory=dict(default=None),
|
||||
inventory=dict(),
|
||||
organization=dict(),
|
||||
# Credentials will be a str instead of a list for backwards compatability
|
||||
credentials=dict(type='list', default=None, aliases=['credential'], elements='str'),
|
||||
credentials=dict(type='list', aliases=['credential'], elements='str'),
|
||||
limit=dict(),
|
||||
tags=dict(type='list', elements='str'),
|
||||
extra_vars=dict(type='dict'),
|
||||
@@ -200,7 +200,7 @@ def main():
|
||||
job_timeout=dict(type='int'),
|
||||
wait=dict(default=False, type='bool'),
|
||||
interval=dict(default=2.0, type='float'),
|
||||
timeout=dict(default=None, type='int'),
|
||||
timeout=dict(type='int'),
|
||||
)
|
||||
|
||||
# Create a module for ourselves
|
||||
|
||||
@@ -109,7 +109,6 @@ options:
|
||||
description:
|
||||
- Control the output level Ansible produces as the playbook runs. 0 - Normal, 1 - Verbose, 2 - More Verbose, 3 - Debug, 4 - Connection Debug.
|
||||
choices: [0, 1, 2, 3, 4]
|
||||
default: 0
|
||||
type: int
|
||||
extra_vars:
|
||||
description:
|
||||
@@ -123,7 +122,6 @@ options:
|
||||
description:
|
||||
- Enable forcing playbook handlers to run even if a task fails.
|
||||
type: bool
|
||||
default: 'no'
|
||||
aliases:
|
||||
- force_handlers_enabled
|
||||
skip_tags:
|
||||
@@ -271,7 +269,6 @@ options:
|
||||
description:
|
||||
- The number of jobs to slice into at runtime. Will cause the Job Template to launch a workflow if value is greater than 1.
|
||||
type: int
|
||||
default: '1'
|
||||
webhook_service:
|
||||
description:
|
||||
- Service that webhook requests will be accepted from
|
||||
@@ -407,13 +404,13 @@ def main():
|
||||
instance_groups=dict(type="list", elements='str'),
|
||||
forks=dict(type='int'),
|
||||
limit=dict(),
|
||||
verbosity=dict(type='int', choices=[0, 1, 2, 3, 4], default=0),
|
||||
verbosity=dict(type='int', choices=[0, 1, 2, 3, 4]),
|
||||
extra_vars=dict(type='dict'),
|
||||
job_tags=dict(),
|
||||
force_handlers=dict(type='bool', default=False, aliases=['force_handlers_enabled']),
|
||||
force_handlers=dict(type='bool', aliases=['force_handlers_enabled']),
|
||||
skip_tags=dict(),
|
||||
start_at_task=dict(),
|
||||
timeout=dict(type='int', default=0),
|
||||
timeout=dict(type='int'),
|
||||
use_fact_cache=dict(type='bool', aliases=['fact_caching_enabled']),
|
||||
host_config_key=dict(no_log=False),
|
||||
ask_diff_mode_on_launch=dict(type='bool', aliases=['ask_diff_mode']),
|
||||
@@ -438,7 +435,7 @@ def main():
|
||||
allow_simultaneous=dict(type='bool', aliases=['concurrent_jobs_enabled']),
|
||||
scm_branch=dict(),
|
||||
ask_scm_branch_on_launch=dict(type='bool'),
|
||||
job_slice_count=dict(type='int', default='1'),
|
||||
job_slice_count=dict(type='int'),
|
||||
webhook_service=dict(choices=['github', 'gitlab', '']),
|
||||
webhook_credential=dict(),
|
||||
labels=dict(type="list", elements='str'),
|
||||
|
||||
@@ -47,7 +47,6 @@ options:
|
||||
max_hosts:
|
||||
description:
|
||||
- The max hosts allowed in this organizations
|
||||
default: "0"
|
||||
type: int
|
||||
state:
|
||||
description:
|
||||
@@ -124,7 +123,7 @@ def main():
|
||||
description=dict(),
|
||||
default_environment=dict(),
|
||||
custom_virtualenv=dict(),
|
||||
max_hosts=dict(type='int', default="0"),
|
||||
max_hosts=dict(type='int'),
|
||||
instance_groups=dict(type="list", elements='str'),
|
||||
notification_templates_started=dict(type="list", elements='str'),
|
||||
notification_templates_success=dict(type="list", elements='str'),
|
||||
|
||||
@@ -46,7 +46,6 @@ options:
|
||||
description:
|
||||
- Type of SCM resource.
|
||||
choices: ["manual", "git", "svn", "insights", "archive"]
|
||||
default: "manual"
|
||||
type: str
|
||||
scm_url:
|
||||
description:
|
||||
@@ -74,28 +73,23 @@ options:
|
||||
description:
|
||||
- Remove local modifications before updating.
|
||||
type: bool
|
||||
default: 'no'
|
||||
scm_delete_on_update:
|
||||
description:
|
||||
- Remove the repository completely before updating.
|
||||
type: bool
|
||||
default: 'no'
|
||||
scm_track_submodules:
|
||||
description:
|
||||
- Track submodules latest commit on specified branch.
|
||||
type: bool
|
||||
default: 'no'
|
||||
scm_update_on_launch:
|
||||
description:
|
||||
- Before an update to the local repository before launching a job with this project.
|
||||
type: bool
|
||||
default: 'no'
|
||||
scm_update_cache_timeout:
|
||||
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.
|
||||
type: int
|
||||
default: 0
|
||||
allow_override:
|
||||
description:
|
||||
- Allow changing the SCM branch or revision in a job template that uses this project.
|
||||
@@ -107,7 +101,6 @@ options:
|
||||
- The amount of time (in seconds) to run before the SCM Update is canceled. A value of 0 means no timeout.
|
||||
- If waiting for the project to update this will abort after this
|
||||
amount of seconds
|
||||
default: 0
|
||||
type: int
|
||||
aliases:
|
||||
- job_timeout
|
||||
@@ -260,19 +253,19 @@ def main():
|
||||
new_name=dict(),
|
||||
copy_from=dict(),
|
||||
description=dict(),
|
||||
scm_type=dict(choices=['manual', 'git', 'svn', 'insights', 'archive'], default='manual'),
|
||||
scm_type=dict(choices=['manual', 'git', 'svn', 'insights', 'archive']),
|
||||
scm_url=dict(),
|
||||
local_path=dict(),
|
||||
scm_branch=dict(),
|
||||
scm_refspec=dict(),
|
||||
credential=dict(aliases=['scm_credential']),
|
||||
scm_clean=dict(type='bool', default=False),
|
||||
scm_delete_on_update=dict(type='bool', default=False),
|
||||
scm_track_submodules=dict(type='bool', default=False),
|
||||
scm_update_on_launch=dict(type='bool', default=False),
|
||||
scm_update_cache_timeout=dict(type='int', default=0),
|
||||
scm_clean=dict(type='bool'),
|
||||
scm_delete_on_update=dict(type='bool'),
|
||||
scm_track_submodules=dict(type='bool'),
|
||||
scm_update_on_launch=dict(type='bool'),
|
||||
scm_update_cache_timeout=dict(type='int'),
|
||||
allow_override=dict(type='bool', aliases=['scm_allow_override']),
|
||||
timeout=dict(type='int', default=0, aliases=['job_timeout']),
|
||||
timeout=dict(type='int', aliases=['job_timeout']),
|
||||
default_environment=dict(),
|
||||
custom_virtualenv=dict(),
|
||||
organization=dict(),
|
||||
@@ -336,12 +329,6 @@ def main():
|
||||
# If the state was absent we can let the module delete it if needed, the module will handle exiting from this
|
||||
module.delete_if_needed(project)
|
||||
|
||||
if credential is not None:
|
||||
credential = module.resolve_name_to_id('credentials', credential)
|
||||
|
||||
if signature_validation_credential is not None:
|
||||
signature_validation_credential = module.resolve_name_to_id('credentials', signature_validation_credential)
|
||||
|
||||
# Attempt to look up associated field items the user specified.
|
||||
association_fields = {}
|
||||
|
||||
@@ -366,20 +353,18 @@ def main():
|
||||
# Create the data that gets sent for create and update
|
||||
project_fields = {
|
||||
'name': new_name if new_name else (module.get_item_name(project) if project else name),
|
||||
'scm_type': scm_type,
|
||||
'organization': org_id,
|
||||
'scm_update_on_launch': scm_update_on_launch,
|
||||
'scm_update_cache_timeout': scm_update_cache_timeout,
|
||||
'signature_validation_credential': signature_validation_credential,
|
||||
}
|
||||
|
||||
for field_name in (
|
||||
'scm_type',
|
||||
'scm_url',
|
||||
'scm_branch',
|
||||
'scm_refspec',
|
||||
'scm_clean',
|
||||
'scm_delete_on_update',
|
||||
"scm_track_submodules",
|
||||
'scm_track_submodules',
|
||||
'scm_update_on_launch',
|
||||
'scm_update_cache_timeout',
|
||||
'timeout',
|
||||
'scm_update_cache_timeout',
|
||||
'custom_virtualenv',
|
||||
@@ -390,15 +375,22 @@ def main():
|
||||
if field_val is not None:
|
||||
project_fields[field_name] = field_val
|
||||
|
||||
if credential is not None:
|
||||
project_fields['credential'] = credential
|
||||
if default_ee is not None:
|
||||
project_fields['default_environment'] = module.resolve_name_to_id('execution_environments', default_ee)
|
||||
if scm_type == '':
|
||||
if local_path is not None:
|
||||
for variable, field, endpoint in (
|
||||
(default_ee, 'default_environment', 'execution_environments'),
|
||||
(credential, 'credential', 'credentials'),
|
||||
(signature_validation_credential, 'signature_validation_credential', 'credentials'),
|
||||
):
|
||||
if variable is not None:
|
||||
project_fields[field] = module.resolve_name_to_id(endpoint, variable)
|
||||
|
||||
if org_id is not None:
|
||||
# this is resolved earlier, so save an API call and don't do it again in the loop above
|
||||
project_fields['organization'] = org_id
|
||||
|
||||
if scm_type == '' and local_path is not None:
|
||||
project_fields['local_path'] = local_path
|
||||
|
||||
if scm_update_cache_timeout != 0 and scm_update_on_launch is not True:
|
||||
if scm_update_cache_timeout not in (0, 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')
|
||||
|
||||
# If we are doing a not manual project, register our on_change method
|
||||
|
||||
@@ -87,7 +87,7 @@ def main():
|
||||
organization=dict(),
|
||||
wait=dict(default=True, type='bool'),
|
||||
interval=dict(default=2.0, type='float'),
|
||||
timeout=dict(default=None, type='int'),
|
||||
timeout=dict(type='int'),
|
||||
)
|
||||
|
||||
# Create a module for ourselves
|
||||
|
||||
@@ -17,7 +17,7 @@ module: subscriptions
|
||||
author: "John Westcott IV (@john-westcott-iv)"
|
||||
short_description: Get subscription list
|
||||
description:
|
||||
- Get subscriptions available to Automation Platform Controller. See
|
||||
- Get subscriptions available to Automation Platform Controller. See
|
||||
U(https://www.ansible.com/tower) for an overview.
|
||||
options:
|
||||
username:
|
||||
|
||||
@@ -45,7 +45,6 @@ options:
|
||||
- Allowed scopes, further restricts user's permissions. Must be a simple space-separated string with allowed scopes ['read', 'write'].
|
||||
required: False
|
||||
type: str
|
||||
default: 'write'
|
||||
choices: ["read", "write"]
|
||||
existing_token:
|
||||
description: The data structure produced from token in create mode to be used with state absent.
|
||||
@@ -135,7 +134,7 @@ def main():
|
||||
argument_spec = dict(
|
||||
description=dict(),
|
||||
application=dict(),
|
||||
scope=dict(choices=['read', 'write'], default='write'),
|
||||
scope=dict(choices=['read', 'write']),
|
||||
existing_token=dict(type='dict', no_log=False),
|
||||
existing_token_id=dict(),
|
||||
state=dict(choices=['present', 'absent'], default='present'),
|
||||
|
||||
@@ -50,13 +50,11 @@ options:
|
||||
description:
|
||||
- Designates that this user has all permissions without explicitly assigning them.
|
||||
type: bool
|
||||
default: False
|
||||
aliases: ['superuser']
|
||||
is_system_auditor:
|
||||
description:
|
||||
- User is a system wide auditor.
|
||||
type: bool
|
||||
default: False
|
||||
aliases: ['auditor']
|
||||
password:
|
||||
description:
|
||||
@@ -134,8 +132,8 @@ def main():
|
||||
first_name=dict(),
|
||||
last_name=dict(),
|
||||
email=dict(),
|
||||
is_superuser=dict(type='bool', default=False, aliases=['superuser']),
|
||||
is_system_auditor=dict(type='bool', default=False, aliases=['auditor']),
|
||||
is_superuser=dict(type='bool', aliases=['superuser']),
|
||||
is_system_auditor=dict(type='bool', aliases=['auditor']),
|
||||
password=dict(no_log=True),
|
||||
update_secrets=dict(type='bool', default=True, no_log=False),
|
||||
organization=dict(),
|
||||
|
||||
@@ -105,7 +105,7 @@ def main():
|
||||
extra_vars=dict(type='dict'),
|
||||
wait=dict(required=False, default=True, type='bool'),
|
||||
interval=dict(required=False, default=2.0, type='float'),
|
||||
timeout=dict(required=False, default=None, type='int'),
|
||||
timeout=dict(required=False, type='int'),
|
||||
)
|
||||
|
||||
# Create a module for ourselves
|
||||
|
||||
@@ -20,7 +20,7 @@ DOCUMENTATION = """
|
||||
---
|
||||
module: workflow_node_wait
|
||||
author: "Sean Sullivan (@sean-m-sullivan)"
|
||||
short_description: Approve an approval node in a workflow job.
|
||||
short_description: Wait for a workflow node to finish.
|
||||
description:
|
||||
- Approve an approval node in a workflow job. See
|
||||
U(https://www.ansible.com/tower) for an overview.
|
||||
@@ -43,7 +43,7 @@ options:
|
||||
type: float
|
||||
timeout:
|
||||
description:
|
||||
- Maximum time in seconds to wait for a workflow job to to reach approval node.
|
||||
- Maximum time in seconds to wait for a workflow job to reach approval node.
|
||||
default: 10
|
||||
type: int
|
||||
extends_documentation_fragment: awx.awx.auth
|
||||
|
||||
Reference in New Issue
Block a user