-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathurls.py
More file actions
88 lines (79 loc) · 3.63 KB
/
urls.py
File metadata and controls
88 lines (79 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
"""
URL routing patterns for the Deis API app.
"""
# pylint: disable=C0103
from __future__ import unicode_literals
from django.conf.urls import include
from django.conf.urls import patterns
from django.conf.urls import url
from api import routers
from api import views
router = routers.ApiRouter()
# Add the generated REST URLs and login/logout endpoint
urlpatterns = patterns(
'',
url(r'^', include(router.urls)),
# key
url(r'^keys/(?P<id>.+)/?',
views.KeyViewSet.as_view({
'get': 'retrieve', 'delete': 'destroy'})),
url(r'^keys/?',
views.KeyViewSet.as_view({'post': 'create', 'get': 'list'})),
# provider
url(r'^providers/(?P<id>[a-z0-9-]+)/?',
views.ProviderViewSet.as_view({
'get': 'retrieve', 'patch': 'partial_update', 'delete': 'destroy'})),
url(r'^providers/?',
views.ProviderViewSet.as_view({'post': 'create', 'get': 'list'})),
# flavor
url(r'^flavors/(?P<id>[a-z0-9-]+)/?',
views.FlavorViewSet.as_view({
'get': 'retrieve', 'patch': 'partial_update', 'delete': 'destroy'})),
url(r'^flavors/?',
views.FlavorViewSet.as_view({'post': 'create', 'get': 'list'})),
# formation infrastructure
url(r'^formations/(?P<id>[a-z0-9-]+)/layers/(?P<layer>[a-z0-9-]+)/?',
views.FormationLayerViewSet.as_view({
'get': 'retrieve', 'patch': 'partial_update', 'delete': 'destroy'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/layers/?',
views.FormationLayerViewSet.as_view({'post': 'create', 'get': 'list'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/nodes/(?P<node>[a-z0-9-]+)/?',
views.FormationNodeViewSet.as_view({
'get': 'retrieve', 'delete': 'destroy'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/nodes/?',
views.FormationNodeViewSet.as_view({'get': 'list'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/containers/?',
views.FormationContainerViewSet.as_view({'get': 'list'})),
# formation release components
url(r'^formations/(?P<id>[a-z0-9-]+)/config/?',
views.FormationConfigViewSet.as_view({'post': 'create', 'get': 'retrieve'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/image/?',
views.FormationImageViewSet.as_view({'post': 'reset_image'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/build/?',
views.FormationBuildViewSet.as_view({'post': 'create', 'get': 'retrieve'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/release/?',
views.FormationReleaseViewSet.as_view({'get': 'retrieve'})),
# formation actions
url(r'^formations/(?P<id>[a-z0-9-]+)/scale/layers/?',
views.FormationViewSet.as_view({'post': 'scale_layers'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/scale/containers/?',
views.FormationViewSet.as_view({'post': 'scale_containers'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/balance/?',
views.FormationViewSet.as_view({'post': 'balance'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/calculate/?',
views.FormationViewSet.as_view({'post': 'calculate'})),
url(r'^formations/(?P<id>[a-z0-9-]+)/converge/?',
views.FormationViewSet.as_view({'post': 'converge'})),
# formation base endpoint
url(r'^formations/(?P<id>[a-z0-9-]+)/?',
views.FormationViewSet.as_view({'get': 'retrieve', 'delete': 'destroy'})),
url(r'^formations/?',
views.FormationViewSet.as_view({'post': 'create', 'get': 'list'})),
# authn / authz
url(r'^auth/register/?',
views.UserRegistrationView.as_view({'post': 'create'})),
url(r'^auth/',
include('rest_framework.urls', namespace='rest_framework')),
url(r'^generate-api-key/',
'rest_framework.authtoken.views.obtain_auth_token'),
)