urls.py 7.2 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 (
Őry Máté committed
23
    AclUpdateView, DiskAddView, 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
)
38

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

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

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

88 89 90
    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'),
91 92
    url(r'^node/(?P<pk>\d+)/add-trait/$', NodeAddTraitView.as_view(),
        name='dashboard.views.node-addtrait'),
93
    url(r'^tx/(?P<key>.*)/?$', TransferOwnershipConfirmView.as_view(),
94
        name='dashboard.views.vm-transfer-ownership-confirm'),
95 96
    url(r'^node/delete/(?P<pk>\d+)/$', NodeDelete.as_view(),
        name="dashboard.views.delete-node"),
97 98
    url(r'^node/status/(?P<pk>\d+)/$', NodeStatus.as_view(),
        name="dashboard.views.status-node"),
99 100
    url(r'^node/flush/(?P<pk>\d+)/$', NodeFlushView.as_view(),
        name="dashboard.views.flush-node"),
101 102
    url(r'^node/create/$', NodeCreate.as_view(),
        name='dashboard.views.node-create'),
103

104 105
    url(r'^favourite/$', FavouriteView.as_view(),
        name='dashboard.views.favourite'),
106 107
    url(r'^group/delete/(?P<pk>\d+)/$', GroupDelete.as_view(),
        name="dashboard.views.delete-group"),
108 109
    url(r'^group/list/$', GroupList.as_view(),
        name='dashboard.views.group-list'),
110
    url((r'^vm/(?P<pk>\d+)/graph/(?P<metric>cpu|memory|network)/'
111
         r'(?P<time>[0-9]{1,2}[hdwy])$'),
112 113
        VmGraphView.as_view(),
        name='dashboard.views.vm-graph'),
114 115 116 117
    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'),
118 119
    url(r'^group/(?P<pk>\d+)/$', GroupDetailView.as_view(),
        name='dashboard.views.group-detail'),
120 121
    url(r'^group/(?P<pk>\d+)/update/$', GroupProfileUpdate.as_view(),
        name='dashboard.views.group-update'),
122 123
    url(r'^group/(?P<pk>\d+)/acl/$', GroupAclUpdateView.as_view(),
        name='dashboard.views.group-acl'),
124 125
    url(r'^notifications/$', NotificationView.as_view(),
        name="dashboard.views.notifications"),
126

127
    url(r'^disk/add/$', DiskAddView.as_view(),
128
        name="dashboard.views.disk-add"),
129 130
    url(r'^disk/(?P<pk>\d+)/remove/$', DiskRemoveView.as_view(),
        name="dashboard.views.disk-remove"),
131 132 133
    url(r'^disk/(?P<pk>\d+)/status/$', get_disk_download_status,
        name="dashboard.views.disk-status"),

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

137 138
    url(r'^profile/$', MyPreferencesView.as_view(),
        name="dashboard.views.profile"),
139
    url(r'^group/(?P<group_pk>\d+)/remove/acl/user/(?P<member_pk>\d+)/$',
140 141
        GroupRemoveAclUserView.as_view(),
        name="dashboard.views.remove-acluser"),
142
    url(r'^group/(?P<group_pk>\d+)/remove/acl/group/(?P<member_pk>\d+)/$',
143 144
        GroupRemoveAclGroupView.as_view(),
        name="dashboard.views.remove-aclgroup"),
145
    url(r'^group/(?P<group_pk>\d+)/remove/user/(?P<member_pk>\d+)/$',
146 147
        GroupRemoveUserView.as_view(),
        name="dashboard.views.remove-user"),
148 149
    url(r'^group/create/$', GroupCreate.as_view(),
        name='dashboard.views.group-create'),
150 151 152
    url(r'^group/(?P<group_pk>\d+)/create/$',
        UserCreationView.as_view(),
        name="dashboard.views.create-user"),
Kálmán Viktor committed
153
)