github.com/inflatablewoman/deis@v1.0.1-0.20141111034523-a4511c46a6ce/controller/api/urls.py (about) 1 from __future__ import unicode_literals 2 3 from django.conf import settings 4 from django.conf.urls import include 5 from django.conf.urls import patterns 6 from django.conf.urls import url 7 8 from api import routers 9 from api import views 10 11 12 router = routers.ApiRouter() 13 14 # Add the generated REST URLs and login/logout endpoint 15 urlpatterns = patterns( 16 '', 17 url(r'^', include(router.urls)), 18 # application release components 19 url(r'^apps/(?P<id>{})/config/?'.format(settings.APP_URL_REGEX), 20 views.AppConfigViewSet.as_view({'get': 'retrieve', 'post': 'create'})), 21 url(r'^apps/(?P<id>{})/builds/(?P<uuid>[-_\w]+)/?'.format(settings.APP_URL_REGEX), 22 views.AppBuildViewSet.as_view({'get': 'retrieve'})), 23 url(r'^apps/(?P<id>{})/builds/?'.format(settings.APP_URL_REGEX), 24 views.AppBuildViewSet.as_view({'get': 'list', 'post': 'create'})), 25 url(r'^apps/(?P<id>{})/releases/v(?P<version>[0-9]+)/?'.format(settings.APP_URL_REGEX), 26 views.AppReleaseViewSet.as_view({'get': 'retrieve'})), 27 url(r'^apps/(?P<id>{})/releases/rollback/?'.format(settings.APP_URL_REGEX), 28 views.AppReleaseViewSet.as_view({'post': 'rollback'})), 29 url(r'^apps/(?P<id>{})/releases/?'.format(settings.APP_URL_REGEX), 30 views.AppReleaseViewSet.as_view({'get': 'list'})), 31 # application infrastructure 32 url(r'^apps/(?P<id>{})/containers/(?P<type>[-_\w]+)/(?P<num>[-_\w]+)/?'.format( 33 settings.APP_URL_REGEX), 34 views.AppContainerViewSet.as_view({'get': 'retrieve'})), 35 url(r'^apps/(?P<id>{})/containers/(?P<type>[-_\w.]+)/?'.format(settings.APP_URL_REGEX), 36 views.AppContainerViewSet.as_view({'get': 'list'})), 37 url(r'^apps/(?P<id>{})/containers/?'.format(settings.APP_URL_REGEX), 38 views.AppContainerViewSet.as_view({'get': 'list'})), 39 # application domains 40 url(r'^apps/(?P<id>{})/domains/(?P<domain>[-\._\w]+)/?'.format(settings.APP_URL_REGEX), 41 views.DomainViewSet.as_view({'delete': 'destroy'})), 42 url(r'^apps/(?P<id>{})/domains/?'.format(settings.APP_URL_REGEX), 43 views.DomainViewSet.as_view({'post': 'create', 'get': 'list'})), 44 # application actions 45 url(r'^apps/(?P<id>{})/scale/?'.format(settings.APP_URL_REGEX), 46 views.AppViewSet.as_view({'post': 'scale'})), 47 url(r'^apps/(?P<id>{})/logs/?'.format(settings.APP_URL_REGEX), 48 views.AppViewSet.as_view({'get': 'logs'})), 49 url(r'^apps/(?P<id>{})/run/?'.format(settings.APP_URL_REGEX), 50 views.AppViewSet.as_view({'post': 'run'})), 51 # apps sharing 52 url(r'^apps/(?P<id>{})/perms/(?P<username>[-_\w]+)/?'.format(settings.APP_URL_REGEX), 53 views.AppPermsViewSet.as_view({'delete': 'destroy'})), 54 url(r'^apps/(?P<id>{})/perms/?'.format(settings.APP_URL_REGEX), 55 views.AppPermsViewSet.as_view({'get': 'list', 'post': 'create'})), 56 # apps base endpoint 57 url(r'^apps/(?P<id>{})/?'.format(settings.APP_URL_REGEX), 58 views.AppViewSet.as_view({'get': 'retrieve', 'delete': 'destroy'})), 59 url(r'^apps/?', 60 views.AppViewSet.as_view({'get': 'list', 'post': 'create'})), 61 # key 62 url(r'^keys/(?P<id>.+)/?', 63 views.KeyViewSet.as_view({ 64 'get': 'retrieve', 'delete': 'destroy'})), 65 url(r'^keys/?', 66 views.KeyViewSet.as_view({'get': 'list', 'post': 'create'})), 67 # hooks 68 url(r'^hooks/push/?', 69 views.PushHookViewSet.as_view({'post': 'create'})), 70 url(r'^hooks/build/?', 71 views.BuildHookViewSet.as_view({'post': 'create'})), 72 url(r'^hooks/config/?', 73 views.ConfigHookViewSet.as_view({'post': 'create'})), 74 # authn / authz 75 url(r'^auth/register/?', 76 views.UserRegistrationView.as_view({'post': 'create'})), 77 url(r'^auth/cancel/?', 78 views.UserManagementView.as_view({'delete': 'destroy'})), 79 url(r'^auth/passwd/?', 80 views.UserManagementView.as_view({'post': 'passwd'})), 81 url(r'^auth/login/', 82 'rest_framework.authtoken.views.obtain_auth_token'), 83 # admin sharing 84 url(r'^admin/perms/(?P<username>[-_\w]+)/?', 85 views.AdminPermsViewSet.as_view({'delete': 'destroy'})), 86 url(r'^admin/perms/?', 87 views.AdminPermsViewSet.as_view({'get': 'list', 'post': 'create'})), 88 )