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