urls.py 8.23 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# Copyright 2014 Budapest University of Technology and Economics (BME IK)
#
# This file is part of CIRCLE Cloud.
#
# CIRCLE is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# CIRCLE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along
# with CIRCLE.  If not, see <http://www.gnu.org/licenses/>.

18 19
from __future__ import absolute_import
from django.conf.urls import patterns, url, include
20

21
from vm.models import Instance
22
from .views import (
23
    AclUpdateView, FavouriteView, GroupAclUpdateView, GroupDelete,
24
    GroupDetailView, GroupList, IndexView,
25 26 27 28 29 30 31
    InstanceActivityDetail, LeaseCreate, LeaseDelete, LeaseDetail,
    MyPreferencesView, NodeAddTraitView, NodeCreate, NodeDelete,
    NodeDetailView, NodeFlushView, NodeGraphView, NodeList, NodeStatus,
    NotificationView, PortDelete, TemplateAclUpdateView, TemplateCreate,
    TemplateDelete, TemplateDetail, TemplateList, TransferOwnershipConfirmView,
    TransferOwnershipView, vm_activity, VmCreate, VmDelete, VmDetailView,
    VmDetailVncTokenView, VmGraphView, VmList, VmMassDelete, VmMigrateView,
32
    VmRenewView, DiskRemoveView, get_disk_download_status, InterfaceDeleteView,
33
    GroupRemoveAclUserView, GroupRemoveAclGroupView, GroupRemoveUserView,
34
    GroupCreate, GroupProfileUpdate,
35
    TemplateChoose,
36
    UserCreationView,
37
    get_vm_screenshot,
38
    ProfileView, toggle_use_gravatar, UnsubscribeFormView,
39
    UserKeyDelete, UserKeyDetail, UserKeyCreate,
40
    VmTraitsUpdate, VmRawDataUpdate
41
)
42

Kálmán Viktor committed
43 44
urlpatterns = patterns(
    '',
Kálmán Viktor committed
45
    url(r'^$', IndexView.as_view(), name="dashboard.index"),
46 47
    url(r'^lease/(?P<pk>\d+)/$', LeaseDetail.as_view(),
        name="dashboard.views.lease-detail"),
48 49
    url(r'^lease/create/$', LeaseCreate.as_view(),
        name="dashboard.views.lease-create"),
50 51
    url(r'^lease/delete/(?P<pk>\d+)/$', LeaseDelete.as_view(),
        name="dashboard.views.lease-delete"),
52

53 54
    url(r'^template/create/$', TemplateCreate.as_view(),
        name="dashboard.views.template-create"),
55 56
    url(r'^template/choose/$', TemplateChoose.as_view(),
        name="dashboard.views.template-choose"),
57 58
    url(r'template/(?P<pk>\d+)/acl/$', TemplateAclUpdateView.as_view(),
        name='dashboard.views.template-acl'),
59 60
    url(r'^template/(?P<pk>\d+)/$', TemplateDetail.as_view(),
        name='dashboard.views.template-detail'),
61 62
    url(r"^template/list/$", TemplateList.as_view(),
        name="dashboard.views.template-list"),
63 64
    url(r"^template/delete/(?P<pk>\d+)/$", TemplateDelete.as_view(),
        name="dashboard.views.template-delete"),
65

66
    url(r'^vm/(?P<pk>\d+)/op/', include('dashboard.vm.urls')),
67 68
    url(r'^vm/(?P<pk>\d+)/remove_port/(?P<rule>\d+)/$', PortDelete.as_view(),
        name='dashboard.views.remove-port'),
Kálmán Viktor committed
69 70
    url(r'^vm/(?P<pk>\d+)/$', VmDetailView.as_view(),
        name='dashboard.views.detail'),
71 72
    url(r'^vm/(?P<pk>\d+)/vnctoken/$', VmDetailVncTokenView.as_view(),
        name='dashboard.views.detail-vnc'),
73 74
    url(r'^vm/(?P<pk>\d+)/acl/$', AclUpdateView.as_view(model=Instance),
        name='dashboard.views.vm-acl'),
75 76
    url(r'^vm/(?P<pk>\d+)/tx/$', TransferOwnershipView.as_view(),
        name='dashboard.views.vm-transfer-ownership'),
Kálmán Viktor committed
77
    url(r'^vm/list/$', VmList.as_view(), name='dashboard.views.vm-list'),
78 79
    url(r'^vm/create/$', VmCreate.as_view(),
        name='dashboard.views.vm-create'),
80
    url(r'^vm/delete/(?P<pk>\d+)/$', VmDelete.as_view(),
Kálmán Viktor committed
81
        name="dashboard.views.delete-vm"),
82
    url(r'^vm/mass-delete/', VmMassDelete.as_view(),
83
        name='dashboard.view.mass-delete-vm'),
84
    url(r'^vm/(?P<pk>\d+)/activity/$', vm_activity),
85 86
    url(r'^vm/(?P<pk>\d+)/migrate/$', VmMigrateView.as_view(),
        name='dashboard.views.vm-migrate'),
Őry Máté committed
87 88
    url(r'^vm/(?P<pk>\d+)/renew/((?P<key>.*)/?)$', VmRenewView.as_view(),
        name='dashboard.views.vm-renew'),
89 90
    url(r'^vm/activity/(?P<pk>\d+)/$', InstanceActivityDetail.as_view(),
        name='dashboard.views.vm-activity'),
91 92
    url(r'^vm/(?P<pk>\d+)/screenshot/$', get_vm_screenshot,
        name='dashboard.views.vm-get-screenshot'),
93 94 95 96
    url(r'^vm/(?P<pk>\d+)/traits/$', VmTraitsUpdate.as_view(),
        name='dashboard.views.vm-traits'),
    url(r'^vm/(?P<pk>\d+)/raw_data/$', VmRawDataUpdate.as_view(),
        name='dashboard.views.vm-raw-data'),
97

98 99 100
    url(r'^node/list/$', NodeList.as_view(), name='dashboard.views.node-list'),
    url(r'^node/(?P<pk>\d+)/$', NodeDetailView.as_view(),
        name='dashboard.views.node-detail'),
101 102
    url(r'^node/(?P<pk>\d+)/add-trait/$', NodeAddTraitView.as_view(),
        name='dashboard.views.node-addtrait'),
103
    url(r'^tx/(?P<key>.*)/?$', TransferOwnershipConfirmView.as_view(),
104
        name='dashboard.views.vm-transfer-ownership-confirm'),
105 106
    url(r'^node/delete/(?P<pk>\d+)/$', NodeDelete.as_view(),
        name="dashboard.views.delete-node"),
107 108
    url(r'^node/status/(?P<pk>\d+)/$', NodeStatus.as_view(),
        name="dashboard.views.status-node"),
109 110
    url(r'^node/flush/(?P<pk>\d+)/$', NodeFlushView.as_view(),
        name="dashboard.views.flush-node"),
111 112
    url(r'^node/create/$', NodeCreate.as_view(),
        name='dashboard.views.node-create'),
113

114 115
    url(r'^favourite/$', FavouriteView.as_view(),
        name='dashboard.views.favourite'),
116 117
    url(r'^group/delete/(?P<pk>\d+)/$', GroupDelete.as_view(),
        name="dashboard.views.delete-group"),
118 119
    url(r'^group/list/$', GroupList.as_view(),
        name='dashboard.views.group-list'),
120
    url((r'^vm/(?P<pk>\d+)/graph/(?P<metric>cpu|memory|network)/'
121
         r'(?P<time>[0-9]{1,2}[hdwy])$'),
122 123
        VmGraphView.as_view(),
        name='dashboard.views.vm-graph'),
124 125 126 127
    url((r'^node/(?P<pk>\d+)/graph/(?P<metric>cpu|memory|network)/'
         r'(?P<time>[0-9]{1,2}[hdwy])$'),
        NodeGraphView.as_view(),
        name='dashboard.views.node-graph'),
128 129
    url(r'^group/(?P<pk>\d+)/$', GroupDetailView.as_view(),
        name='dashboard.views.group-detail'),
130 131
    url(r'^group/(?P<pk>\d+)/update/$', GroupProfileUpdate.as_view(),
        name='dashboard.views.group-update'),
132 133
    url(r'^group/(?P<pk>\d+)/acl/$', GroupAclUpdateView.as_view(),
        name='dashboard.views.group-acl'),
134 135
    url(r'^notifications/$', NotificationView.as_view(),
        name="dashboard.views.notifications"),
136

137 138
    url(r'^disk/(?P<pk>\d+)/remove/$', DiskRemoveView.as_view(),
        name="dashboard.views.disk-remove"),
139 140 141
    url(r'^disk/(?P<pk>\d+)/status/$', get_disk_download_status,
        name="dashboard.views.disk-status"),

142 143 144
    url(r'^interface/(?P<pk>\d+)/delete/$', InterfaceDeleteView.as_view(),
        name="dashboard.views.interface-delete"),

145
    url(r'^profile/$', MyPreferencesView.as_view(),
146
        name="dashboard.views.profile-preferences"),
147 148
    url(r'^subscribe/(?P<token>.*)/$', UnsubscribeFormView.as_view(),
        name="dashboard.views.unsubscribe"),
149
    url(r'^profile/(?P<username>[^/]+)/$', ProfileView.as_view(),
150
        name="dashboard.views.profile"),
151
    url(r'^profile/(?P<username>[^/]+)/use_gravatar/$', toggle_use_gravatar),
152

153
    url(r'^group/(?P<group_pk>\d+)/remove/acl/user/(?P<member_pk>\d+)/$',
154 155
        GroupRemoveAclUserView.as_view(),
        name="dashboard.views.remove-acluser"),
156
    url(r'^group/(?P<group_pk>\d+)/remove/acl/group/(?P<member_pk>\d+)/$',
157 158
        GroupRemoveAclGroupView.as_view(),
        name="dashboard.views.remove-aclgroup"),
159
    url(r'^group/(?P<group_pk>\d+)/remove/user/(?P<member_pk>\d+)/$',
160 161
        GroupRemoveUserView.as_view(),
        name="dashboard.views.remove-user"),
162 163
    url(r'^group/create/$', GroupCreate.as_view(),
        name='dashboard.views.group-create'),
164 165 166
    url(r'^group/(?P<group_pk>\d+)/create/$',
        UserCreationView.as_view(),
        name="dashboard.views.create-user"),
167 168 169 170 171 172 173 174 175 176

    url(r'^sshkey/delete/(?P<pk>\d+)/$',
        UserKeyDelete.as_view(),
        name="dashboard.views.userkey-delete"),
    url(r'^sshkey/(?P<pk>\d+)/$',
        UserKeyDetail.as_view(),
        name="dashboard.views.userkey-detail"),
    url(r'^sshkey/create/$',
        UserKeyCreate.as_view(),
        name="dashboard.views.userkey-create"),
Kálmán Viktor committed
177
)