github.com/tmlbl/deis@v1.0.2/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  )