From f18f3a339c6059f11418ef3a0f757d84aea11ede Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Thu, 25 Apr 2013 20:33:37 -0400 Subject: [PATCH] Add discoverability on /api/v1 to show available top level resources. --- lib/main/views.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/main/views.py b/lib/main/views.py index 8b0feff570..61c59f1228 100644 --- a/lib/main/views.py +++ b/lib/main/views.py @@ -39,6 +39,8 @@ from base_views import * class ApiRootView(APIView): def get(self, request, format=None): + ''' list supported API versions ''' + current = reverse(lib.urls.views_ApiV1RootView, args=[]) data = dict( description = 'Ansible Commander REST API', @@ -52,7 +54,19 @@ class ApiRootView(APIView): class ApiV1RootView(APIView): def get(self, request, format=None): - data = {} + ''' list top level resources ''' + + data = dict( + organizations = reverse(lib.urls.views_OrganizationsList, args=[]), + users = reverse(lib.urls.views_UsersList, args=[]), + projects = reverse(lib.urls.views_ProjectsList, args=[]), + teams = reverse(lib.urls.views_TeamsList, args=[]), + inventory = reverse(lib.urls.views_InventoryList, args=[]), + groups = reverse(lib.urls.views_GroupsList, args=[]), + hosts = reverse(lib.urls.views_HostsList, args=[]), + job_templates = reverse(lib.urls.views_JobTemplatesList, args=[]), + jobs = reverse(lib.urls.views_JobsList, args=[]), + ) return Response(data) class AuthTokenView(ObtainAuthToken):