1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00

Merge pull request #4626 from ryanpetrello/more-cli-doc-examples

cli: add support for loading JSON/YAML w/ the ansible-like @ syntax

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
softwarefactory-project-zuul[bot] 2019-09-03 13:09:29 +00:00 committed by GitHub
commit 45f9457abe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 11 deletions

View File

@ -44,17 +44,10 @@ the output of) a playbook from that repository:
-f jq --filter '.id')
awx job_templates launch $TEMPLATE_ID --monitor
Importing an SSH Key
--------------------
DOCUMENT ME
Creating a Job Template with Extra Vars
Updating a Job Template with Extra Vars
---------------------------------------
DOCUMENT ME
.. code:: bash
Granting Membership to a Team or Organization
---------------------------------------------
DOCUMENT ME
awx job_templates modify 1 --extra_vars "@vars.yml"
awx job_templates modify 1 --extra_vars "@vars.json"

View File

@ -80,6 +80,8 @@ class ResourceOptionsParser(object):
continue
def json_or_yaml(v):
if v.startswith('@'):
v = open(v[1:]).read()
try:
return json.loads(v)
except Exception:
@ -124,6 +126,15 @@ class ResourceOptionsParser(object):
if param['type'] == 'id' and not kwargs.get('help'):
kwargs['help'] = 'the ID of the associated {}'.format(k)
if param['type'] == 'json' and method != 'list':
help_parts = []
if kwargs.get('help'):
help_parts.append(kwargs['help'])
else:
help_parts.append('a JSON or YAML string.')
help_parts.append('You can optionally specify a file path e.g., @path/to/file.yml')
kwargs['help'] = ' '.join(help_parts)
# SPECIAL CUSTOM LOGIC GOES HERE :'(
# There are certain requirements that aren't captured well by our
# HTTP OPTIONS due to $reasons