clean up API markdown docs

This commit is contained in:
Ryan Petrello
2018-02-02 13:00:54 -05:00
parent 57c22c20b2
commit ac7c5f8648
16 changed files with 61 additions and 17 deletions

View File

@@ -217,7 +217,7 @@ class APIView(views.APIView):
context['deprecated'] = True context['deprecated'] = True
description = render_to_string(template_list, context) description = render_to_string(template_list, context)
if context.get('deprecated'): if context.get('deprecated') and context.get('swagger_method') is None:
# render deprecation messages at the very top # render deprecation messages at the very top
description = '\n'.join([render_to_string('api/_deprecated.md', context), description]) description = '\n'.join([render_to_string('api/_deprecated.md', context), description])
return description return description

View File

@@ -0,0 +1,3 @@
Relaunch an Ad Hoc Command:
Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint.

View File

@@ -1,4 +1,5 @@
Site configuration settings and general information. {% ifmeth GET %}
# Site configuration settings and general information
Make a GET request to this resource to retrieve the configuration containing Make a GET request to this resource to retrieve the configuration containing
the following fields (some fields may not be visible to all users): the following fields (some fields may not be visible to all users):
@@ -11,6 +12,10 @@ the following fields (some fields may not be visible to all users):
* `license_info`: Information about the current license. * `license_info`: Information about the current license.
* `version`: Version of Ansible Tower package installed. * `version`: Version of Ansible Tower package installed.
* `eula`: The current End-User License Agreement * `eula`: The current End-User License Agreement
{% endifmeth %}
{% ifmeth POST %}
# Install or update an existing license
(_New in Ansible Tower 2.0.0_) Make a POST request to this resource as a super (_New in Ansible Tower 2.0.0_) Make a POST request to this resource as a super
user to install or update the existing license. The license data itself can user to install or update the existing license. The license data itself can
@@ -18,3 +23,11 @@ be POSTed as a normal json data structure.
(_New in Ansible Tower 2.1.1_) The POST must include a `eula_accepted` boolean (_New in Ansible Tower 2.1.1_) The POST must include a `eula_accepted` boolean
element indicating acceptance of the End-User License Agreement. element indicating acceptance of the End-User License Agreement.
{% endifmeth %}
{% ifmeth DELETE %}
# Delete an existing license
(_New in Ansible Tower 2.0.0_) Make a DELETE request to this resource as a super
user to delete the existing license
{% endifmeth %}

View File

@@ -1,3 +1,5 @@
{% ifmeth POST %}
# Generate an Auth Token
Make a POST request to this resource with `username` and `password` fields to Make a POST request to this resource with `username` and `password` fields to
obtain an authentication token to use for subsequent requests. obtain an authentication token to use for subsequent requests.
@@ -32,6 +34,10 @@ agent that originally obtained it.
Each request that uses the token for authentication will refresh its expiration Each request that uses the token for authentication will refresh its expiration
timestamp and keep it from expiring. A token only expires when it is not used timestamp and keep it from expiring. A token only expires when it is not used
for the configured timeout interval (default 1800 seconds). for the configured timeout interval (default 1800 seconds).
{% endifmeth %}
A DELETE request with the token set will cause the token to be invalidated and {% ifmeth DELETE %}
no further requests can be made with it. # Delete an Auth Token
A DELETE request with the token header set will cause the token to be
invalidated and no further requests can be made with it.
{% endifmeth %}

View File

@@ -1,3 +1,5 @@
# View Statistics for Job Runs
Make a GET request to this resource to retrieve aggregate statistics about job runs suitable for graphing. Make a GET request to this resource to retrieve aggregate statistics about job runs suitable for graphing.
## Parmeters and Filtering ## Parmeters and Filtering

View File

@@ -1,3 +1,4 @@
{% ifmeth GET %}
# List Root {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}: # List Root {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}:
Make a GET request to this resource to retrieve a list of root (top-level) Make a GET request to this resource to retrieve a list of root (top-level)
@@ -5,3 +6,4 @@ Make a GET request to this resource to retrieve a list of root (top-level)
{{ parent_model_verbose_name }}. {{ parent_model_verbose_name }}.
{% include "api/_list_common.md" %} {% include "api/_list_common.md" %}
{% endifmeth %}

View File

@@ -1,10 +1,15 @@
# Cancel Job {% ifmeth GET %}
# Determine if a Job can be cancelled
Make a GET request to this resource to determine if the job can be cancelled. Make a GET request to this resource to determine if the job can be cancelled.
The response will include the following field: The response will include the following field:
* `can_cancel`: Indicates whether this job can be canceled (boolean, read-only) * `can_cancel`: Indicates whether this job can be canceled (boolean, read-only)
{% endifmeth %}
{% ifmeth POST %}
# Cancel a Job
Make a POST request to this resource to cancel a pending or running job. The Make a POST request to this resource to cancel a pending or running job. The
response status code will be 202 if successful, or 405 if the job cannot be response status code will be 202 if successful, or 405 if the job cannot be
canceled. canceled.
{% endifmeth %}

View File

@@ -1,3 +1,3 @@
Relaunch a job: Relaunch a Job:
Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint. Make a POST request to this resource to launch a job. If any passwords or variables are required then they should be passed in via POST data. In order to determine what values are required in order to launch a job based on this job template you may make a GET request to this endpoint.

View File

@@ -1,4 +1,5 @@
# Start Job {% ifmeth GET %}
# Determine if a Job can be started
Make a GET request to this resource to determine if the job can be started and Make a GET request to this resource to determine if the job can be started and
whether any passwords are required to start the job. The response will include whether any passwords are required to start the job. The response will include
@@ -7,10 +8,14 @@ the following fields:
* `can_start`: Flag indicating if this job can be started (boolean, read-only) * `can_start`: Flag indicating if this job can be started (boolean, read-only)
* `passwords_needed_to_start`: Password names required to start the job (array, * `passwords_needed_to_start`: Password names required to start the job (array,
read-only) read-only)
{% endifmeth %}
{% ifmeth POST %}
# Start a Job
Make a POST request to this resource to start the job. If any passwords are Make a POST request to this resource to start the job. If any passwords are
required, they must be passed via POST data. required, they must be passed via POST data.
If successful, the response status code will be 202. If any required passwords If successful, the response status code will be 202. If any required passwords
are not provided, a 400 status code will be returned. If the job cannot be are not provided, a 400 status code will be returned. If the job cannot be
started, a 405 status code will be returned. started, a 405 status code will be returned.
{% endifmeth %}

View File

@@ -1,3 +1,4 @@
{% ifmeth GET %}
# List {{ model_verbose_name_plural|title }}: # List {{ model_verbose_name_plural|title }}:
Make a GET request to this resource to retrieve the list of Make a GET request to this resource to retrieve the list of
@@ -6,3 +7,4 @@ Make a GET request to this resource to retrieve the list of
{% include "api/_list_common.md" %} {% include "api/_list_common.md" %}
{% include "api/_new_in_awx.md" %} {% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,6 +1,6 @@
{% include "api/list_api_view.md" %} {% include "api/list_api_view.md" %}
# Create {{ model_verbose_name_plural|title }}: # Create {{ model_verbose_name|title|anora }}:
Make a POST request to this resource with the following {{ model_verbose_name }} Make a POST request to this resource with the following {{ model_verbose_name }}
fields to create a new {{ model_verbose_name }}: fields to create a new {{ model_verbose_name }}:

View File

@@ -2,15 +2,19 @@
### Note: starting from api v2, this resource object can be accessed via its named URL. ### Note: starting from api v2, this resource object can be accessed via its named URL.
{% endif %} {% endif %}
{% ifmeth GET %}
# Retrieve {{ model_verbose_name|title|anora }}: # Retrieve {{ model_verbose_name|title|anora }}:
Make GET request to this resource to retrieve a single {{ model_verbose_name }} Make GET request to this resource to retrieve a single {{ model_verbose_name }}
record containing the following fields: record containing the following fields:
{% include "api/_result_fields_common.md" %} {% include "api/_result_fields_common.md" %}
{% endifmeth %}
{% ifmeth DELETE %}
# Delete {{ model_verbose_name|title|anora }}: # Delete {{ model_verbose_name|title|anora }}:
Make a DELETE request to this resource to delete this {{ model_verbose_name }}. Make a DELETE request to this resource to delete this {{ model_verbose_name }}.
{% endifmeth %}
{% include "api/_new_in_awx.md" %} {% include "api/_new_in_awx.md" %}

View File

@@ -0,0 +1 @@
# Test Logging Configuration

View File

@@ -6,6 +6,5 @@ Make a GET request to this resource to retrieve a list of
{{ parent_model_verbose_name }}. {{ parent_model_verbose_name }}.
{% include "api/_list_common.md" %} {% include "api/_list_common.md" %}
{% endifmeth %}
{% include "api/_new_in_awx.md" %} {% include "api/_new_in_awx.md" %}
{% endifmeth %}

View File

@@ -1,6 +1,6 @@
{% include "api/sub_list_api_view.md" %} {% include "api/sub_list_api_view.md" %}
# Create {{ model_verbose_name_plural|title }} for {{ parent_model_verbose_name|title|anora }}: # Create {{ model_verbose_name|title|anora }} for {{ parent_model_verbose_name|title|anora }}:
Make a POST request to this resource with the following {{ model_verbose_name }} Make a POST request to this resource with the following {{ model_verbose_name }}
fields to create a new {{ model_verbose_name }} associated with this fields to create a new {{ model_verbose_name }} associated with this

View File

@@ -192,7 +192,7 @@ class ApiRootView(APIView):
swagger_topic = 'Versioning' swagger_topic = 'Versioning'
def get(self, request, format=None): def get(self, request, format=None):
''' list supported API versions ''' ''' List supported API versions '''
v1 = reverse('api:api_v1_root_view', kwargs={'version': 'v1'}) v1 = reverse('api:api_v1_root_view', kwargs={'version': 'v1'})
v2 = reverse('api:api_v2_root_view', kwargs={'version': 'v2'}) v2 = reverse('api:api_v2_root_view', kwargs={'version': 'v2'})
@@ -214,7 +214,7 @@ class ApiVersionRootView(APIView):
swagger_topic = 'Versioning' swagger_topic = 'Versioning'
def get(self, request, format=None): def get(self, request, format=None):
''' list top level resources ''' ''' List top level resources '''
data = OrderedDict() data = OrderedDict()
data['authtoken'] = reverse('api:auth_token_view', request=request) data['authtoken'] = reverse('api:auth_token_view', request=request)
data['ping'] = reverse('api:api_v1_ping_view', request=request) data['ping'] = reverse('api:api_v1_ping_view', request=request)
@@ -280,7 +280,7 @@ class ApiV1PingView(APIView):
swagger_topic = 'System Configuration' swagger_topic = 'System Configuration'
def get(self, request, format=None): def get(self, request, format=None):
"""Return some basic information about this instance. """Return some basic information about this instance
Everything returned here should be considered public / insecure, as Everything returned here should be considered public / insecure, as
this requires no auth and is intended for use by the installer process. this requires no auth and is intended for use by the installer process.
@@ -316,7 +316,7 @@ class ApiV1ConfigView(APIView):
self.permission_denied(request) # Raises PermissionDenied exception. self.permission_denied(request) # Raises PermissionDenied exception.
def get(self, request, format=None): def get(self, request, format=None):
'''Return various sitewide configuration settings.''' '''Return various sitewide configuration settings'''
if request.user.is_superuser or request.user.is_system_auditor: if request.user.is_superuser or request.user.is_system_auditor:
license_data = get_license(show_key=True) license_data = get_license(show_key=True)
@@ -754,11 +754,12 @@ class ScheduleUnifiedJobsList(SubListAPIView):
class AuthView(APIView): class AuthView(APIView):
''' List enabled single-sign-on endpoints '''
authentication_classes = [] authentication_classes = []
permission_classes = (AllowAny,) permission_classes = (AllowAny,)
new_in_240 = True new_in_240 = True
swagger_topic = 'Authentication' swagger_topic = 'System Configuration'
def get(self, request): def get(self, request):
from rest_framework.reverse import reverse from rest_framework.reverse import reverse
@@ -4780,6 +4781,7 @@ class NotificationTemplateDetail(RetrieveUpdateDestroyAPIView):
class NotificationTemplateTest(GenericAPIView): class NotificationTemplateTest(GenericAPIView):
'''Test a Notification Template'''
view_name = _('Notification Template Test') view_name = _('Notification Template Test')
model = NotificationTemplate model = NotificationTemplate