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