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 34
    GroupRemoveAclUserView, GroupRemoveAclGroupView, GroupRemoveUserView,
    GroupCreate,
35
    TemplateChoose,
36
    UserCreationView,
37
    get_vm_screenshot
38
)
39

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

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

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

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

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

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

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

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