support for uploading files and serving them back via apache
[plstackapi.git] / planetstack / planetstack / urls.py
1 from django.conf.urls import patterns, include, url
2
3 # Uncomment the next two lines to enable the admin:
4 from django.contrib import admin
5 from core.views.deployments import DeploymentList, DeploymentDetail
6 from core.views.images import ImageList, ImageDetail
7 from core.views.nodes import NodeList, NodeDetail
8 from core.views.projects import ProjectList, ProjectDetail
9 from core.views.reservations import ReservationList, ReservationDetail
10 from core.views.roles import RoleList, RoleDetail
11 from core.views.serviceclasses import ServiceClassList, ServiceClassDetail
12 from core.views.serviceresources import ServiceResourceList, ServiceResourceDetail
13 from core.views.sites import SiteList, SiteDetail
14 from core.views.site_privileges import SitePrivilegeList, SitePrivilegeDetail
15 from core.views.slices import SliceList, SliceDetail
16 from core.views.slice_privileges import SlicePrivilegeList, SlicePrivilegeDetail
17 from core.views.slivers import SliverList, SliverDetail
18 from core.views.tags import TagList, TagDetail
19 from core.views.users import UserList, UserDetail
20 from core.views.legacyapi import LegacyXMLRPC
21 from core.models import *
22 from core.api_root import api_root
23 from rest_framework import generics
24 from core.plus.sites import SitePlus
25 from django.http import HttpResponseRedirect
26
27 admin.site = SitePlus()
28 admin.autodiscover()
29
30 def redirect_to_apache(request):
31      """ bounce a request back to the apache server that is running on the machine """
32      apache_url = "http://%s%s" % (request.META['HOSTNAME'], request.path)
33      return HttpResponseRedirect(apache_url)
34
35 urlpatterns = patterns('',
36     # Examples:
37     # url(r'^$', 'planetstack.views.home', name='home'),
38     # url(r'^planetstack/', include('planetstack.foo.urls')),
39
40     # Uncomment the admin/doc line below to enable admin documentation:
41     url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
42
43     # Uncomment the next line to enable the admin:
44     url(r'^admin/', include(admin.site.urls)),
45     url(r'^', include(admin.site.urls)),
46     #url(r'^profile/home', 'core.views.home'),
47
48     url(r'^plstackapi/$', api_root),
49     
50     url(r'^plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
51     url(r'^plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name='deployment-detail'),
52
53     url(r'^plstackapi/images/$', ImageList.as_view(), name='image-list'),
54     url(r'^plstackapi/images/(?P<pk>[a-zA-Z0-9_\-]+)/$', ImageDetail.as_view(), name='image-detail'),
55
56     url(r'^plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
57     url(r'^plstackapi/nodes/(?P<pk>[a-zA-Z0-9_\-]+)/$', NodeDetail.as_view(), name='node-detail'),
58     
59     url(r'^plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
60     url(r'^plstackapi/projects/(?P<pk>[a-zA-Z0-9_\-]+)/$', ProjectDetail.as_view(), name='project-detail'),
61     
62     url(r'^plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
63     url(r'^plstackapi/reservations/(?P<pk>[a-zA-Z0-9_\-]+)/$', ReservationDetail.as_view(), name='reservation-detail'),
64     
65     url(r'^plstackapi/roles/$', RoleList.as_view(), name='role-list'),
66     url(r'^plstackapi/roles/(?P<pk>[a-zA-Z0-9]+)/$', RoleDetail.as_view(), name='role-detail'),
67
68     url(r'^plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
69     url(r'^plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9]+)/$', ServiceClassDetail.as_view(), name='serviceclass-detail'),
70
71     url(r'^plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
72     url(r'^plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9]+)/$', ServiceResourceDetail.as_view(), name='serviceresource-detail'),
73
74     url(r'^plstackapi/site_privileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
75     url(r'^plstackapi/site_privileges/(?P<pk>[a-zA-Z0-9_]+)/$', SitePrivilegeDetail.as_view(), name='siteprivilege-detail'),
76   
77     url(r'^plstackapi/sites/$', SiteList.as_view(), name='site-list'),
78     url(r'^plstackapi/sites/(?P<pk>[a-zA-Z0-9_\-]+)/$', SiteDetail.as_view(), name='site-detail'),
79
80     url(r'^plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
81
82     url(r'^plstackapi/slices/(?P<pk>[a-zA-Z0-9_\-]+)/$', SliceDetail.as_view(), name='slice-detail'),
83
84     url(r'^plstackapi/slice_memberships/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
85     url(r'^plstackapi/slice_memberships/(?P<pk>[0-9]+)/$', SlicePrivilegeDetail.as_view(), name='sliceprivilege-detail'),
86     
87     url(r'^plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
88     url(r'^plstackapi/slivers/(?P<pk>[a-zA-Z0-9_\-]+)/$', SliverDetail.as_view(), name='sliver-detail'),
89
90     url(r'^plstackapi/tags/$', TagList.as_view(), name='tag-list'),
91     url(r'^plstackapi/tags/(?P<pk>[a-zA-Z0-9_\-]+)/$', TagDetail.as_view(), name='tag-detail'),
92
93     url(r'^plstackapi/users/$', UserList.as_view(), name='user-list'),
94     url(r'^plstackapi/users/(?P<pk>[a-zA-Z0-9_\-]+)/$', UserDetail.as_view(), name='user-detail'),
95
96     url(r'^legacyapi/$', 'core.views.legacyapi.LegacyXMLRPC', name='xmlrpc'),
97
98     url(r'^files/', redirect_to_apache),
99
100     #Adding in rest_framework urls
101     url(r'^plstackapi/', include('rest_framework.urls', namespace='rest_framework')),
102     
103 )