1 from rest_framework.decorators import api_view
2 from rest_framework.response import Response
3 from rest_framework.reverse import reverse
4 from rest_framework import serializers
5 from rest_framework import generics
6 from rest_framework import status
7 from rest_framework.generics import GenericAPIView
8 from core.models import *
9 from django.forms import widgets
10 from rest_framework import filters
11 from django.conf.urls import patterns, url
14 Schema of the generator object:
15 all: Set of all Model objects
16 all_if(regex): Set of Model objects that match regex
19 plural: English plural of object name
20 camel: CamelCase version of object name
21 refs: list of references to other Model objects
22 props: list of properties minus refs
24 TODO: Deal with subnets
27 def get_REST_patterns():
29 url(r'^plstackapi/$', api_root),
31 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
32 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
33 # url(r'plstackapi/serviceattributes/!new/$', ServiceAttributeNew.as_view(), name ='serviceattribute-new'),
35 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
36 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
37 # url(r'plstackapi/images/!new/$', ImageNew.as_view(), name ='image-new'),
39 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
40 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
41 # url(r'plstackapi/networkparameters/!new/$', NetworkParameterNew.as_view(), name ='networkparameter-new'),
43 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
44 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
45 # url(r'plstackapi/sites/!new/$', SiteNew.as_view(), name ='site-new'),
47 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
48 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
49 # url(r'plstackapi/slice_roles/!new/$', SliceRoleNew.as_view(), name ='slicerole-new'),
51 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
52 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
53 # url(r'plstackapi/tags/!new/$', TagNew.as_view(), name ='tag-new'),
55 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
56 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
57 # url(r'plstackapi/invoices/!new/$', InvoiceNew.as_view(), name ='invoice-new'),
59 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
60 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
61 # url(r'plstackapi/slice_privileges/!new/$', SlicePrivilegeNew.as_view(), name ='sliceprivilege-new'),
63 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
64 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
65 # url(r'plstackapi/planetstackroles/!new/$', PlanetStackRoleNew.as_view(), name ='planetstackrole-new'),
67 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
68 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
69 # url(r'plstackapi/networkslivers/!new/$', NetworkSliverNew.as_view(), name ='networksliver-new'),
71 url(r'plstackapi/networkdeployments/$', NetworkDeploymentsList.as_view(), name='networkdeployments-list'),
72 url(r'plstackapi/networkdeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDeploymentsDetail.as_view(), name ='networkdeployments-detail'),
73 # url(r'plstackapi/networkdeployments/!new/$', NetworkDeploymentsNew.as_view(), name ='networkdeployments-new'),
75 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
76 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
77 # url(r'plstackapi/flavors/!new/$', FlavorNew.as_view(), name ='flavor-new'),
79 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
80 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
81 # url(r'plstackapi/projects/!new/$', ProjectNew.as_view(), name ='project-new'),
83 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
84 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
85 # url(r'plstackapi/slices/!new/$', SliceNew.as_view(), name ='slice-new'),
87 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
88 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
89 # url(r'plstackapi/networks/!new/$', NetworkNew.as_view(), name ='network-new'),
91 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
92 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
93 # url(r'plstackapi/services/!new/$', ServiceNew.as_view(), name ='service-new'),
95 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
96 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
97 # url(r'plstackapi/serviceclasses/!new/$', ServiceClassNew.as_view(), name ='serviceclass-new'),
99 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
100 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
101 # url(r'plstackapi/payments/!new/$', PaymentNew.as_view(), name ='payment-new'),
103 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
104 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
105 # url(r'plstackapi/charges/!new/$', ChargeNew.as_view(), name ='charge-new'),
107 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
108 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
109 # url(r'plstackapi/roles/!new/$', RoleNew.as_view(), name ='role-new'),
111 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
112 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
113 # url(r'plstackapi/usableobjects/!new/$', UsableObjectNew.as_view(), name ='usableobject-new'),
115 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
116 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
117 # url(r'plstackapi/site_roles/!new/$', SiteRoleNew.as_view(), name ='siterole-new'),
119 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
120 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
121 # url(r'plstackapi/slicecredentials/!new/$', SliceCredentialNew.as_view(), name ='slicecredential-new'),
123 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
124 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
125 # url(r'plstackapi/slivers/!new/$', SliverNew.as_view(), name ='sliver-new'),
127 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
128 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
129 # url(r'plstackapi/nodes/!new/$', NodeNew.as_view(), name ='node-new'),
131 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
132 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
133 # url(r'plstackapi/dashboardviews/!new/$', DashboardViewNew.as_view(), name ='dashboardview-new'),
135 url(r'plstackapi/imagedeployments/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
136 url(r'plstackapi/imagedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
137 # url(r'plstackapi/imagedeployments/!new/$', ImageDeploymentsNew.as_view(), name ='imagedeployments-new'),
139 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
140 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
141 # url(r'plstackapi/reservedresources/!new/$', ReservedResourceNew.as_view(), name ='reservedresource-new'),
143 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
144 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
145 # url(r'plstackapi/networkslices/!new/$', NetworkSliceNew.as_view(), name ='networkslice-new'),
147 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
148 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
149 # url(r'plstackapi/userdashboardviews/!new/$', UserDashboardViewNew.as_view(), name ='userdashboardview-new'),
151 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
152 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
153 # url(r'plstackapi/planetstackprivileges/!new/$', PlanetStackPrivilegeNew.as_view(), name ='planetstackprivilege-new'),
155 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
156 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
157 # url(r'plstackapi/users/!new/$', UserNew.as_view(), name ='user-new'),
159 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
160 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
161 # url(r'plstackapi/deployments/!new/$', DeploymentNew.as_view(), name ='deployment-new'),
163 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
164 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
165 # url(r'plstackapi/reservations/!new/$', ReservationNew.as_view(), name ='reservation-new'),
167 url(r'plstackapi/slice_deployments/$', SliceDeploymentsList.as_view(), name='slicedeployments-list'),
168 url(r'plstackapi/slice_deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDeploymentsDetail.as_view(), name ='slicedeployments-detail'),
169 # url(r'plstackapi/slice_deployments/!new/$', SliceDeploymentsNew.as_view(), name ='slicedeployments-new'),
171 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
172 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
173 # url(r'plstackapi/siteprivileges/!new/$', SitePrivilegeNew.as_view(), name ='siteprivilege-new'),
175 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
176 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
177 # url(r'plstackapi/planetstacks/!new/$', PlanetStackNew.as_view(), name ='planetstack-new'),
179 url(r'plstackapi/user_deployments/$', UserDeploymentsList.as_view(), name='userdeployments-list'),
180 url(r'plstackapi/user_deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDeploymentsDetail.as_view(), name ='userdeployments-detail'),
181 # url(r'plstackapi/user_deployments/!new/$', UserDeploymentsNew.as_view(), name ='userdeployments-new'),
183 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
184 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
185 # url(r'plstackapi/accounts/!new/$', AccountNew.as_view(), name ='account-new'),
187 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
188 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
189 # url(r'plstackapi/networkparametertypes/!new/$', NetworkParameterTypeNew.as_view(), name ='networkparametertype-new'),
191 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
192 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
193 # url(r'plstackapi/sitecredentials/!new/$', SiteCredentialNew.as_view(), name ='sitecredential-new'),
195 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
196 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
197 # url(r'plstackapi/deploymentprivileges/!new/$', DeploymentPrivilegeNew.as_view(), name ='deploymentprivilege-new'),
199 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
200 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
201 # url(r'plstackapi/deploymentroles/!new/$', DeploymentRoleNew.as_view(), name ='deploymentrole-new'),
203 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
204 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
205 # url(r'plstackapi/usercredentials/!new/$', UserCredentialNew.as_view(), name ='usercredential-new'),
207 url(r'plstackapi/sitedeployments/$', SiteDeploymentsList.as_view(), name='sitedeployments-list'),
208 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentsDetail.as_view(), name ='sitedeployments-detail'),
209 # url(r'plstackapi/sitedeployments/!new/$', SiteDeploymentsNew.as_view(), name ='sitedeployments-new'),
211 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
212 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
213 # url(r'plstackapi/slicetags/!new/$', SliceTagNew.as_view(), name ='slicetag-new'),
215 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
216 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
217 # url(r'plstackapi/networktemplates/!new/$', NetworkTemplateNew.as_view(), name ='networktemplate-new'),
219 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
220 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
221 # url(r'plstackapi/routers/!new/$', RouterNew.as_view(), name ='router-new'),
223 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
224 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
225 # url(r'plstackapi/serviceresources/!new/$', ServiceResourceNew.as_view(), name ='serviceresource-new'),
230 def api_root(request, format=None):
232 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
233 'images': reverse('image-list', request=request, format=format),
234 'networkparameters': reverse('networkparameter-list', request=request, format=format),
235 'sites': reverse('site-list', request=request, format=format),
236 'sliceroles': reverse('slicerole-list', request=request, format=format),
237 'tags': reverse('tag-list', request=request, format=format),
238 'invoices': reverse('invoice-list', request=request, format=format),
239 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
240 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
241 'networkslivers': reverse('networksliver-list', request=request, format=format),
242 'networkdeploymentses': reverse('networkdeployments-list', request=request, format=format),
243 'flavors': reverse('flavor-list', request=request, format=format),
244 'projects': reverse('project-list', request=request, format=format),
245 'slices': reverse('slice-list', request=request, format=format),
246 'networks': reverse('network-list', request=request, format=format),
247 'services': reverse('service-list', request=request, format=format),
248 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
249 'payments': reverse('payment-list', request=request, format=format),
250 'charges': reverse('charge-list', request=request, format=format),
251 'roles': reverse('role-list', request=request, format=format),
252 'usableobjects': reverse('usableobject-list', request=request, format=format),
253 'siteroles': reverse('siterole-list', request=request, format=format),
254 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
255 'slivers': reverse('sliver-list', request=request, format=format),
256 'nodes': reverse('node-list', request=request, format=format),
257 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
258 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
259 'reservedresources': reverse('reservedresource-list', request=request, format=format),
260 'networkslices': reverse('networkslice-list', request=request, format=format),
261 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
262 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
263 'users': reverse('user-list', request=request, format=format),
264 'deployments': reverse('deployment-list', request=request, format=format),
265 'reservations': reverse('reservation-list', request=request, format=format),
266 'slicedeploymentses': reverse('slicedeployments-list', request=request, format=format),
267 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
268 'planetstacks': reverse('planetstack-list', request=request, format=format),
269 'userdeploymentses': reverse('userdeployments-list', request=request, format=format),
270 'accounts': reverse('account-list', request=request, format=format),
271 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
272 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
273 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
274 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
275 'usercredentials': reverse('usercredential-list', request=request, format=format),
276 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
277 'slicetags': reverse('slicetag-list', request=request, format=format),
278 'networktemplates': reverse('networktemplate-list', request=request, format=format),
279 'routers': reverse('router-list', request=request, format=format),
280 'serviceresources': reverse('serviceresource-list', request=request, format=format),
284 # Based on serializers.py
288 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
289 id = serializers.Field()
291 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
292 def getHumanReadableName(self, obj):
\r
295 model = ServiceAttribute
296 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
298 class ServiceAttributeIdSerializer(serializers.ModelSerializer):
299 id = serializers.Field()
301 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
302 def getHumanReadableName(self, obj):
\r
305 model = ServiceAttribute
306 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
311 class ImageSerializer(serializers.HyperlinkedModelSerializer):
312 id = serializers.Field()
314 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
315 def getHumanReadableName(self, obj):
\r
319 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
321 class ImageIdSerializer(serializers.ModelSerializer):
322 id = serializers.Field()
324 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
325 def getHumanReadableName(self, obj):
\r
329 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
334 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
335 id = serializers.Field()
337 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
338 def getHumanReadableName(self, obj):
\r
341 model = NetworkParameter
342 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
344 class NetworkParameterIdSerializer(serializers.ModelSerializer):
345 id = serializers.Field()
347 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
348 def getHumanReadableName(self, obj):
\r
351 model = NetworkParameter
352 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
357 class SiteSerializer(serializers.HyperlinkedModelSerializer):
358 id = serializers.Field()
360 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
361 def getHumanReadableName(self, obj):
\r
365 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
367 class SiteIdSerializer(serializers.ModelSerializer):
368 id = serializers.Field()
370 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
371 def getHumanReadableName(self, obj):
\r
375 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
380 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
381 id = serializers.Field()
383 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
384 def getHumanReadableName(self, obj):
\r
388 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
390 class SliceRoleIdSerializer(serializers.ModelSerializer):
391 id = serializers.Field()
393 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
394 def getHumanReadableName(self, obj):
\r
398 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
403 class TagSerializer(serializers.HyperlinkedModelSerializer):
404 id = serializers.Field()
406 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
407 def getHumanReadableName(self, obj):
\r
411 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
413 class TagIdSerializer(serializers.ModelSerializer):
414 id = serializers.Field()
416 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
417 def getHumanReadableName(self, obj):
\r
421 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
426 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
427 id = serializers.Field()
429 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
430 def getHumanReadableName(self, obj):
\r
434 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','date','account',)
436 class InvoiceIdSerializer(serializers.ModelSerializer):
437 id = serializers.Field()
439 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
440 def getHumanReadableName(self, obj):
\r
444 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','date','account',)
449 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
450 id = serializers.Field()
452 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
453 def getHumanReadableName(self, obj):
\r
456 model = SlicePrivilege
457 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
459 class SlicePrivilegeIdSerializer(serializers.ModelSerializer):
460 id = serializers.Field()
462 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
463 def getHumanReadableName(self, obj):
\r
466 model = SlicePrivilege
467 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
472 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
473 id = serializers.Field()
475 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
476 def getHumanReadableName(self, obj):
\r
479 model = PlanetStackRole
480 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
482 class PlanetStackRoleIdSerializer(serializers.ModelSerializer):
483 id = serializers.Field()
485 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
486 def getHumanReadableName(self, obj):
\r
489 model = PlanetStackRole
490 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
495 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
496 id = serializers.Field()
498 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
499 def getHumanReadableName(self, obj):
\r
502 model = NetworkSliver
503 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
505 class NetworkSliverIdSerializer(serializers.ModelSerializer):
506 id = serializers.Field()
508 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
509 def getHumanReadableName(self, obj):
\r
512 model = NetworkSliver
513 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
518 class NetworkDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
519 id = serializers.Field()
521 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
522 def getHumanReadableName(self, obj):
\r
525 model = NetworkDeployments
526 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
528 class NetworkDeploymentsIdSerializer(serializers.ModelSerializer):
529 id = serializers.Field()
531 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
532 def getHumanReadableName(self, obj):
\r
535 model = NetworkDeployments
536 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
541 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
542 id = serializers.Field()
544 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
545 def getHumanReadableName(self, obj):
\r
549 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
551 class FlavorIdSerializer(serializers.ModelSerializer):
552 id = serializers.Field()
554 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
555 def getHumanReadableName(self, obj):
\r
559 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
564 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
565 id = serializers.Field()
567 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
568 def getHumanReadableName(self, obj):
\r
572 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name',)
574 class ProjectIdSerializer(serializers.ModelSerializer):
575 id = serializers.Field()
577 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
578 def getHumanReadableName(self, obj):
\r
582 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name',)
587 class SliceSerializer(serializers.HyperlinkedModelSerializer):
588 id = serializers.Field()
591 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
595 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
599 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
603 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
606 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
607 def getHumanReadableName(self, obj):
\r
611 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','availableNetworks','networks','networks',)
613 class SliceIdSerializer(serializers.ModelSerializer):
614 id = serializers.Field()
617 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
621 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
625 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
629 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
632 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
633 def getHumanReadableName(self, obj):
\r
637 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','availableNetworks','networks','networks',)
642 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
643 id = serializers.Field()
646 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
650 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
654 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
658 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
661 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
662 def getHumanReadableName(self, obj):
\r
666 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
668 class NetworkIdSerializer(serializers.ModelSerializer):
669 id = serializers.Field()
672 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
676 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
680 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
684 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
687 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
688 def getHumanReadableName(self, obj):
\r
692 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
697 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
698 id = serializers.Field()
700 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
701 def getHumanReadableName(self, obj):
\r
705 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
707 class ServiceIdSerializer(serializers.ModelSerializer):
708 id = serializers.Field()
710 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
711 def getHumanReadableName(self, obj):
\r
715 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
720 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
721 id = serializers.Field()
723 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
724 def getHumanReadableName(self, obj):
\r
728 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
730 class ServiceClassIdSerializer(serializers.ModelSerializer):
731 id = serializers.Field()
733 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
734 def getHumanReadableName(self, obj):
\r
738 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
743 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
744 id = serializers.Field()
746 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
747 def getHumanReadableName(self, obj):
\r
751 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
753 class PaymentIdSerializer(serializers.ModelSerializer):
754 id = serializers.Field()
756 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
757 def getHumanReadableName(self, obj):
\r
761 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
766 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
767 id = serializers.Field()
769 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
770 def getHumanReadableName(self, obj):
\r
774 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
776 class ChargeIdSerializer(serializers.ModelSerializer):
777 id = serializers.Field()
779 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
780 def getHumanReadableName(self, obj):
\r
784 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
789 class RoleSerializer(serializers.HyperlinkedModelSerializer):
790 id = serializers.Field()
792 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
793 def getHumanReadableName(self, obj):
\r
797 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
799 class RoleIdSerializer(serializers.ModelSerializer):
800 id = serializers.Field()
802 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
803 def getHumanReadableName(self, obj):
\r
807 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
812 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
813 id = serializers.Field()
815 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
816 def getHumanReadableName(self, obj):
\r
820 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name',)
822 class UsableObjectIdSerializer(serializers.ModelSerializer):
823 id = serializers.Field()
825 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
826 def getHumanReadableName(self, obj):
\r
830 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name',)
835 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
836 id = serializers.Field()
838 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
839 def getHumanReadableName(self, obj):
\r
843 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
845 class SiteRoleIdSerializer(serializers.ModelSerializer):
846 id = serializers.Field()
848 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
849 def getHumanReadableName(self, obj):
\r
853 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
858 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
859 id = serializers.Field()
861 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
862 def getHumanReadableName(self, obj):
\r
865 model = SliceCredential
866 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
868 class SliceCredentialIdSerializer(serializers.ModelSerializer):
869 id = serializers.Field()
871 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
872 def getHumanReadableName(self, obj):
\r
875 model = SliceCredential
876 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
881 class SliverSerializer(serializers.HyperlinkedModelSerializer):
882 id = serializers.Field()
885 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
889 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
892 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
893 def getHumanReadableName(self, obj):
\r
897 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
899 class SliverIdSerializer(serializers.ModelSerializer):
900 id = serializers.Field()
903 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
907 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
910 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
911 def getHumanReadableName(self, obj):
\r
915 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
920 class NodeSerializer(serializers.HyperlinkedModelSerializer):
921 id = serializers.Field()
923 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
924 def getHumanReadableName(self, obj):
\r
928 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
930 class NodeIdSerializer(serializers.ModelSerializer):
931 id = serializers.Field()
933 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
934 def getHumanReadableName(self, obj):
\r
938 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
943 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
944 id = serializers.Field()
946 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
947 def getHumanReadableName(self, obj):
\r
950 model = DashboardView
951 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','url',)
953 class DashboardViewIdSerializer(serializers.ModelSerializer):
954 id = serializers.Field()
956 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
957 def getHumanReadableName(self, obj):
\r
960 model = DashboardView
961 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','url',)
966 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
967 id = serializers.Field()
969 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
970 def getHumanReadableName(self, obj):
\r
973 model = ImageDeployments
974 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
976 class ImageDeploymentsIdSerializer(serializers.ModelSerializer):
977 id = serializers.Field()
979 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
980 def getHumanReadableName(self, obj):
\r
983 model = ImageDeployments
984 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
989 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
990 id = serializers.Field()
992 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
993 def getHumanReadableName(self, obj):
\r
996 model = ReservedResource
997 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
999 class ReservedResourceIdSerializer(serializers.ModelSerializer):
1000 id = serializers.Field()
1002 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1003 def getHumanReadableName(self, obj):
\r
1006 model = ReservedResource
1007 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1012 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1013 id = serializers.Field()
1015 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1016 def getHumanReadableName(self, obj):
\r
1019 model = NetworkSlice
1020 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1022 class NetworkSliceIdSerializer(serializers.ModelSerializer):
1023 id = serializers.Field()
1025 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1026 def getHumanReadableName(self, obj):
\r
1029 model = NetworkSlice
1030 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1035 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1036 id = serializers.Field()
1038 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1039 def getHumanReadableName(self, obj):
\r
1042 model = UserDashboardView
1043 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1045 class UserDashboardViewIdSerializer(serializers.ModelSerializer):
1046 id = serializers.Field()
1048 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1049 def getHumanReadableName(self, obj):
\r
1052 model = UserDashboardView
1053 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1058 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1059 id = serializers.Field()
1061 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1062 def getHumanReadableName(self, obj):
\r
1065 model = PlanetStackPrivilege
1066 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1068 class PlanetStackPrivilegeIdSerializer(serializers.ModelSerializer):
1069 id = serializers.Field()
1071 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1072 def getHumanReadableName(self, obj):
\r
1075 model = PlanetStackPrivilege
1076 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1081 class UserSerializer(serializers.HyperlinkedModelSerializer):
1082 id = serializers.Field()
1084 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1085 def getHumanReadableName(self, obj):
\r
1089 fields = ('humanReadableName', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
1091 class UserIdSerializer(serializers.ModelSerializer):
1092 id = serializers.Field()
1094 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1095 def getHumanReadableName(self, obj):
\r
1099 fields = ('humanReadableName', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
1104 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1105 id = serializers.Field()
1108 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1112 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1116 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1120 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1123 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1124 def getHumanReadableName(self, obj):
\r
1128 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
1130 class DeploymentIdSerializer(serializers.ModelSerializer):
1131 id = serializers.Field()
1134 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1138 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1142 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1146 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1149 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1150 def getHumanReadableName(self, obj):
\r
1154 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
1159 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1160 id = serializers.Field()
1162 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1163 def getHumanReadableName(self, obj):
\r
1167 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1169 class ReservationIdSerializer(serializers.ModelSerializer):
1170 id = serializers.Field()
1172 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1173 def getHumanReadableName(self, obj):
\r
1177 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1182 class SliceDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1183 id = serializers.Field()
1185 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1186 def getHumanReadableName(self, obj):
\r
1189 model = SliceDeployments
1190 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
1192 class SliceDeploymentsIdSerializer(serializers.ModelSerializer):
1193 id = serializers.Field()
1195 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1196 def getHumanReadableName(self, obj):
\r
1199 model = SliceDeployments
1200 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
1205 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1206 id = serializers.Field()
1208 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1209 def getHumanReadableName(self, obj):
\r
1212 model = SitePrivilege
1213 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1215 class SitePrivilegeIdSerializer(serializers.ModelSerializer):
1216 id = serializers.Field()
1218 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1219 def getHumanReadableName(self, obj):
\r
1222 model = SitePrivilege
1223 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1228 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1229 id = serializers.Field()
1231 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1232 def getHumanReadableName(self, obj):
\r
1236 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','description',)
1238 class PlanetStackIdSerializer(serializers.ModelSerializer):
1239 id = serializers.Field()
1241 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1242 def getHumanReadableName(self, obj):
\r
1246 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','description',)
1251 class UserDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1252 id = serializers.Field()
1254 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1255 def getHumanReadableName(self, obj):
\r
1258 model = UserDeployments
1259 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
1261 class UserDeploymentsIdSerializer(serializers.ModelSerializer):
1262 id = serializers.Field()
1264 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1265 def getHumanReadableName(self, obj):
\r
1268 model = UserDeployments
1269 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
1274 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1275 id = serializers.Field()
1277 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1278 def getHumanReadableName(self, obj):
\r
1282 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site',)
1284 class AccountIdSerializer(serializers.ModelSerializer):
1285 id = serializers.Field()
1287 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1288 def getHumanReadableName(self, obj):
\r
1292 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site',)
1297 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1298 id = serializers.Field()
1300 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1301 def getHumanReadableName(self, obj):
\r
1304 model = NetworkParameterType
1305 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1307 class NetworkParameterTypeIdSerializer(serializers.ModelSerializer):
1308 id = serializers.Field()
1310 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1311 def getHumanReadableName(self, obj):
\r
1314 model = NetworkParameterType
1315 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1320 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1321 id = serializers.Field()
1323 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1324 def getHumanReadableName(self, obj):
\r
1327 model = SiteCredential
1328 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1330 class SiteCredentialIdSerializer(serializers.ModelSerializer):
1331 id = serializers.Field()
1333 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1334 def getHumanReadableName(self, obj):
\r
1337 model = SiteCredential
1338 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1343 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1344 id = serializers.Field()
1346 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1347 def getHumanReadableName(self, obj):
\r
1350 model = DeploymentPrivilege
1351 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
1353 class DeploymentPrivilegeIdSerializer(serializers.ModelSerializer):
1354 id = serializers.Field()
1356 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1357 def getHumanReadableName(self, obj):
\r
1360 model = DeploymentPrivilege
1361 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
1366 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
1367 id = serializers.Field()
1369 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1370 def getHumanReadableName(self, obj):
\r
1373 model = DeploymentRole
1374 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
1376 class DeploymentRoleIdSerializer(serializers.ModelSerializer):
1377 id = serializers.Field()
1379 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1380 def getHumanReadableName(self, obj):
\r
1383 model = DeploymentRole
1384 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','role',)
1389 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
1390 id = serializers.Field()
1392 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1393 def getHumanReadableName(self, obj):
\r
1396 model = UserCredential
1397 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
1399 class UserCredentialIdSerializer(serializers.ModelSerializer):
1400 id = serializers.Field()
1402 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1403 def getHumanReadableName(self, obj):
\r
1406 model = UserCredential
1407 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
1412 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1413 id = serializers.Field()
1415 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1416 def getHumanReadableName(self, obj):
\r
1419 model = SiteDeployments
1420 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
1422 class SiteDeploymentsIdSerializer(serializers.ModelSerializer):
1423 id = serializers.Field()
1425 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1426 def getHumanReadableName(self, obj):
\r
1429 model = SiteDeployments
1430 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
1435 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
1436 id = serializers.Field()
1438 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1439 def getHumanReadableName(self, obj):
\r
1443 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
1445 class SliceTagIdSerializer(serializers.ModelSerializer):
1446 id = serializers.Field()
1448 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1449 def getHumanReadableName(self, obj):
\r
1453 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
1458 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
1459 id = serializers.Field()
1461 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1462 def getHumanReadableName(self, obj):
\r
1465 model = NetworkTemplate
1466 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
1468 class NetworkTemplateIdSerializer(serializers.ModelSerializer):
1469 id = serializers.Field()
1471 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1472 def getHumanReadableName(self, obj):
\r
1475 model = NetworkTemplate
1476 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
1481 class RouterSerializer(serializers.HyperlinkedModelSerializer):
1482 id = serializers.Field()
1484 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1485 def getHumanReadableName(self, obj):
\r
1489 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','owner',)
1491 class RouterIdSerializer(serializers.ModelSerializer):
1492 id = serializers.Field()
1494 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1495 def getHumanReadableName(self, obj):
\r
1499 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','name','owner',)
1504 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
1505 id = serializers.Field()
1507 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1508 def getHumanReadableName(self, obj):
\r
1511 model = ServiceResource
1512 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1514 class ServiceResourceIdSerializer(serializers.ModelSerializer):
1515 id = serializers.Field()
1517 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1518 def getHumanReadableName(self, obj):
\r
1521 model = ServiceResource
1522 fields = ('humanReadableName', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1527 serializerLookUp = {
1529 ServiceAttribute: ServiceAttributeSerializer,
1531 Image: ImageSerializer,
1533 NetworkParameter: NetworkParameterSerializer,
1535 Site: SiteSerializer,
1537 SliceRole: SliceRoleSerializer,
1541 Invoice: InvoiceSerializer,
1543 SlicePrivilege: SlicePrivilegeSerializer,
1545 PlanetStackRole: PlanetStackRoleSerializer,
1547 NetworkSliver: NetworkSliverSerializer,
1549 NetworkDeployments: NetworkDeploymentsSerializer,
1551 Flavor: FlavorSerializer,
1553 Project: ProjectSerializer,
1555 Slice: SliceSerializer,
1557 Network: NetworkSerializer,
1559 Service: ServiceSerializer,
1561 ServiceClass: ServiceClassSerializer,
1563 Payment: PaymentSerializer,
1565 Charge: ChargeSerializer,
1567 Role: RoleSerializer,
1569 UsableObject: UsableObjectSerializer,
1571 SiteRole: SiteRoleSerializer,
1573 SliceCredential: SliceCredentialSerializer,
1575 Sliver: SliverSerializer,
1577 Node: NodeSerializer,
1579 DashboardView: DashboardViewSerializer,
1581 ImageDeployments: ImageDeploymentsSerializer,
1583 ReservedResource: ReservedResourceSerializer,
1585 NetworkSlice: NetworkSliceSerializer,
1587 UserDashboardView: UserDashboardViewSerializer,
1589 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
1591 User: UserSerializer,
1593 Deployment: DeploymentSerializer,
1595 Reservation: ReservationSerializer,
1597 SliceDeployments: SliceDeploymentsSerializer,
1599 SitePrivilege: SitePrivilegeSerializer,
1601 PlanetStack: PlanetStackSerializer,
1603 UserDeployments: UserDeploymentsSerializer,
1605 Account: AccountSerializer,
1607 NetworkParameterType: NetworkParameterTypeSerializer,
1609 SiteCredential: SiteCredentialSerializer,
1611 DeploymentPrivilege: DeploymentPrivilegeSerializer,
1613 DeploymentRole: DeploymentRoleSerializer,
1615 UserCredential: UserCredentialSerializer,
1617 SiteDeployments: SiteDeploymentsSerializer,
1619 SliceTag: SliceTagSerializer,
1621 NetworkTemplate: NetworkTemplateSerializer,
1623 Router: RouterSerializer,
1625 ServiceResource: ServiceResourceSerializer,
1630 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
1632 # To handle fine-grained field permissions, we have to check can_update
1633 # the object has been updated but before it has been saved.
1635 def update(self, request, *args, **kwargs):
\r
1636 partial = kwargs.pop('partial', False)
\r
1637 self.object = self.get_object_or_none()
\r
1639 serializer = self.get_serializer(self.object, data=request.DATA,
\r
1640 files=request.FILES, partial=partial)
\r
1642 if not serializer.is_valid():
\r
1643 print "UpdateModelMixin: not serializer.is_valid"
\r
1644 print serializer.errors
\r
1645 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
\r
1648 self.pre_save(serializer.object)
\r
1649 except ValidationError as err:
\r
1650 # full_clean on model instance may be called in pre_save,
\r
1651 # so we have to handle eventual errors.
\r
1652 return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
\r
1654 if serializer.object is not None:
\r
1655 if not serializer.object.can_update(request.user):
\r
1656 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
1658 if self.object is None:
\r
1659 self.object = serializer.save(force_insert=True)
\r
1660 self.post_save(self.object, created=True)
\r
1661 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
1663 self.object = serializer.save(force_update=True)
\r
1664 self.post_save(self.object, created=False)
\r
1665 return Response(serializer.data, status=status.HTTP_200_OK)
1667 def destroy(self, request, *args, **kwargs):
1668 obj = self.get_object()
1669 if obj.can_update(request.user):
1670 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
1672 return Response(status=status.HTTP_400_BAD_REQUEST)
1675 # Based on core/views/*.py
1678 class ServiceAttributeList(generics.ListCreateAPIView):
1679 queryset = ServiceAttribute.objects.select_related().all()
1680 serializer_class = ServiceAttributeSerializer
1681 id_serializer_class = ServiceAttributeIdSerializer
1682 filter_backends = (filters.DjangoFilterBackend,)
1683 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
1685 def get_serializer_class(self):
1686 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1688 return self.id_serializer_class
1690 return self.serializer_class
1692 def get_queryset(self):
1693 return ServiceAttribute.select_by_user(self.request.user)
1695 def create(self, request, *args, **kwargs):
1696 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
1697 if not (serializer.is_valid()):
1698 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
1699 obj = serializer.object
1700 obj.caller = request.user
1701 if obj.can_update(request.user):
1702 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
1704 raise Exception("failed obj.can_update")
1706 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
1707 if (ret.status_code%100 != 200):
1708 raise Exception(ret.data)
1713 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1714 queryset = ServiceAttribute.objects.select_related().all()
1715 serializer_class = ServiceAttributeSerializer
1716 id_serializer_class = ServiceAttributeIdSerializer
1718 def get_serializer_class(self):
1719 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1721 return self.id_serializer_class
1723 return self.serializer_class
1725 def get_queryset(self):
1726 return ServiceAttribute.select_by_user(self.request.user)
1728 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1730 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1733 XXX smbaker: my intent was to create a view that would return 'new' objects
1734 filled with defaults. I solved it another way, so this code may soon be
1737 class ServiceAttributeNew(GenericAPIView):
1738 serializer_class = ServiceAttributeSerializer
1739 id_serializer_class = ServiceAttributeIdSerializer
1741 def get(self, request, *args, **kwargs):
1742 return self.makenew(request, *args, **kwargs)
1744 def get_serializer_class(self):
1745 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1747 return self.id_serializer_class
1749 return self.serializer_class
1751 def makenew(self, request, *args, **kwargs):
1752 obj = ServiceAttribute()
1753 serializer = self.get_serializer(obj)
1754 return Response(serializer.data)
1759 class ImageList(generics.ListCreateAPIView):
1760 queryset = Image.objects.select_related().all()
1761 serializer_class = ImageSerializer
1762 id_serializer_class = ImageIdSerializer
1763 filter_backends = (filters.DjangoFilterBackend,)
1764 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
1766 def get_serializer_class(self):
1767 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1769 return self.id_serializer_class
1771 return self.serializer_class
1773 def get_queryset(self):
1774 return Image.select_by_user(self.request.user)
1776 def create(self, request, *args, **kwargs):
1777 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
1778 if not (serializer.is_valid()):
1779 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
1780 obj = serializer.object
1781 obj.caller = request.user
1782 if obj.can_update(request.user):
1783 return super(ImageList, self).create(request, *args, **kwargs)
1785 raise Exception("failed obj.can_update")
1787 ret = super(ImageList, self).create(request, *args, **kwargs)
1788 if (ret.status_code%100 != 200):
1789 raise Exception(ret.data)
1794 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1795 queryset = Image.objects.select_related().all()
1796 serializer_class = ImageSerializer
1797 id_serializer_class = ImageIdSerializer
1799 def get_serializer_class(self):
1800 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1802 return self.id_serializer_class
1804 return self.serializer_class
1806 def get_queryset(self):
1807 return Image.select_by_user(self.request.user)
1809 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1811 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1814 XXX smbaker: my intent was to create a view that would return 'new' objects
1815 filled with defaults. I solved it another way, so this code may soon be
1818 class ImageNew(GenericAPIView):
1819 serializer_class = ImageSerializer
1820 id_serializer_class = ImageIdSerializer
1822 def get(self, request, *args, **kwargs):
1823 return self.makenew(request, *args, **kwargs)
1825 def get_serializer_class(self):
1826 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1828 return self.id_serializer_class
1830 return self.serializer_class
1832 def makenew(self, request, *args, **kwargs):
1834 serializer = self.get_serializer(obj)
1835 return Response(serializer.data)
1840 class NetworkParameterList(generics.ListCreateAPIView):
1841 queryset = NetworkParameter.objects.select_related().all()
1842 serializer_class = NetworkParameterSerializer
1843 id_serializer_class = NetworkParameterIdSerializer
1844 filter_backends = (filters.DjangoFilterBackend,)
1845 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
1847 def get_serializer_class(self):
1848 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1850 return self.id_serializer_class
1852 return self.serializer_class
1854 def get_queryset(self):
1855 return NetworkParameter.select_by_user(self.request.user)
1857 def create(self, request, *args, **kwargs):
1858 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
1859 if not (serializer.is_valid()):
1860 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
1861 obj = serializer.object
1862 obj.caller = request.user
1863 if obj.can_update(request.user):
1864 return super(NetworkParameterList, self).create(request, *args, **kwargs)
1866 raise Exception("failed obj.can_update")
1868 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
1869 if (ret.status_code%100 != 200):
1870 raise Exception(ret.data)
1875 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1876 queryset = NetworkParameter.objects.select_related().all()
1877 serializer_class = NetworkParameterSerializer
1878 id_serializer_class = NetworkParameterIdSerializer
1880 def get_serializer_class(self):
1881 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1883 return self.id_serializer_class
1885 return self.serializer_class
1887 def get_queryset(self):
1888 return NetworkParameter.select_by_user(self.request.user)
1890 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1892 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1895 XXX smbaker: my intent was to create a view that would return 'new' objects
1896 filled with defaults. I solved it another way, so this code may soon be
1899 class NetworkParameterNew(GenericAPIView):
1900 serializer_class = NetworkParameterSerializer
1901 id_serializer_class = NetworkParameterIdSerializer
1903 def get(self, request, *args, **kwargs):
1904 return self.makenew(request, *args, **kwargs)
1906 def get_serializer_class(self):
1907 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1909 return self.id_serializer_class
1911 return self.serializer_class
1913 def makenew(self, request, *args, **kwargs):
1914 obj = NetworkParameter()
1915 serializer = self.get_serializer(obj)
1916 return Response(serializer.data)
1921 class SiteList(generics.ListCreateAPIView):
1922 queryset = Site.objects.select_related().all()
1923 serializer_class = SiteSerializer
1924 id_serializer_class = SiteIdSerializer
1925 filter_backends = (filters.DjangoFilterBackend,)
1926 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
1928 def get_serializer_class(self):
1929 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1931 return self.id_serializer_class
1933 return self.serializer_class
1935 def get_queryset(self):
1936 return Site.select_by_user(self.request.user)
1938 def create(self, request, *args, **kwargs):
1939 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
1940 if not (serializer.is_valid()):
1941 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
1942 obj = serializer.object
1943 obj.caller = request.user
1944 if obj.can_update(request.user):
1945 return super(SiteList, self).create(request, *args, **kwargs)
1947 raise Exception("failed obj.can_update")
1949 ret = super(SiteList, self).create(request, *args, **kwargs)
1950 if (ret.status_code%100 != 200):
1951 raise Exception(ret.data)
1956 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1957 queryset = Site.objects.select_related().all()
1958 serializer_class = SiteSerializer
1959 id_serializer_class = SiteIdSerializer
1961 def get_serializer_class(self):
1962 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1964 return self.id_serializer_class
1966 return self.serializer_class
1968 def get_queryset(self):
1969 return Site.select_by_user(self.request.user)
1971 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1973 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1976 XXX smbaker: my intent was to create a view that would return 'new' objects
1977 filled with defaults. I solved it another way, so this code may soon be
1980 class SiteNew(GenericAPIView):
1981 serializer_class = SiteSerializer
1982 id_serializer_class = SiteIdSerializer
1984 def get(self, request, *args, **kwargs):
1985 return self.makenew(request, *args, **kwargs)
1987 def get_serializer_class(self):
1988 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1990 return self.id_serializer_class
1992 return self.serializer_class
1994 def makenew(self, request, *args, **kwargs):
1996 serializer = self.get_serializer(obj)
1997 return Response(serializer.data)
2002 class SliceRoleList(generics.ListCreateAPIView):
2003 queryset = SliceRole.objects.select_related().all()
2004 serializer_class = SliceRoleSerializer
2005 id_serializer_class = SliceRoleIdSerializer
2006 filter_backends = (filters.DjangoFilterBackend,)
2007 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2009 def get_serializer_class(self):
2010 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2012 return self.id_serializer_class
2014 return self.serializer_class
2016 def get_queryset(self):
2017 return SliceRole.select_by_user(self.request.user)
2019 def create(self, request, *args, **kwargs):
2020 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2021 if not (serializer.is_valid()):
2022 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2023 obj = serializer.object
2024 obj.caller = request.user
2025 if obj.can_update(request.user):
2026 return super(SliceRoleList, self).create(request, *args, **kwargs)
2028 raise Exception("failed obj.can_update")
2030 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2031 if (ret.status_code%100 != 200):
2032 raise Exception(ret.data)
2037 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2038 queryset = SliceRole.objects.select_related().all()
2039 serializer_class = SliceRoleSerializer
2040 id_serializer_class = SliceRoleIdSerializer
2042 def get_serializer_class(self):
2043 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2045 return self.id_serializer_class
2047 return self.serializer_class
2049 def get_queryset(self):
2050 return SliceRole.select_by_user(self.request.user)
2052 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2054 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2057 XXX smbaker: my intent was to create a view that would return 'new' objects
2058 filled with defaults. I solved it another way, so this code may soon be
2061 class SliceRoleNew(GenericAPIView):
2062 serializer_class = SliceRoleSerializer
2063 id_serializer_class = SliceRoleIdSerializer
2065 def get(self, request, *args, **kwargs):
2066 return self.makenew(request, *args, **kwargs)
2068 def get_serializer_class(self):
2069 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2071 return self.id_serializer_class
2073 return self.serializer_class
2075 def makenew(self, request, *args, **kwargs):
2077 serializer = self.get_serializer(obj)
2078 return Response(serializer.data)
2083 class TagList(generics.ListCreateAPIView):
2084 queryset = Tag.objects.select_related().all()
2085 serializer_class = TagSerializer
2086 id_serializer_class = TagIdSerializer
2087 filter_backends = (filters.DjangoFilterBackend,)
2088 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
2090 def get_serializer_class(self):
2091 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2093 return self.id_serializer_class
2095 return self.serializer_class
2097 def get_queryset(self):
2098 return Tag.select_by_user(self.request.user)
2100 def create(self, request, *args, **kwargs):
2101 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2102 if not (serializer.is_valid()):
2103 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2104 obj = serializer.object
2105 obj.caller = request.user
2106 if obj.can_update(request.user):
2107 return super(TagList, self).create(request, *args, **kwargs)
2109 raise Exception("failed obj.can_update")
2111 ret = super(TagList, self).create(request, *args, **kwargs)
2112 if (ret.status_code%100 != 200):
2113 raise Exception(ret.data)
2118 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2119 queryset = Tag.objects.select_related().all()
2120 serializer_class = TagSerializer
2121 id_serializer_class = TagIdSerializer
2123 def get_serializer_class(self):
2124 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2126 return self.id_serializer_class
2128 return self.serializer_class
2130 def get_queryset(self):
2131 return Tag.select_by_user(self.request.user)
2133 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2135 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2138 XXX smbaker: my intent was to create a view that would return 'new' objects
2139 filled with defaults. I solved it another way, so this code may soon be
2142 class TagNew(GenericAPIView):
2143 serializer_class = TagSerializer
2144 id_serializer_class = TagIdSerializer
2146 def get(self, request, *args, **kwargs):
2147 return self.makenew(request, *args, **kwargs)
2149 def get_serializer_class(self):
2150 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2152 return self.id_serializer_class
2154 return self.serializer_class
2156 def makenew(self, request, *args, **kwargs):
2158 serializer = self.get_serializer(obj)
2159 return Response(serializer.data)
2164 class InvoiceList(generics.ListCreateAPIView):
2165 queryset = Invoice.objects.select_related().all()
2166 serializer_class = InvoiceSerializer
2167 id_serializer_class = InvoiceIdSerializer
2168 filter_backends = (filters.DjangoFilterBackend,)
2169 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
2171 def get_serializer_class(self):
2172 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2174 return self.id_serializer_class
2176 return self.serializer_class
2178 def get_queryset(self):
2179 return Invoice.select_by_user(self.request.user)
2181 def create(self, request, *args, **kwargs):
2182 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2183 if not (serializer.is_valid()):
2184 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2185 obj = serializer.object
2186 obj.caller = request.user
2187 if obj.can_update(request.user):
2188 return super(InvoiceList, self).create(request, *args, **kwargs)
2190 raise Exception("failed obj.can_update")
2192 ret = super(InvoiceList, self).create(request, *args, **kwargs)
2193 if (ret.status_code%100 != 200):
2194 raise Exception(ret.data)
2199 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2200 queryset = Invoice.objects.select_related().all()
2201 serializer_class = InvoiceSerializer
2202 id_serializer_class = InvoiceIdSerializer
2204 def get_serializer_class(self):
2205 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2207 return self.id_serializer_class
2209 return self.serializer_class
2211 def get_queryset(self):
2212 return Invoice.select_by_user(self.request.user)
2214 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2216 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2219 XXX smbaker: my intent was to create a view that would return 'new' objects
2220 filled with defaults. I solved it another way, so this code may soon be
2223 class InvoiceNew(GenericAPIView):
2224 serializer_class = InvoiceSerializer
2225 id_serializer_class = InvoiceIdSerializer
2227 def get(self, request, *args, **kwargs):
2228 return self.makenew(request, *args, **kwargs)
2230 def get_serializer_class(self):
2231 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2233 return self.id_serializer_class
2235 return self.serializer_class
2237 def makenew(self, request, *args, **kwargs):
2239 serializer = self.get_serializer(obj)
2240 return Response(serializer.data)
2245 class SlicePrivilegeList(generics.ListCreateAPIView):
2246 queryset = SlicePrivilege.objects.select_related().all()
2247 serializer_class = SlicePrivilegeSerializer
2248 id_serializer_class = SlicePrivilegeIdSerializer
2249 filter_backends = (filters.DjangoFilterBackend,)
2250 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
2252 def get_serializer_class(self):
2253 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2255 return self.id_serializer_class
2257 return self.serializer_class
2259 def get_queryset(self):
2260 return SlicePrivilege.select_by_user(self.request.user)
2262 def create(self, request, *args, **kwargs):
2263 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2264 if not (serializer.is_valid()):
2265 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2266 obj = serializer.object
2267 obj.caller = request.user
2268 if obj.can_update(request.user):
2269 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
2271 raise Exception("failed obj.can_update")
2273 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
2274 if (ret.status_code%100 != 200):
2275 raise Exception(ret.data)
2280 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2281 queryset = SlicePrivilege.objects.select_related().all()
2282 serializer_class = SlicePrivilegeSerializer
2283 id_serializer_class = SlicePrivilegeIdSerializer
2285 def get_serializer_class(self):
2286 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2288 return self.id_serializer_class
2290 return self.serializer_class
2292 def get_queryset(self):
2293 return SlicePrivilege.select_by_user(self.request.user)
2295 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2297 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2300 XXX smbaker: my intent was to create a view that would return 'new' objects
2301 filled with defaults. I solved it another way, so this code may soon be
2304 class SlicePrivilegeNew(GenericAPIView):
2305 serializer_class = SlicePrivilegeSerializer
2306 id_serializer_class = SlicePrivilegeIdSerializer
2308 def get(self, request, *args, **kwargs):
2309 return self.makenew(request, *args, **kwargs)
2311 def get_serializer_class(self):
2312 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2314 return self.id_serializer_class
2316 return self.serializer_class
2318 def makenew(self, request, *args, **kwargs):
2319 obj = SlicePrivilege()
2320 serializer = self.get_serializer(obj)
2321 return Response(serializer.data)
2326 class PlanetStackRoleList(generics.ListCreateAPIView):
2327 queryset = PlanetStackRole.objects.select_related().all()
2328 serializer_class = PlanetStackRoleSerializer
2329 id_serializer_class = PlanetStackRoleIdSerializer
2330 filter_backends = (filters.DjangoFilterBackend,)
2331 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2333 def get_serializer_class(self):
2334 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2336 return self.id_serializer_class
2338 return self.serializer_class
2340 def get_queryset(self):
2341 return PlanetStackRole.select_by_user(self.request.user)
2343 def create(self, request, *args, **kwargs):
2344 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2345 if not (serializer.is_valid()):
2346 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2347 obj = serializer.object
2348 obj.caller = request.user
2349 if obj.can_update(request.user):
2350 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
2352 raise Exception("failed obj.can_update")
2354 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
2355 if (ret.status_code%100 != 200):
2356 raise Exception(ret.data)
2361 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2362 queryset = PlanetStackRole.objects.select_related().all()
2363 serializer_class = PlanetStackRoleSerializer
2364 id_serializer_class = PlanetStackRoleIdSerializer
2366 def get_serializer_class(self):
2367 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2369 return self.id_serializer_class
2371 return self.serializer_class
2373 def get_queryset(self):
2374 return PlanetStackRole.select_by_user(self.request.user)
2376 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2378 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2381 XXX smbaker: my intent was to create a view that would return 'new' objects
2382 filled with defaults. I solved it another way, so this code may soon be
2385 class PlanetStackRoleNew(GenericAPIView):
2386 serializer_class = PlanetStackRoleSerializer
2387 id_serializer_class = PlanetStackRoleIdSerializer
2389 def get(self, request, *args, **kwargs):
2390 return self.makenew(request, *args, **kwargs)
2392 def get_serializer_class(self):
2393 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2395 return self.id_serializer_class
2397 return self.serializer_class
2399 def makenew(self, request, *args, **kwargs):
2400 obj = PlanetStackRole()
2401 serializer = self.get_serializer(obj)
2402 return Response(serializer.data)
2407 class NetworkSliverList(generics.ListCreateAPIView):
2408 queryset = NetworkSliver.objects.select_related().all()
2409 serializer_class = NetworkSliverSerializer
2410 id_serializer_class = NetworkSliverIdSerializer
2411 filter_backends = (filters.DjangoFilterBackend,)
2412 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
2414 def get_serializer_class(self):
2415 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2417 return self.id_serializer_class
2419 return self.serializer_class
2421 def get_queryset(self):
2422 return NetworkSliver.select_by_user(self.request.user)
2424 def create(self, request, *args, **kwargs):
2425 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2426 if not (serializer.is_valid()):
2427 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2428 obj = serializer.object
2429 obj.caller = request.user
2430 if obj.can_update(request.user):
2431 return super(NetworkSliverList, self).create(request, *args, **kwargs)
2433 raise Exception("failed obj.can_update")
2435 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
2436 if (ret.status_code%100 != 200):
2437 raise Exception(ret.data)
2442 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2443 queryset = NetworkSliver.objects.select_related().all()
2444 serializer_class = NetworkSliverSerializer
2445 id_serializer_class = NetworkSliverIdSerializer
2447 def get_serializer_class(self):
2448 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2450 return self.id_serializer_class
2452 return self.serializer_class
2454 def get_queryset(self):
2455 return NetworkSliver.select_by_user(self.request.user)
2457 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2459 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2462 XXX smbaker: my intent was to create a view that would return 'new' objects
2463 filled with defaults. I solved it another way, so this code may soon be
2466 class NetworkSliverNew(GenericAPIView):
2467 serializer_class = NetworkSliverSerializer
2468 id_serializer_class = NetworkSliverIdSerializer
2470 def get(self, request, *args, **kwargs):
2471 return self.makenew(request, *args, **kwargs)
2473 def get_serializer_class(self):
2474 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2476 return self.id_serializer_class
2478 return self.serializer_class
2480 def makenew(self, request, *args, **kwargs):
2481 obj = NetworkSliver()
2482 serializer = self.get_serializer(obj)
2483 return Response(serializer.data)
2488 class NetworkDeploymentsList(generics.ListCreateAPIView):
2489 queryset = NetworkDeployments.objects.select_related().all()
2490 serializer_class = NetworkDeploymentsSerializer
2491 id_serializer_class = NetworkDeploymentsIdSerializer
2492 filter_backends = (filters.DjangoFilterBackend,)
2493 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
2495 def get_serializer_class(self):
2496 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2498 return self.id_serializer_class
2500 return self.serializer_class
2502 def get_queryset(self):
2503 return NetworkDeployments.select_by_user(self.request.user)
2505 def create(self, request, *args, **kwargs):
2506 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2507 if not (serializer.is_valid()):
2508 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2509 obj = serializer.object
2510 obj.caller = request.user
2511 if obj.can_update(request.user):
2512 return super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
2514 raise Exception("failed obj.can_update")
2516 ret = super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
2517 if (ret.status_code%100 != 200):
2518 raise Exception(ret.data)
2523 class NetworkDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2524 queryset = NetworkDeployments.objects.select_related().all()
2525 serializer_class = NetworkDeploymentsSerializer
2526 id_serializer_class = NetworkDeploymentsIdSerializer
2528 def get_serializer_class(self):
2529 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2531 return self.id_serializer_class
2533 return self.serializer_class
2535 def get_queryset(self):
2536 return NetworkDeployments.select_by_user(self.request.user)
2538 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2540 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2543 XXX smbaker: my intent was to create a view that would return 'new' objects
2544 filled with defaults. I solved it another way, so this code may soon be
2547 class NetworkDeploymentsNew(GenericAPIView):
2548 serializer_class = NetworkDeploymentsSerializer
2549 id_serializer_class = NetworkDeploymentsIdSerializer
2551 def get(self, request, *args, **kwargs):
2552 return self.makenew(request, *args, **kwargs)
2554 def get_serializer_class(self):
2555 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2557 return self.id_serializer_class
2559 return self.serializer_class
2561 def makenew(self, request, *args, **kwargs):
2562 obj = NetworkDeployments()
2563 serializer = self.get_serializer(obj)
2564 return Response(serializer.data)
2569 class FlavorList(generics.ListCreateAPIView):
2570 queryset = Flavor.objects.select_related().all()
2571 serializer_class = FlavorSerializer
2572 id_serializer_class = FlavorIdSerializer
2573 filter_backends = (filters.DjangoFilterBackend,)
2574 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
2576 def get_serializer_class(self):
2577 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2579 return self.id_serializer_class
2581 return self.serializer_class
2583 def get_queryset(self):
2584 return Flavor.select_by_user(self.request.user)
2586 def create(self, request, *args, **kwargs):
2587 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2588 if not (serializer.is_valid()):
2589 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2590 obj = serializer.object
2591 obj.caller = request.user
2592 if obj.can_update(request.user):
2593 return super(FlavorList, self).create(request, *args, **kwargs)
2595 raise Exception("failed obj.can_update")
2597 ret = super(FlavorList, self).create(request, *args, **kwargs)
2598 if (ret.status_code%100 != 200):
2599 raise Exception(ret.data)
2604 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2605 queryset = Flavor.objects.select_related().all()
2606 serializer_class = FlavorSerializer
2607 id_serializer_class = FlavorIdSerializer
2609 def get_serializer_class(self):
2610 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2612 return self.id_serializer_class
2614 return self.serializer_class
2616 def get_queryset(self):
2617 return Flavor.select_by_user(self.request.user)
2619 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2621 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2624 XXX smbaker: my intent was to create a view that would return 'new' objects
2625 filled with defaults. I solved it another way, so this code may soon be
2628 class FlavorNew(GenericAPIView):
2629 serializer_class = FlavorSerializer
2630 id_serializer_class = FlavorIdSerializer
2632 def get(self, request, *args, **kwargs):
2633 return self.makenew(request, *args, **kwargs)
2635 def get_serializer_class(self):
2636 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2638 return self.id_serializer_class
2640 return self.serializer_class
2642 def makenew(self, request, *args, **kwargs):
2644 serializer = self.get_serializer(obj)
2645 return Response(serializer.data)
2650 class ProjectList(generics.ListCreateAPIView):
2651 queryset = Project.objects.select_related().all()
2652 serializer_class = ProjectSerializer
2653 id_serializer_class = ProjectIdSerializer
2654 filter_backends = (filters.DjangoFilterBackend,)
2655 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
2657 def get_serializer_class(self):
2658 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2660 return self.id_serializer_class
2662 return self.serializer_class
2664 def get_queryset(self):
2665 return Project.select_by_user(self.request.user)
2667 def create(self, request, *args, **kwargs):
2668 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2669 if not (serializer.is_valid()):
2670 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2671 obj = serializer.object
2672 obj.caller = request.user
2673 if obj.can_update(request.user):
2674 return super(ProjectList, self).create(request, *args, **kwargs)
2676 raise Exception("failed obj.can_update")
2678 ret = super(ProjectList, self).create(request, *args, **kwargs)
2679 if (ret.status_code%100 != 200):
2680 raise Exception(ret.data)
2685 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2686 queryset = Project.objects.select_related().all()
2687 serializer_class = ProjectSerializer
2688 id_serializer_class = ProjectIdSerializer
2690 def get_serializer_class(self):
2691 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2693 return self.id_serializer_class
2695 return self.serializer_class
2697 def get_queryset(self):
2698 return Project.select_by_user(self.request.user)
2700 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2702 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2705 XXX smbaker: my intent was to create a view that would return 'new' objects
2706 filled with defaults. I solved it another way, so this code may soon be
2709 class ProjectNew(GenericAPIView):
2710 serializer_class = ProjectSerializer
2711 id_serializer_class = ProjectIdSerializer
2713 def get(self, request, *args, **kwargs):
2714 return self.makenew(request, *args, **kwargs)
2716 def get_serializer_class(self):
2717 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2719 return self.id_serializer_class
2721 return self.serializer_class
2723 def makenew(self, request, *args, **kwargs):
2725 serializer = self.get_serializer(obj)
2726 return Response(serializer.data)
2731 class SliceList(generics.ListCreateAPIView):
2732 queryset = Slice.objects.select_related().all()
2733 serializer_class = SliceSerializer
2734 id_serializer_class = SliceIdSerializer
2735 filter_backends = (filters.DjangoFilterBackend,)
2736 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','availableNetworks','networks','networks',)
2738 def get_serializer_class(self):
2739 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2741 return self.id_serializer_class
2743 return self.serializer_class
2745 def get_queryset(self):
2746 return Slice.select_by_user(self.request.user)
2748 def create(self, request, *args, **kwargs):
2749 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2750 if not (serializer.is_valid()):
2751 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2752 obj = serializer.object
2753 obj.caller = request.user
2754 if obj.can_update(request.user):
2755 return super(SliceList, self).create(request, *args, **kwargs)
2757 raise Exception("failed obj.can_update")
2759 ret = super(SliceList, self).create(request, *args, **kwargs)
2760 if (ret.status_code%100 != 200):
2761 raise Exception(ret.data)
2766 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2767 queryset = Slice.objects.select_related().all()
2768 serializer_class = SliceSerializer
2769 id_serializer_class = SliceIdSerializer
2771 def get_serializer_class(self):
2772 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2774 return self.id_serializer_class
2776 return self.serializer_class
2778 def get_queryset(self):
2779 return Slice.select_by_user(self.request.user)
2781 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2783 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2786 XXX smbaker: my intent was to create a view that would return 'new' objects
2787 filled with defaults. I solved it another way, so this code may soon be
2790 class SliceNew(GenericAPIView):
2791 serializer_class = SliceSerializer
2792 id_serializer_class = SliceIdSerializer
2794 def get(self, request, *args, **kwargs):
2795 return self.makenew(request, *args, **kwargs)
2797 def get_serializer_class(self):
2798 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2800 return self.id_serializer_class
2802 return self.serializer_class
2804 def makenew(self, request, *args, **kwargs):
2806 serializer = self.get_serializer(obj)
2807 return Response(serializer.data)
2812 class NetworkList(generics.ListCreateAPIView):
2813 queryset = Network.objects.select_related().all()
2814 serializer_class = NetworkSerializer
2815 id_serializer_class = NetworkIdSerializer
2816 filter_backends = (filters.DjangoFilterBackend,)
2817 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
2819 def get_serializer_class(self):
2820 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2822 return self.id_serializer_class
2824 return self.serializer_class
2826 def get_queryset(self):
2827 return Network.select_by_user(self.request.user)
2829 def create(self, request, *args, **kwargs):
2830 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2831 if not (serializer.is_valid()):
2832 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2833 obj = serializer.object
2834 obj.caller = request.user
2835 if obj.can_update(request.user):
2836 return super(NetworkList, self).create(request, *args, **kwargs)
2838 raise Exception("failed obj.can_update")
2840 ret = super(NetworkList, self).create(request, *args, **kwargs)
2841 if (ret.status_code%100 != 200):
2842 raise Exception(ret.data)
2847 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2848 queryset = Network.objects.select_related().all()
2849 serializer_class = NetworkSerializer
2850 id_serializer_class = NetworkIdSerializer
2852 def get_serializer_class(self):
2853 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2855 return self.id_serializer_class
2857 return self.serializer_class
2859 def get_queryset(self):
2860 return Network.select_by_user(self.request.user)
2862 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2864 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2867 XXX smbaker: my intent was to create a view that would return 'new' objects
2868 filled with defaults. I solved it another way, so this code may soon be
2871 class NetworkNew(GenericAPIView):
2872 serializer_class = NetworkSerializer
2873 id_serializer_class = NetworkIdSerializer
2875 def get(self, request, *args, **kwargs):
2876 return self.makenew(request, *args, **kwargs)
2878 def get_serializer_class(self):
2879 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2881 return self.id_serializer_class
2883 return self.serializer_class
2885 def makenew(self, request, *args, **kwargs):
2887 serializer = self.get_serializer(obj)
2888 return Response(serializer.data)
2893 class ServiceList(generics.ListCreateAPIView):
2894 queryset = Service.objects.select_related().all()
2895 serializer_class = ServiceSerializer
2896 id_serializer_class = ServiceIdSerializer
2897 filter_backends = (filters.DjangoFilterBackend,)
2898 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
2900 def get_serializer_class(self):
2901 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2903 return self.id_serializer_class
2905 return self.serializer_class
2907 def get_queryset(self):
2908 return Service.select_by_user(self.request.user)
2910 def create(self, request, *args, **kwargs):
2911 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2912 if not (serializer.is_valid()):
2913 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2914 obj = serializer.object
2915 obj.caller = request.user
2916 if obj.can_update(request.user):
2917 return super(ServiceList, self).create(request, *args, **kwargs)
2919 raise Exception("failed obj.can_update")
2921 ret = super(ServiceList, self).create(request, *args, **kwargs)
2922 if (ret.status_code%100 != 200):
2923 raise Exception(ret.data)
2928 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2929 queryset = Service.objects.select_related().all()
2930 serializer_class = ServiceSerializer
2931 id_serializer_class = ServiceIdSerializer
2933 def get_serializer_class(self):
2934 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2936 return self.id_serializer_class
2938 return self.serializer_class
2940 def get_queryset(self):
2941 return Service.select_by_user(self.request.user)
2943 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2945 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2948 XXX smbaker: my intent was to create a view that would return 'new' objects
2949 filled with defaults. I solved it another way, so this code may soon be
2952 class ServiceNew(GenericAPIView):
2953 serializer_class = ServiceSerializer
2954 id_serializer_class = ServiceIdSerializer
2956 def get(self, request, *args, **kwargs):
2957 return self.makenew(request, *args, **kwargs)
2959 def get_serializer_class(self):
2960 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2962 return self.id_serializer_class
2964 return self.serializer_class
2966 def makenew(self, request, *args, **kwargs):
2968 serializer = self.get_serializer(obj)
2969 return Response(serializer.data)
2974 class ServiceClassList(generics.ListCreateAPIView):
2975 queryset = ServiceClass.objects.select_related().all()
2976 serializer_class = ServiceClassSerializer
2977 id_serializer_class = ServiceClassIdSerializer
2978 filter_backends = (filters.DjangoFilterBackend,)
2979 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
2981 def get_serializer_class(self):
2982 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2984 return self.id_serializer_class
2986 return self.serializer_class
2988 def get_queryset(self):
2989 return ServiceClass.select_by_user(self.request.user)
2991 def create(self, request, *args, **kwargs):
2992 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2993 if not (serializer.is_valid()):
2994 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
2995 obj = serializer.object
2996 obj.caller = request.user
2997 if obj.can_update(request.user):
2998 return super(ServiceClassList, self).create(request, *args, **kwargs)
3000 raise Exception("failed obj.can_update")
3002 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3003 if (ret.status_code%100 != 200):
3004 raise Exception(ret.data)
3009 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3010 queryset = ServiceClass.objects.select_related().all()
3011 serializer_class = ServiceClassSerializer
3012 id_serializer_class = ServiceClassIdSerializer
3014 def get_serializer_class(self):
3015 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3017 return self.id_serializer_class
3019 return self.serializer_class
3021 def get_queryset(self):
3022 return ServiceClass.select_by_user(self.request.user)
3024 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3026 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3029 XXX smbaker: my intent was to create a view that would return 'new' objects
3030 filled with defaults. I solved it another way, so this code may soon be
3033 class ServiceClassNew(GenericAPIView):
3034 serializer_class = ServiceClassSerializer
3035 id_serializer_class = ServiceClassIdSerializer
3037 def get(self, request, *args, **kwargs):
3038 return self.makenew(request, *args, **kwargs)
3040 def get_serializer_class(self):
3041 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3043 return self.id_serializer_class
3045 return self.serializer_class
3047 def makenew(self, request, *args, **kwargs):
3048 obj = ServiceClass()
3049 serializer = self.get_serializer(obj)
3050 return Response(serializer.data)
3055 class PaymentList(generics.ListCreateAPIView):
3056 queryset = Payment.objects.select_related().all()
3057 serializer_class = PaymentSerializer
3058 id_serializer_class = PaymentIdSerializer
3059 filter_backends = (filters.DjangoFilterBackend,)
3060 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
3062 def get_serializer_class(self):
3063 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3065 return self.id_serializer_class
3067 return self.serializer_class
3069 def get_queryset(self):
3070 return Payment.select_by_user(self.request.user)
3072 def create(self, request, *args, **kwargs):
3073 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3074 if not (serializer.is_valid()):
3075 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3076 obj = serializer.object
3077 obj.caller = request.user
3078 if obj.can_update(request.user):
3079 return super(PaymentList, self).create(request, *args, **kwargs)
3081 raise Exception("failed obj.can_update")
3083 ret = super(PaymentList, self).create(request, *args, **kwargs)
3084 if (ret.status_code%100 != 200):
3085 raise Exception(ret.data)
3090 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3091 queryset = Payment.objects.select_related().all()
3092 serializer_class = PaymentSerializer
3093 id_serializer_class = PaymentIdSerializer
3095 def get_serializer_class(self):
3096 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3098 return self.id_serializer_class
3100 return self.serializer_class
3102 def get_queryset(self):
3103 return Payment.select_by_user(self.request.user)
3105 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3107 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3110 XXX smbaker: my intent was to create a view that would return 'new' objects
3111 filled with defaults. I solved it another way, so this code may soon be
3114 class PaymentNew(GenericAPIView):
3115 serializer_class = PaymentSerializer
3116 id_serializer_class = PaymentIdSerializer
3118 def get(self, request, *args, **kwargs):
3119 return self.makenew(request, *args, **kwargs)
3121 def get_serializer_class(self):
3122 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3124 return self.id_serializer_class
3126 return self.serializer_class
3128 def makenew(self, request, *args, **kwargs):
3130 serializer = self.get_serializer(obj)
3131 return Response(serializer.data)
3136 class ChargeList(generics.ListCreateAPIView):
3137 queryset = Charge.objects.select_related().all()
3138 serializer_class = ChargeSerializer
3139 id_serializer_class = ChargeIdSerializer
3140 filter_backends = (filters.DjangoFilterBackend,)
3141 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3143 def get_serializer_class(self):
3144 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3146 return self.id_serializer_class
3148 return self.serializer_class
3150 def get_queryset(self):
3151 return Charge.select_by_user(self.request.user)
3153 def create(self, request, *args, **kwargs):
3154 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3155 if not (serializer.is_valid()):
3156 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3157 obj = serializer.object
3158 obj.caller = request.user
3159 if obj.can_update(request.user):
3160 return super(ChargeList, self).create(request, *args, **kwargs)
3162 raise Exception("failed obj.can_update")
3164 ret = super(ChargeList, self).create(request, *args, **kwargs)
3165 if (ret.status_code%100 != 200):
3166 raise Exception(ret.data)
3171 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3172 queryset = Charge.objects.select_related().all()
3173 serializer_class = ChargeSerializer
3174 id_serializer_class = ChargeIdSerializer
3176 def get_serializer_class(self):
3177 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3179 return self.id_serializer_class
3181 return self.serializer_class
3183 def get_queryset(self):
3184 return Charge.select_by_user(self.request.user)
3186 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3188 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3191 XXX smbaker: my intent was to create a view that would return 'new' objects
3192 filled with defaults. I solved it another way, so this code may soon be
3195 class ChargeNew(GenericAPIView):
3196 serializer_class = ChargeSerializer
3197 id_serializer_class = ChargeIdSerializer
3199 def get(self, request, *args, **kwargs):
3200 return self.makenew(request, *args, **kwargs)
3202 def get_serializer_class(self):
3203 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3205 return self.id_serializer_class
3207 return self.serializer_class
3209 def makenew(self, request, *args, **kwargs):
3211 serializer = self.get_serializer(obj)
3212 return Response(serializer.data)
3217 class RoleList(generics.ListCreateAPIView):
3218 queryset = Role.objects.select_related().all()
3219 serializer_class = RoleSerializer
3220 id_serializer_class = RoleIdSerializer
3221 filter_backends = (filters.DjangoFilterBackend,)
3222 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3224 def get_serializer_class(self):
3225 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3227 return self.id_serializer_class
3229 return self.serializer_class
3231 def get_queryset(self):
3232 return Role.select_by_user(self.request.user)
3234 def create(self, request, *args, **kwargs):
3235 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3236 if not (serializer.is_valid()):
3237 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3238 obj = serializer.object
3239 obj.caller = request.user
3240 if obj.can_update(request.user):
3241 return super(RoleList, self).create(request, *args, **kwargs)
3243 raise Exception("failed obj.can_update")
3245 ret = super(RoleList, self).create(request, *args, **kwargs)
3246 if (ret.status_code%100 != 200):
3247 raise Exception(ret.data)
3252 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3253 queryset = Role.objects.select_related().all()
3254 serializer_class = RoleSerializer
3255 id_serializer_class = RoleIdSerializer
3257 def get_serializer_class(self):
3258 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3260 return self.id_serializer_class
3262 return self.serializer_class
3264 def get_queryset(self):
3265 return Role.select_by_user(self.request.user)
3267 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3269 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3272 XXX smbaker: my intent was to create a view that would return 'new' objects
3273 filled with defaults. I solved it another way, so this code may soon be
3276 class RoleNew(GenericAPIView):
3277 serializer_class = RoleSerializer
3278 id_serializer_class = RoleIdSerializer
3280 def get(self, request, *args, **kwargs):
3281 return self.makenew(request, *args, **kwargs)
3283 def get_serializer_class(self):
3284 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3286 return self.id_serializer_class
3288 return self.serializer_class
3290 def makenew(self, request, *args, **kwargs):
3292 serializer = self.get_serializer(obj)
3293 return Response(serializer.data)
3298 class UsableObjectList(generics.ListCreateAPIView):
3299 queryset = UsableObject.objects.select_related().all()
3300 serializer_class = UsableObjectSerializer
3301 id_serializer_class = UsableObjectIdSerializer
3302 filter_backends = (filters.DjangoFilterBackend,)
3303 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3305 def get_serializer_class(self):
3306 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3308 return self.id_serializer_class
3310 return self.serializer_class
3312 def get_queryset(self):
3313 return UsableObject.select_by_user(self.request.user)
3315 def create(self, request, *args, **kwargs):
3316 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3317 if not (serializer.is_valid()):
3318 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3319 obj = serializer.object
3320 obj.caller = request.user
3321 if obj.can_update(request.user):
3322 return super(UsableObjectList, self).create(request, *args, **kwargs)
3324 raise Exception("failed obj.can_update")
3326 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3327 if (ret.status_code%100 != 200):
3328 raise Exception(ret.data)
3333 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3334 queryset = UsableObject.objects.select_related().all()
3335 serializer_class = UsableObjectSerializer
3336 id_serializer_class = UsableObjectIdSerializer
3338 def get_serializer_class(self):
3339 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3341 return self.id_serializer_class
3343 return self.serializer_class
3345 def get_queryset(self):
3346 return UsableObject.select_by_user(self.request.user)
3348 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3350 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3353 XXX smbaker: my intent was to create a view that would return 'new' objects
3354 filled with defaults. I solved it another way, so this code may soon be
3357 class UsableObjectNew(GenericAPIView):
3358 serializer_class = UsableObjectSerializer
3359 id_serializer_class = UsableObjectIdSerializer
3361 def get(self, request, *args, **kwargs):
3362 return self.makenew(request, *args, **kwargs)
3364 def get_serializer_class(self):
3365 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3367 return self.id_serializer_class
3369 return self.serializer_class
3371 def makenew(self, request, *args, **kwargs):
3372 obj = UsableObject()
3373 serializer = self.get_serializer(obj)
3374 return Response(serializer.data)
3379 class SiteRoleList(generics.ListCreateAPIView):
3380 queryset = SiteRole.objects.select_related().all()
3381 serializer_class = SiteRoleSerializer
3382 id_serializer_class = SiteRoleIdSerializer
3383 filter_backends = (filters.DjangoFilterBackend,)
3384 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3386 def get_serializer_class(self):
3387 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3389 return self.id_serializer_class
3391 return self.serializer_class
3393 def get_queryset(self):
3394 return SiteRole.select_by_user(self.request.user)
3396 def create(self, request, *args, **kwargs):
3397 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3398 if not (serializer.is_valid()):
3399 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3400 obj = serializer.object
3401 obj.caller = request.user
3402 if obj.can_update(request.user):
3403 return super(SiteRoleList, self).create(request, *args, **kwargs)
3405 raise Exception("failed obj.can_update")
3407 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3408 if (ret.status_code%100 != 200):
3409 raise Exception(ret.data)
3414 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3415 queryset = SiteRole.objects.select_related().all()
3416 serializer_class = SiteRoleSerializer
3417 id_serializer_class = SiteRoleIdSerializer
3419 def get_serializer_class(self):
3420 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3422 return self.id_serializer_class
3424 return self.serializer_class
3426 def get_queryset(self):
3427 return SiteRole.select_by_user(self.request.user)
3429 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3431 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3434 XXX smbaker: my intent was to create a view that would return 'new' objects
3435 filled with defaults. I solved it another way, so this code may soon be
3438 class SiteRoleNew(GenericAPIView):
3439 serializer_class = SiteRoleSerializer
3440 id_serializer_class = SiteRoleIdSerializer
3442 def get(self, request, *args, **kwargs):
3443 return self.makenew(request, *args, **kwargs)
3445 def get_serializer_class(self):
3446 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3448 return self.id_serializer_class
3450 return self.serializer_class
3452 def makenew(self, request, *args, **kwargs):
3454 serializer = self.get_serializer(obj)
3455 return Response(serializer.data)
3460 class SliceCredentialList(generics.ListCreateAPIView):
3461 queryset = SliceCredential.objects.select_related().all()
3462 serializer_class = SliceCredentialSerializer
3463 id_serializer_class = SliceCredentialIdSerializer
3464 filter_backends = (filters.DjangoFilterBackend,)
3465 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
3467 def get_serializer_class(self):
3468 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3470 return self.id_serializer_class
3472 return self.serializer_class
3474 def get_queryset(self):
3475 return SliceCredential.select_by_user(self.request.user)
3477 def create(self, request, *args, **kwargs):
3478 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3479 if not (serializer.is_valid()):
3480 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3481 obj = serializer.object
3482 obj.caller = request.user
3483 if obj.can_update(request.user):
3484 return super(SliceCredentialList, self).create(request, *args, **kwargs)
3486 raise Exception("failed obj.can_update")
3488 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
3489 if (ret.status_code%100 != 200):
3490 raise Exception(ret.data)
3495 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3496 queryset = SliceCredential.objects.select_related().all()
3497 serializer_class = SliceCredentialSerializer
3498 id_serializer_class = SliceCredentialIdSerializer
3500 def get_serializer_class(self):
3501 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3503 return self.id_serializer_class
3505 return self.serializer_class
3507 def get_queryset(self):
3508 return SliceCredential.select_by_user(self.request.user)
3510 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3512 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3515 XXX smbaker: my intent was to create a view that would return 'new' objects
3516 filled with defaults. I solved it another way, so this code may soon be
3519 class SliceCredentialNew(GenericAPIView):
3520 serializer_class = SliceCredentialSerializer
3521 id_serializer_class = SliceCredentialIdSerializer
3523 def get(self, request, *args, **kwargs):
3524 return self.makenew(request, *args, **kwargs)
3526 def get_serializer_class(self):
3527 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3529 return self.id_serializer_class
3531 return self.serializer_class
3533 def makenew(self, request, *args, **kwargs):
3534 obj = SliceCredential()
3535 serializer = self.get_serializer(obj)
3536 return Response(serializer.data)
3541 class SliverList(generics.ListCreateAPIView):
3542 queryset = Sliver.objects.select_related().all()
3543 serializer_class = SliverSerializer
3544 id_serializer_class = SliverIdSerializer
3545 filter_backends = (filters.DjangoFilterBackend,)
3546 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
3548 def get_serializer_class(self):
3549 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3551 return self.id_serializer_class
3553 return self.serializer_class
3555 def get_queryset(self):
3556 return Sliver.select_by_user(self.request.user)
3558 def create(self, request, *args, **kwargs):
3559 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3560 if not (serializer.is_valid()):
3561 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3562 obj = serializer.object
3563 obj.caller = request.user
3564 if obj.can_update(request.user):
3565 return super(SliverList, self).create(request, *args, **kwargs)
3567 raise Exception("failed obj.can_update")
3569 ret = super(SliverList, self).create(request, *args, **kwargs)
3570 if (ret.status_code%100 != 200):
3571 raise Exception(ret.data)
3576 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3577 queryset = Sliver.objects.select_related().all()
3578 serializer_class = SliverSerializer
3579 id_serializer_class = SliverIdSerializer
3581 def get_serializer_class(self):
3582 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3584 return self.id_serializer_class
3586 return self.serializer_class
3588 def get_queryset(self):
3589 return Sliver.select_by_user(self.request.user)
3591 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3593 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3596 XXX smbaker: my intent was to create a view that would return 'new' objects
3597 filled with defaults. I solved it another way, so this code may soon be
3600 class SliverNew(GenericAPIView):
3601 serializer_class = SliverSerializer
3602 id_serializer_class = SliverIdSerializer
3604 def get(self, request, *args, **kwargs):
3605 return self.makenew(request, *args, **kwargs)
3607 def get_serializer_class(self):
3608 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3610 return self.id_serializer_class
3612 return self.serializer_class
3614 def makenew(self, request, *args, **kwargs):
3616 serializer = self.get_serializer(obj)
3617 return Response(serializer.data)
3622 class NodeList(generics.ListCreateAPIView):
3623 queryset = Node.objects.select_related().all()
3624 serializer_class = NodeSerializer
3625 id_serializer_class = NodeIdSerializer
3626 filter_backends = (filters.DjangoFilterBackend,)
3627 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
3629 def get_serializer_class(self):
3630 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3632 return self.id_serializer_class
3634 return self.serializer_class
3636 def get_queryset(self):
3637 return Node.select_by_user(self.request.user)
3639 def create(self, request, *args, **kwargs):
3640 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3641 if not (serializer.is_valid()):
3642 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3643 obj = serializer.object
3644 obj.caller = request.user
3645 if obj.can_update(request.user):
3646 return super(NodeList, self).create(request, *args, **kwargs)
3648 raise Exception("failed obj.can_update")
3650 ret = super(NodeList, self).create(request, *args, **kwargs)
3651 if (ret.status_code%100 != 200):
3652 raise Exception(ret.data)
3657 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3658 queryset = Node.objects.select_related().all()
3659 serializer_class = NodeSerializer
3660 id_serializer_class = NodeIdSerializer
3662 def get_serializer_class(self):
3663 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3665 return self.id_serializer_class
3667 return self.serializer_class
3669 def get_queryset(self):
3670 return Node.select_by_user(self.request.user)
3672 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3674 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3677 XXX smbaker: my intent was to create a view that would return 'new' objects
3678 filled with defaults. I solved it another way, so this code may soon be
3681 class NodeNew(GenericAPIView):
3682 serializer_class = NodeSerializer
3683 id_serializer_class = NodeIdSerializer
3685 def get(self, request, *args, **kwargs):
3686 return self.makenew(request, *args, **kwargs)
3688 def get_serializer_class(self):
3689 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3691 return self.id_serializer_class
3693 return self.serializer_class
3695 def makenew(self, request, *args, **kwargs):
3697 serializer = self.get_serializer(obj)
3698 return Response(serializer.data)
3703 class DashboardViewList(generics.ListCreateAPIView):
3704 queryset = DashboardView.objects.select_related().all()
3705 serializer_class = DashboardViewSerializer
3706 id_serializer_class = DashboardViewIdSerializer
3707 filter_backends = (filters.DjangoFilterBackend,)
3708 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
3710 def get_serializer_class(self):
3711 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3713 return self.id_serializer_class
3715 return self.serializer_class
3717 def get_queryset(self):
3718 return DashboardView.select_by_user(self.request.user)
3720 def create(self, request, *args, **kwargs):
3721 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3722 if not (serializer.is_valid()):
3723 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3724 obj = serializer.object
3725 obj.caller = request.user
3726 if obj.can_update(request.user):
3727 return super(DashboardViewList, self).create(request, *args, **kwargs)
3729 raise Exception("failed obj.can_update")
3731 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
3732 if (ret.status_code%100 != 200):
3733 raise Exception(ret.data)
3738 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3739 queryset = DashboardView.objects.select_related().all()
3740 serializer_class = DashboardViewSerializer
3741 id_serializer_class = DashboardViewIdSerializer
3743 def get_serializer_class(self):
3744 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3746 return self.id_serializer_class
3748 return self.serializer_class
3750 def get_queryset(self):
3751 return DashboardView.select_by_user(self.request.user)
3753 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3755 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3758 XXX smbaker: my intent was to create a view that would return 'new' objects
3759 filled with defaults. I solved it another way, so this code may soon be
3762 class DashboardViewNew(GenericAPIView):
3763 serializer_class = DashboardViewSerializer
3764 id_serializer_class = DashboardViewIdSerializer
3766 def get(self, request, *args, **kwargs):
3767 return self.makenew(request, *args, **kwargs)
3769 def get_serializer_class(self):
3770 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3772 return self.id_serializer_class
3774 return self.serializer_class
3776 def makenew(self, request, *args, **kwargs):
3777 obj = DashboardView()
3778 serializer = self.get_serializer(obj)
3779 return Response(serializer.data)
3784 class ImageDeploymentsList(generics.ListCreateAPIView):
3785 queryset = ImageDeployments.objects.select_related().all()
3786 serializer_class = ImageDeploymentsSerializer
3787 id_serializer_class = ImageDeploymentsIdSerializer
3788 filter_backends = (filters.DjangoFilterBackend,)
3789 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
3791 def get_serializer_class(self):
3792 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3794 return self.id_serializer_class
3796 return self.serializer_class
3798 def get_queryset(self):
3799 return ImageDeployments.select_by_user(self.request.user)
3801 def create(self, request, *args, **kwargs):
3802 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3803 if not (serializer.is_valid()):
3804 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3805 obj = serializer.object
3806 obj.caller = request.user
3807 if obj.can_update(request.user):
3808 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
3810 raise Exception("failed obj.can_update")
3812 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
3813 if (ret.status_code%100 != 200):
3814 raise Exception(ret.data)
3819 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3820 queryset = ImageDeployments.objects.select_related().all()
3821 serializer_class = ImageDeploymentsSerializer
3822 id_serializer_class = ImageDeploymentsIdSerializer
3824 def get_serializer_class(self):
3825 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3827 return self.id_serializer_class
3829 return self.serializer_class
3831 def get_queryset(self):
3832 return ImageDeployments.select_by_user(self.request.user)
3834 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3836 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3839 XXX smbaker: my intent was to create a view that would return 'new' objects
3840 filled with defaults. I solved it another way, so this code may soon be
3843 class ImageDeploymentsNew(GenericAPIView):
3844 serializer_class = ImageDeploymentsSerializer
3845 id_serializer_class = ImageDeploymentsIdSerializer
3847 def get(self, request, *args, **kwargs):
3848 return self.makenew(request, *args, **kwargs)
3850 def get_serializer_class(self):
3851 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3853 return self.id_serializer_class
3855 return self.serializer_class
3857 def makenew(self, request, *args, **kwargs):
3858 obj = ImageDeployments()
3859 serializer = self.get_serializer(obj)
3860 return Response(serializer.data)
3865 class ReservedResourceList(generics.ListCreateAPIView):
3866 queryset = ReservedResource.objects.select_related().all()
3867 serializer_class = ReservedResourceSerializer
3868 id_serializer_class = ReservedResourceIdSerializer
3869 filter_backends = (filters.DjangoFilterBackend,)
3870 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
3872 def get_serializer_class(self):
3873 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3875 return self.id_serializer_class
3877 return self.serializer_class
3879 def get_queryset(self):
3880 return ReservedResource.select_by_user(self.request.user)
3882 def create(self, request, *args, **kwargs):
3883 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3884 if not (serializer.is_valid()):
3885 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3886 obj = serializer.object
3887 obj.caller = request.user
3888 if obj.can_update(request.user):
3889 return super(ReservedResourceList, self).create(request, *args, **kwargs)
3891 raise Exception("failed obj.can_update")
3893 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
3894 if (ret.status_code%100 != 200):
3895 raise Exception(ret.data)
3900 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3901 queryset = ReservedResource.objects.select_related().all()
3902 serializer_class = ReservedResourceSerializer
3903 id_serializer_class = ReservedResourceIdSerializer
3905 def get_serializer_class(self):
3906 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3908 return self.id_serializer_class
3910 return self.serializer_class
3912 def get_queryset(self):
3913 return ReservedResource.select_by_user(self.request.user)
3915 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3917 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3920 XXX smbaker: my intent was to create a view that would return 'new' objects
3921 filled with defaults. I solved it another way, so this code may soon be
3924 class ReservedResourceNew(GenericAPIView):
3925 serializer_class = ReservedResourceSerializer
3926 id_serializer_class = ReservedResourceIdSerializer
3928 def get(self, request, *args, **kwargs):
3929 return self.makenew(request, *args, **kwargs)
3931 def get_serializer_class(self):
3932 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3934 return self.id_serializer_class
3936 return self.serializer_class
3938 def makenew(self, request, *args, **kwargs):
3939 obj = ReservedResource()
3940 serializer = self.get_serializer(obj)
3941 return Response(serializer.data)
3946 class NetworkSliceList(generics.ListCreateAPIView):
3947 queryset = NetworkSlice.objects.select_related().all()
3948 serializer_class = NetworkSliceSerializer
3949 id_serializer_class = NetworkSliceIdSerializer
3950 filter_backends = (filters.DjangoFilterBackend,)
3951 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
3953 def get_serializer_class(self):
3954 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3956 return self.id_serializer_class
3958 return self.serializer_class
3960 def get_queryset(self):
3961 return NetworkSlice.select_by_user(self.request.user)
3963 def create(self, request, *args, **kwargs):
3964 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3965 if not (serializer.is_valid()):
3966 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
3967 obj = serializer.object
3968 obj.caller = request.user
3969 if obj.can_update(request.user):
3970 return super(NetworkSliceList, self).create(request, *args, **kwargs)
3972 raise Exception("failed obj.can_update")
3974 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
3975 if (ret.status_code%100 != 200):
3976 raise Exception(ret.data)
3981 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3982 queryset = NetworkSlice.objects.select_related().all()
3983 serializer_class = NetworkSliceSerializer
3984 id_serializer_class = NetworkSliceIdSerializer
3986 def get_serializer_class(self):
3987 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3989 return self.id_serializer_class
3991 return self.serializer_class
3993 def get_queryset(self):
3994 return NetworkSlice.select_by_user(self.request.user)
3996 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3998 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4001 XXX smbaker: my intent was to create a view that would return 'new' objects
4002 filled with defaults. I solved it another way, so this code may soon be
4005 class NetworkSliceNew(GenericAPIView):
4006 serializer_class = NetworkSliceSerializer
4007 id_serializer_class = NetworkSliceIdSerializer
4009 def get(self, request, *args, **kwargs):
4010 return self.makenew(request, *args, **kwargs)
4012 def get_serializer_class(self):
4013 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4015 return self.id_serializer_class
4017 return self.serializer_class
4019 def makenew(self, request, *args, **kwargs):
4020 obj = NetworkSlice()
4021 serializer = self.get_serializer(obj)
4022 return Response(serializer.data)
4027 class UserDashboardViewList(generics.ListCreateAPIView):
4028 queryset = UserDashboardView.objects.select_related().all()
4029 serializer_class = UserDashboardViewSerializer
4030 id_serializer_class = UserDashboardViewIdSerializer
4031 filter_backends = (filters.DjangoFilterBackend,)
4032 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4034 def get_serializer_class(self):
4035 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4037 return self.id_serializer_class
4039 return self.serializer_class
4041 def get_queryset(self):
4042 return UserDashboardView.select_by_user(self.request.user)
4044 def create(self, request, *args, **kwargs):
4045 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4046 if not (serializer.is_valid()):
4047 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4048 obj = serializer.object
4049 obj.caller = request.user
4050 if obj.can_update(request.user):
4051 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4053 raise Exception("failed obj.can_update")
4055 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4056 if (ret.status_code%100 != 200):
4057 raise Exception(ret.data)
4062 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4063 queryset = UserDashboardView.objects.select_related().all()
4064 serializer_class = UserDashboardViewSerializer
4065 id_serializer_class = UserDashboardViewIdSerializer
4067 def get_serializer_class(self):
4068 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4070 return self.id_serializer_class
4072 return self.serializer_class
4074 def get_queryset(self):
4075 return UserDashboardView.select_by_user(self.request.user)
4077 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4079 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4082 XXX smbaker: my intent was to create a view that would return 'new' objects
4083 filled with defaults. I solved it another way, so this code may soon be
4086 class UserDashboardViewNew(GenericAPIView):
4087 serializer_class = UserDashboardViewSerializer
4088 id_serializer_class = UserDashboardViewIdSerializer
4090 def get(self, request, *args, **kwargs):
4091 return self.makenew(request, *args, **kwargs)
4093 def get_serializer_class(self):
4094 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4096 return self.id_serializer_class
4098 return self.serializer_class
4100 def makenew(self, request, *args, **kwargs):
4101 obj = UserDashboardView()
4102 serializer = self.get_serializer(obj)
4103 return Response(serializer.data)
4108 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4109 queryset = PlanetStackPrivilege.objects.select_related().all()
4110 serializer_class = PlanetStackPrivilegeSerializer
4111 id_serializer_class = PlanetStackPrivilegeIdSerializer
4112 filter_backends = (filters.DjangoFilterBackend,)
4113 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4115 def get_serializer_class(self):
4116 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4118 return self.id_serializer_class
4120 return self.serializer_class
4122 def get_queryset(self):
4123 return PlanetStackPrivilege.select_by_user(self.request.user)
4125 def create(self, request, *args, **kwargs):
4126 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4127 if not (serializer.is_valid()):
4128 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4129 obj = serializer.object
4130 obj.caller = request.user
4131 if obj.can_update(request.user):
4132 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4134 raise Exception("failed obj.can_update")
4136 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4137 if (ret.status_code%100 != 200):
4138 raise Exception(ret.data)
4143 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4144 queryset = PlanetStackPrivilege.objects.select_related().all()
4145 serializer_class = PlanetStackPrivilegeSerializer
4146 id_serializer_class = PlanetStackPrivilegeIdSerializer
4148 def get_serializer_class(self):
4149 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4151 return self.id_serializer_class
4153 return self.serializer_class
4155 def get_queryset(self):
4156 return PlanetStackPrivilege.select_by_user(self.request.user)
4158 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4160 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4163 XXX smbaker: my intent was to create a view that would return 'new' objects
4164 filled with defaults. I solved it another way, so this code may soon be
4167 class PlanetStackPrivilegeNew(GenericAPIView):
4168 serializer_class = PlanetStackPrivilegeSerializer
4169 id_serializer_class = PlanetStackPrivilegeIdSerializer
4171 def get(self, request, *args, **kwargs):
4172 return self.makenew(request, *args, **kwargs)
4174 def get_serializer_class(self):
4175 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4177 return self.id_serializer_class
4179 return self.serializer_class
4181 def makenew(self, request, *args, **kwargs):
4182 obj = PlanetStackPrivilege()
4183 serializer = self.get_serializer(obj)
4184 return Response(serializer.data)
4189 class UserList(generics.ListCreateAPIView):
4190 queryset = User.objects.select_related().all()
4191 serializer_class = UserSerializer
4192 id_serializer_class = UserIdSerializer
4193 filter_backends = (filters.DjangoFilterBackend,)
4194 filter_fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
4196 def get_serializer_class(self):
4197 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4199 return self.id_serializer_class
4201 return self.serializer_class
4203 def get_queryset(self):
4204 return User.select_by_user(self.request.user)
4206 def create(self, request, *args, **kwargs):
4207 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4208 if not (serializer.is_valid()):
4209 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4210 obj = serializer.object
4211 obj.caller = request.user
4212 if obj.can_update(request.user):
4213 return super(UserList, self).create(request, *args, **kwargs)
4215 raise Exception("failed obj.can_update")
4217 ret = super(UserList, self).create(request, *args, **kwargs)
4218 if (ret.status_code%100 != 200):
4219 raise Exception(ret.data)
4224 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4225 queryset = User.objects.select_related().all()
4226 serializer_class = UserSerializer
4227 id_serializer_class = UserIdSerializer
4229 def get_serializer_class(self):
4230 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4232 return self.id_serializer_class
4234 return self.serializer_class
4236 def get_queryset(self):
4237 return User.select_by_user(self.request.user)
4239 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4241 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4244 XXX smbaker: my intent was to create a view that would return 'new' objects
4245 filled with defaults. I solved it another way, so this code may soon be
4248 class UserNew(GenericAPIView):
4249 serializer_class = UserSerializer
4250 id_serializer_class = UserIdSerializer
4252 def get(self, request, *args, **kwargs):
4253 return self.makenew(request, *args, **kwargs)
4255 def get_serializer_class(self):
4256 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4258 return self.id_serializer_class
4260 return self.serializer_class
4262 def makenew(self, request, *args, **kwargs):
4264 serializer = self.get_serializer(obj)
4265 return Response(serializer.data)
4270 class DeploymentList(generics.ListCreateAPIView):
4271 queryset = Deployment.objects.select_related().all()
4272 serializer_class = DeploymentSerializer
4273 id_serializer_class = DeploymentIdSerializer
4274 filter_backends = (filters.DjangoFilterBackend,)
4275 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
4277 def get_serializer_class(self):
4278 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4280 return self.id_serializer_class
4282 return self.serializer_class
4284 def get_queryset(self):
4285 return Deployment.select_by_user(self.request.user)
4287 def create(self, request, *args, **kwargs):
4288 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4289 if not (serializer.is_valid()):
4290 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4291 obj = serializer.object
4292 obj.caller = request.user
4293 if obj.can_update(request.user):
4294 return super(DeploymentList, self).create(request, *args, **kwargs)
4296 raise Exception("failed obj.can_update")
4298 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4299 if (ret.status_code%100 != 200):
4300 raise Exception(ret.data)
4305 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4306 queryset = Deployment.objects.select_related().all()
4307 serializer_class = DeploymentSerializer
4308 id_serializer_class = DeploymentIdSerializer
4310 def get_serializer_class(self):
4311 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4313 return self.id_serializer_class
4315 return self.serializer_class
4317 def get_queryset(self):
4318 return Deployment.select_by_user(self.request.user)
4320 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4322 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4325 XXX smbaker: my intent was to create a view that would return 'new' objects
4326 filled with defaults. I solved it another way, so this code may soon be
4329 class DeploymentNew(GenericAPIView):
4330 serializer_class = DeploymentSerializer
4331 id_serializer_class = DeploymentIdSerializer
4333 def get(self, request, *args, **kwargs):
4334 return self.makenew(request, *args, **kwargs)
4336 def get_serializer_class(self):
4337 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4339 return self.id_serializer_class
4341 return self.serializer_class
4343 def makenew(self, request, *args, **kwargs):
4345 serializer = self.get_serializer(obj)
4346 return Response(serializer.data)
4351 class ReservationList(generics.ListCreateAPIView):
4352 queryset = Reservation.objects.select_related().all()
4353 serializer_class = ReservationSerializer
4354 id_serializer_class = ReservationIdSerializer
4355 filter_backends = (filters.DjangoFilterBackend,)
4356 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4358 def get_serializer_class(self):
4359 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4361 return self.id_serializer_class
4363 return self.serializer_class
4365 def get_queryset(self):
4366 return Reservation.select_by_user(self.request.user)
4368 def create(self, request, *args, **kwargs):
4369 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4370 if not (serializer.is_valid()):
4371 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4372 obj = serializer.object
4373 obj.caller = request.user
4374 if obj.can_update(request.user):
4375 return super(ReservationList, self).create(request, *args, **kwargs)
4377 raise Exception("failed obj.can_update")
4379 ret = super(ReservationList, self).create(request, *args, **kwargs)
4380 if (ret.status_code%100 != 200):
4381 raise Exception(ret.data)
4386 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4387 queryset = Reservation.objects.select_related().all()
4388 serializer_class = ReservationSerializer
4389 id_serializer_class = ReservationIdSerializer
4391 def get_serializer_class(self):
4392 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4394 return self.id_serializer_class
4396 return self.serializer_class
4398 def get_queryset(self):
4399 return Reservation.select_by_user(self.request.user)
4401 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4403 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4406 XXX smbaker: my intent was to create a view that would return 'new' objects
4407 filled with defaults. I solved it another way, so this code may soon be
4410 class ReservationNew(GenericAPIView):
4411 serializer_class = ReservationSerializer
4412 id_serializer_class = ReservationIdSerializer
4414 def get(self, request, *args, **kwargs):
4415 return self.makenew(request, *args, **kwargs)
4417 def get_serializer_class(self):
4418 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4420 return self.id_serializer_class
4422 return self.serializer_class
4424 def makenew(self, request, *args, **kwargs):
4426 serializer = self.get_serializer(obj)
4427 return Response(serializer.data)
4432 class SliceDeploymentsList(generics.ListCreateAPIView):
4433 queryset = SliceDeployments.objects.select_related().all()
4434 serializer_class = SliceDeploymentsSerializer
4435 id_serializer_class = SliceDeploymentsIdSerializer
4436 filter_backends = (filters.DjangoFilterBackend,)
4437 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
4439 def get_serializer_class(self):
4440 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4442 return self.id_serializer_class
4444 return self.serializer_class
4446 def get_queryset(self):
4447 return SliceDeployments.select_by_user(self.request.user)
4449 def create(self, request, *args, **kwargs):
4450 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4451 if not (serializer.is_valid()):
4452 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4453 obj = serializer.object
4454 obj.caller = request.user
4455 if obj.can_update(request.user):
4456 return super(SliceDeploymentsList, self).create(request, *args, **kwargs)
4458 raise Exception("failed obj.can_update")
4460 ret = super(SliceDeploymentsList, self).create(request, *args, **kwargs)
4461 if (ret.status_code%100 != 200):
4462 raise Exception(ret.data)
4467 class SliceDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4468 queryset = SliceDeployments.objects.select_related().all()
4469 serializer_class = SliceDeploymentsSerializer
4470 id_serializer_class = SliceDeploymentsIdSerializer
4472 def get_serializer_class(self):
4473 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4475 return self.id_serializer_class
4477 return self.serializer_class
4479 def get_queryset(self):
4480 return SliceDeployments.select_by_user(self.request.user)
4482 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4484 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4487 XXX smbaker: my intent was to create a view that would return 'new' objects
4488 filled with defaults. I solved it another way, so this code may soon be
4491 class SliceDeploymentsNew(GenericAPIView):
4492 serializer_class = SliceDeploymentsSerializer
4493 id_serializer_class = SliceDeploymentsIdSerializer
4495 def get(self, request, *args, **kwargs):
4496 return self.makenew(request, *args, **kwargs)
4498 def get_serializer_class(self):
4499 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4501 return self.id_serializer_class
4503 return self.serializer_class
4505 def makenew(self, request, *args, **kwargs):
4506 obj = SliceDeployments()
4507 serializer = self.get_serializer(obj)
4508 return Response(serializer.data)
4513 class SitePrivilegeList(generics.ListCreateAPIView):
4514 queryset = SitePrivilege.objects.select_related().all()
4515 serializer_class = SitePrivilegeSerializer
4516 id_serializer_class = SitePrivilegeIdSerializer
4517 filter_backends = (filters.DjangoFilterBackend,)
4518 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4520 def get_serializer_class(self):
4521 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4523 return self.id_serializer_class
4525 return self.serializer_class
4527 def get_queryset(self):
4528 return SitePrivilege.select_by_user(self.request.user)
4530 def create(self, request, *args, **kwargs):
4531 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4532 if not (serializer.is_valid()):
4533 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4534 obj = serializer.object
4535 obj.caller = request.user
4536 if obj.can_update(request.user):
4537 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4539 raise Exception("failed obj.can_update")
4541 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4542 if (ret.status_code%100 != 200):
4543 raise Exception(ret.data)
4548 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4549 queryset = SitePrivilege.objects.select_related().all()
4550 serializer_class = SitePrivilegeSerializer
4551 id_serializer_class = SitePrivilegeIdSerializer
4553 def get_serializer_class(self):
4554 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4556 return self.id_serializer_class
4558 return self.serializer_class
4560 def get_queryset(self):
4561 return SitePrivilege.select_by_user(self.request.user)
4563 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4565 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4568 XXX smbaker: my intent was to create a view that would return 'new' objects
4569 filled with defaults. I solved it another way, so this code may soon be
4572 class SitePrivilegeNew(GenericAPIView):
4573 serializer_class = SitePrivilegeSerializer
4574 id_serializer_class = SitePrivilegeIdSerializer
4576 def get(self, request, *args, **kwargs):
4577 return self.makenew(request, *args, **kwargs)
4579 def get_serializer_class(self):
4580 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4582 return self.id_serializer_class
4584 return self.serializer_class
4586 def makenew(self, request, *args, **kwargs):
4587 obj = SitePrivilege()
4588 serializer = self.get_serializer(obj)
4589 return Response(serializer.data)
4594 class PlanetStackList(generics.ListCreateAPIView):
4595 queryset = PlanetStack.objects.select_related().all()
4596 serializer_class = PlanetStackSerializer
4597 id_serializer_class = PlanetStackIdSerializer
4598 filter_backends = (filters.DjangoFilterBackend,)
4599 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
4601 def get_serializer_class(self):
4602 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4604 return self.id_serializer_class
4606 return self.serializer_class
4608 def get_queryset(self):
4609 return PlanetStack.select_by_user(self.request.user)
4611 def create(self, request, *args, **kwargs):
4612 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4613 if not (serializer.is_valid()):
4614 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4615 obj = serializer.object
4616 obj.caller = request.user
4617 if obj.can_update(request.user):
4618 return super(PlanetStackList, self).create(request, *args, **kwargs)
4620 raise Exception("failed obj.can_update")
4622 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
4623 if (ret.status_code%100 != 200):
4624 raise Exception(ret.data)
4629 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4630 queryset = PlanetStack.objects.select_related().all()
4631 serializer_class = PlanetStackSerializer
4632 id_serializer_class = PlanetStackIdSerializer
4634 def get_serializer_class(self):
4635 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4637 return self.id_serializer_class
4639 return self.serializer_class
4641 def get_queryset(self):
4642 return PlanetStack.select_by_user(self.request.user)
4644 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4646 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4649 XXX smbaker: my intent was to create a view that would return 'new' objects
4650 filled with defaults. I solved it another way, so this code may soon be
4653 class PlanetStackNew(GenericAPIView):
4654 serializer_class = PlanetStackSerializer
4655 id_serializer_class = PlanetStackIdSerializer
4657 def get(self, request, *args, **kwargs):
4658 return self.makenew(request, *args, **kwargs)
4660 def get_serializer_class(self):
4661 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4663 return self.id_serializer_class
4665 return self.serializer_class
4667 def makenew(self, request, *args, **kwargs):
4669 serializer = self.get_serializer(obj)
4670 return Response(serializer.data)
4675 class UserDeploymentsList(generics.ListCreateAPIView):
4676 queryset = UserDeployments.objects.select_related().all()
4677 serializer_class = UserDeploymentsSerializer
4678 id_serializer_class = UserDeploymentsIdSerializer
4679 filter_backends = (filters.DjangoFilterBackend,)
4680 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
4682 def get_serializer_class(self):
4683 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4685 return self.id_serializer_class
4687 return self.serializer_class
4689 def get_queryset(self):
4690 return UserDeployments.select_by_user(self.request.user)
4692 def create(self, request, *args, **kwargs):
4693 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4694 if not (serializer.is_valid()):
4695 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4696 obj = serializer.object
4697 obj.caller = request.user
4698 if obj.can_update(request.user):
4699 return super(UserDeploymentsList, self).create(request, *args, **kwargs)
4701 raise Exception("failed obj.can_update")
4703 ret = super(UserDeploymentsList, self).create(request, *args, **kwargs)
4704 if (ret.status_code%100 != 200):
4705 raise Exception(ret.data)
4710 class UserDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4711 queryset = UserDeployments.objects.select_related().all()
4712 serializer_class = UserDeploymentsSerializer
4713 id_serializer_class = UserDeploymentsIdSerializer
4715 def get_serializer_class(self):
4716 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4718 return self.id_serializer_class
4720 return self.serializer_class
4722 def get_queryset(self):
4723 return UserDeployments.select_by_user(self.request.user)
4725 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4727 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4730 XXX smbaker: my intent was to create a view that would return 'new' objects
4731 filled with defaults. I solved it another way, so this code may soon be
4734 class UserDeploymentsNew(GenericAPIView):
4735 serializer_class = UserDeploymentsSerializer
4736 id_serializer_class = UserDeploymentsIdSerializer
4738 def get(self, request, *args, **kwargs):
4739 return self.makenew(request, *args, **kwargs)
4741 def get_serializer_class(self):
4742 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4744 return self.id_serializer_class
4746 return self.serializer_class
4748 def makenew(self, request, *args, **kwargs):
4749 obj = UserDeployments()
4750 serializer = self.get_serializer(obj)
4751 return Response(serializer.data)
4756 class AccountList(generics.ListCreateAPIView):
4757 queryset = Account.objects.select_related().all()
4758 serializer_class = AccountSerializer
4759 id_serializer_class = AccountIdSerializer
4760 filter_backends = (filters.DjangoFilterBackend,)
4761 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
4763 def get_serializer_class(self):
4764 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4766 return self.id_serializer_class
4768 return self.serializer_class
4770 def get_queryset(self):
4771 return Account.select_by_user(self.request.user)
4773 def create(self, request, *args, **kwargs):
4774 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4775 if not (serializer.is_valid()):
4776 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4777 obj = serializer.object
4778 obj.caller = request.user
4779 if obj.can_update(request.user):
4780 return super(AccountList, self).create(request, *args, **kwargs)
4782 raise Exception("failed obj.can_update")
4784 ret = super(AccountList, self).create(request, *args, **kwargs)
4785 if (ret.status_code%100 != 200):
4786 raise Exception(ret.data)
4791 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4792 queryset = Account.objects.select_related().all()
4793 serializer_class = AccountSerializer
4794 id_serializer_class = AccountIdSerializer
4796 def get_serializer_class(self):
4797 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4799 return self.id_serializer_class
4801 return self.serializer_class
4803 def get_queryset(self):
4804 return Account.select_by_user(self.request.user)
4806 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4808 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4811 XXX smbaker: my intent was to create a view that would return 'new' objects
4812 filled with defaults. I solved it another way, so this code may soon be
4815 class AccountNew(GenericAPIView):
4816 serializer_class = AccountSerializer
4817 id_serializer_class = AccountIdSerializer
4819 def get(self, request, *args, **kwargs):
4820 return self.makenew(request, *args, **kwargs)
4822 def get_serializer_class(self):
4823 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4825 return self.id_serializer_class
4827 return self.serializer_class
4829 def makenew(self, request, *args, **kwargs):
4831 serializer = self.get_serializer(obj)
4832 return Response(serializer.data)
4837 class NetworkParameterTypeList(generics.ListCreateAPIView):
4838 queryset = NetworkParameterType.objects.select_related().all()
4839 serializer_class = NetworkParameterTypeSerializer
4840 id_serializer_class = NetworkParameterTypeIdSerializer
4841 filter_backends = (filters.DjangoFilterBackend,)
4842 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
4844 def get_serializer_class(self):
4845 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4847 return self.id_serializer_class
4849 return self.serializer_class
4851 def get_queryset(self):
4852 return NetworkParameterType.select_by_user(self.request.user)
4854 def create(self, request, *args, **kwargs):
4855 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4856 if not (serializer.is_valid()):
4857 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4858 obj = serializer.object
4859 obj.caller = request.user
4860 if obj.can_update(request.user):
4861 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
4863 raise Exception("failed obj.can_update")
4865 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
4866 if (ret.status_code%100 != 200):
4867 raise Exception(ret.data)
4872 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4873 queryset = NetworkParameterType.objects.select_related().all()
4874 serializer_class = NetworkParameterTypeSerializer
4875 id_serializer_class = NetworkParameterTypeIdSerializer
4877 def get_serializer_class(self):
4878 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4880 return self.id_serializer_class
4882 return self.serializer_class
4884 def get_queryset(self):
4885 return NetworkParameterType.select_by_user(self.request.user)
4887 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4889 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4892 XXX smbaker: my intent was to create a view that would return 'new' objects
4893 filled with defaults. I solved it another way, so this code may soon be
4896 class NetworkParameterTypeNew(GenericAPIView):
4897 serializer_class = NetworkParameterTypeSerializer
4898 id_serializer_class = NetworkParameterTypeIdSerializer
4900 def get(self, request, *args, **kwargs):
4901 return self.makenew(request, *args, **kwargs)
4903 def get_serializer_class(self):
4904 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4906 return self.id_serializer_class
4908 return self.serializer_class
4910 def makenew(self, request, *args, **kwargs):
4911 obj = NetworkParameterType()
4912 serializer = self.get_serializer(obj)
4913 return Response(serializer.data)
4918 class SiteCredentialList(generics.ListCreateAPIView):
4919 queryset = SiteCredential.objects.select_related().all()
4920 serializer_class = SiteCredentialSerializer
4921 id_serializer_class = SiteCredentialIdSerializer
4922 filter_backends = (filters.DjangoFilterBackend,)
4923 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
4925 def get_serializer_class(self):
4926 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4928 return self.id_serializer_class
4930 return self.serializer_class
4932 def get_queryset(self):
4933 return SiteCredential.select_by_user(self.request.user)
4935 def create(self, request, *args, **kwargs):
4936 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4937 if not (serializer.is_valid()):
4938 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
4939 obj = serializer.object
4940 obj.caller = request.user
4941 if obj.can_update(request.user):
4942 return super(SiteCredentialList, self).create(request, *args, **kwargs)
4944 raise Exception("failed obj.can_update")
4946 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
4947 if (ret.status_code%100 != 200):
4948 raise Exception(ret.data)
4953 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4954 queryset = SiteCredential.objects.select_related().all()
4955 serializer_class = SiteCredentialSerializer
4956 id_serializer_class = SiteCredentialIdSerializer
4958 def get_serializer_class(self):
4959 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4961 return self.id_serializer_class
4963 return self.serializer_class
4965 def get_queryset(self):
4966 return SiteCredential.select_by_user(self.request.user)
4968 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4970 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4973 XXX smbaker: my intent was to create a view that would return 'new' objects
4974 filled with defaults. I solved it another way, so this code may soon be
4977 class SiteCredentialNew(GenericAPIView):
4978 serializer_class = SiteCredentialSerializer
4979 id_serializer_class = SiteCredentialIdSerializer
4981 def get(self, request, *args, **kwargs):
4982 return self.makenew(request, *args, **kwargs)
4984 def get_serializer_class(self):
4985 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4987 return self.id_serializer_class
4989 return self.serializer_class
4991 def makenew(self, request, *args, **kwargs):
4992 obj = SiteCredential()
4993 serializer = self.get_serializer(obj)
4994 return Response(serializer.data)
4999 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5000 queryset = DeploymentPrivilege.objects.select_related().all()
5001 serializer_class = DeploymentPrivilegeSerializer
5002 id_serializer_class = DeploymentPrivilegeIdSerializer
5003 filter_backends = (filters.DjangoFilterBackend,)
5004 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5006 def get_serializer_class(self):
5007 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5009 return self.id_serializer_class
5011 return self.serializer_class
5013 def get_queryset(self):
5014 return DeploymentPrivilege.select_by_user(self.request.user)
5016 def create(self, request, *args, **kwargs):
5017 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5018 if not (serializer.is_valid()):
5019 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5020 obj = serializer.object
5021 obj.caller = request.user
5022 if obj.can_update(request.user):
5023 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5025 raise Exception("failed obj.can_update")
5027 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5028 if (ret.status_code%100 != 200):
5029 raise Exception(ret.data)
5034 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5035 queryset = DeploymentPrivilege.objects.select_related().all()
5036 serializer_class = DeploymentPrivilegeSerializer
5037 id_serializer_class = DeploymentPrivilegeIdSerializer
5039 def get_serializer_class(self):
5040 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5042 return self.id_serializer_class
5044 return self.serializer_class
5046 def get_queryset(self):
5047 return DeploymentPrivilege.select_by_user(self.request.user)
5049 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5051 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5054 XXX smbaker: my intent was to create a view that would return 'new' objects
5055 filled with defaults. I solved it another way, so this code may soon be
5058 class DeploymentPrivilegeNew(GenericAPIView):
5059 serializer_class = DeploymentPrivilegeSerializer
5060 id_serializer_class = DeploymentPrivilegeIdSerializer
5062 def get(self, request, *args, **kwargs):
5063 return self.makenew(request, *args, **kwargs)
5065 def get_serializer_class(self):
5066 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5068 return self.id_serializer_class
5070 return self.serializer_class
5072 def makenew(self, request, *args, **kwargs):
5073 obj = DeploymentPrivilege()
5074 serializer = self.get_serializer(obj)
5075 return Response(serializer.data)
5080 class DeploymentRoleList(generics.ListCreateAPIView):
5081 queryset = DeploymentRole.objects.select_related().all()
5082 serializer_class = DeploymentRoleSerializer
5083 id_serializer_class = DeploymentRoleIdSerializer
5084 filter_backends = (filters.DjangoFilterBackend,)
5085 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5087 def get_serializer_class(self):
5088 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5090 return self.id_serializer_class
5092 return self.serializer_class
5094 def get_queryset(self):
5095 return DeploymentRole.select_by_user(self.request.user)
5097 def create(self, request, *args, **kwargs):
5098 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5099 if not (serializer.is_valid()):
5100 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5101 obj = serializer.object
5102 obj.caller = request.user
5103 if obj.can_update(request.user):
5104 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5106 raise Exception("failed obj.can_update")
5108 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5109 if (ret.status_code%100 != 200):
5110 raise Exception(ret.data)
5115 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5116 queryset = DeploymentRole.objects.select_related().all()
5117 serializer_class = DeploymentRoleSerializer
5118 id_serializer_class = DeploymentRoleIdSerializer
5120 def get_serializer_class(self):
5121 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5123 return self.id_serializer_class
5125 return self.serializer_class
5127 def get_queryset(self):
5128 return DeploymentRole.select_by_user(self.request.user)
5130 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5132 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5135 XXX smbaker: my intent was to create a view that would return 'new' objects
5136 filled with defaults. I solved it another way, so this code may soon be
5139 class DeploymentRoleNew(GenericAPIView):
5140 serializer_class = DeploymentRoleSerializer
5141 id_serializer_class = DeploymentRoleIdSerializer
5143 def get(self, request, *args, **kwargs):
5144 return self.makenew(request, *args, **kwargs)
5146 def get_serializer_class(self):
5147 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5149 return self.id_serializer_class
5151 return self.serializer_class
5153 def makenew(self, request, *args, **kwargs):
5154 obj = DeploymentRole()
5155 serializer = self.get_serializer(obj)
5156 return Response(serializer.data)
5161 class UserCredentialList(generics.ListCreateAPIView):
5162 queryset = UserCredential.objects.select_related().all()
5163 serializer_class = UserCredentialSerializer
5164 id_serializer_class = UserCredentialIdSerializer
5165 filter_backends = (filters.DjangoFilterBackend,)
5166 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5168 def get_serializer_class(self):
5169 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5171 return self.id_serializer_class
5173 return self.serializer_class
5175 def get_queryset(self):
5176 return UserCredential.select_by_user(self.request.user)
5178 def create(self, request, *args, **kwargs):
5179 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5180 if not (serializer.is_valid()):
5181 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5182 obj = serializer.object
5183 obj.caller = request.user
5184 if obj.can_update(request.user):
5185 return super(UserCredentialList, self).create(request, *args, **kwargs)
5187 raise Exception("failed obj.can_update")
5189 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5190 if (ret.status_code%100 != 200):
5191 raise Exception(ret.data)
5196 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5197 queryset = UserCredential.objects.select_related().all()
5198 serializer_class = UserCredentialSerializer
5199 id_serializer_class = UserCredentialIdSerializer
5201 def get_serializer_class(self):
5202 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5204 return self.id_serializer_class
5206 return self.serializer_class
5208 def get_queryset(self):
5209 return UserCredential.select_by_user(self.request.user)
5211 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5213 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5216 XXX smbaker: my intent was to create a view that would return 'new' objects
5217 filled with defaults. I solved it another way, so this code may soon be
5220 class UserCredentialNew(GenericAPIView):
5221 serializer_class = UserCredentialSerializer
5222 id_serializer_class = UserCredentialIdSerializer
5224 def get(self, request, *args, **kwargs):
5225 return self.makenew(request, *args, **kwargs)
5227 def get_serializer_class(self):
5228 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5230 return self.id_serializer_class
5232 return self.serializer_class
5234 def makenew(self, request, *args, **kwargs):
5235 obj = UserCredential()
5236 serializer = self.get_serializer(obj)
5237 return Response(serializer.data)
5242 class SiteDeploymentsList(generics.ListCreateAPIView):
5243 queryset = SiteDeployments.objects.select_related().all()
5244 serializer_class = SiteDeploymentsSerializer
5245 id_serializer_class = SiteDeploymentsIdSerializer
5246 filter_backends = (filters.DjangoFilterBackend,)
5247 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
5249 def get_serializer_class(self):
5250 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5252 return self.id_serializer_class
5254 return self.serializer_class
5256 def get_queryset(self):
5257 return SiteDeployments.select_by_user(self.request.user)
5259 def create(self, request, *args, **kwargs):
5260 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5261 if not (serializer.is_valid()):
5262 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5263 obj = serializer.object
5264 obj.caller = request.user
5265 if obj.can_update(request.user):
5266 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5268 raise Exception("failed obj.can_update")
5270 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5271 if (ret.status_code%100 != 200):
5272 raise Exception(ret.data)
5277 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5278 queryset = SiteDeployments.objects.select_related().all()
5279 serializer_class = SiteDeploymentsSerializer
5280 id_serializer_class = SiteDeploymentsIdSerializer
5282 def get_serializer_class(self):
5283 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5285 return self.id_serializer_class
5287 return self.serializer_class
5289 def get_queryset(self):
5290 return SiteDeployments.select_by_user(self.request.user)
5292 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5294 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5297 XXX smbaker: my intent was to create a view that would return 'new' objects
5298 filled with defaults. I solved it another way, so this code may soon be
5301 class SiteDeploymentsNew(GenericAPIView):
5302 serializer_class = SiteDeploymentsSerializer
5303 id_serializer_class = SiteDeploymentsIdSerializer
5305 def get(self, request, *args, **kwargs):
5306 return self.makenew(request, *args, **kwargs)
5308 def get_serializer_class(self):
5309 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5311 return self.id_serializer_class
5313 return self.serializer_class
5315 def makenew(self, request, *args, **kwargs):
5316 obj = SiteDeployments()
5317 serializer = self.get_serializer(obj)
5318 return Response(serializer.data)
5323 class SliceTagList(generics.ListCreateAPIView):
5324 queryset = SliceTag.objects.select_related().all()
5325 serializer_class = SliceTagSerializer
5326 id_serializer_class = SliceTagIdSerializer
5327 filter_backends = (filters.DjangoFilterBackend,)
5328 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5330 def get_serializer_class(self):
5331 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5333 return self.id_serializer_class
5335 return self.serializer_class
5337 def get_queryset(self):
5338 return SliceTag.select_by_user(self.request.user)
5340 def create(self, request, *args, **kwargs):
5341 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5342 if not (serializer.is_valid()):
5343 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5344 obj = serializer.object
5345 obj.caller = request.user
5346 if obj.can_update(request.user):
5347 return super(SliceTagList, self).create(request, *args, **kwargs)
5349 raise Exception("failed obj.can_update")
5351 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5352 if (ret.status_code%100 != 200):
5353 raise Exception(ret.data)
5358 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5359 queryset = SliceTag.objects.select_related().all()
5360 serializer_class = SliceTagSerializer
5361 id_serializer_class = SliceTagIdSerializer
5363 def get_serializer_class(self):
5364 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5366 return self.id_serializer_class
5368 return self.serializer_class
5370 def get_queryset(self):
5371 return SliceTag.select_by_user(self.request.user)
5373 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5375 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5378 XXX smbaker: my intent was to create a view that would return 'new' objects
5379 filled with defaults. I solved it another way, so this code may soon be
5382 class SliceTagNew(GenericAPIView):
5383 serializer_class = SliceTagSerializer
5384 id_serializer_class = SliceTagIdSerializer
5386 def get(self, request, *args, **kwargs):
5387 return self.makenew(request, *args, **kwargs)
5389 def get_serializer_class(self):
5390 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5392 return self.id_serializer_class
5394 return self.serializer_class
5396 def makenew(self, request, *args, **kwargs):
5398 serializer = self.get_serializer(obj)
5399 return Response(serializer.data)
5404 class NetworkTemplateList(generics.ListCreateAPIView):
5405 queryset = NetworkTemplate.objects.select_related().all()
5406 serializer_class = NetworkTemplateSerializer
5407 id_serializer_class = NetworkTemplateIdSerializer
5408 filter_backends = (filters.DjangoFilterBackend,)
5409 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
5411 def get_serializer_class(self):
5412 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5414 return self.id_serializer_class
5416 return self.serializer_class
5418 def get_queryset(self):
5419 return NetworkTemplate.select_by_user(self.request.user)
5421 def create(self, request, *args, **kwargs):
5422 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5423 if not (serializer.is_valid()):
5424 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5425 obj = serializer.object
5426 obj.caller = request.user
5427 if obj.can_update(request.user):
5428 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
5430 raise Exception("failed obj.can_update")
5432 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
5433 if (ret.status_code%100 != 200):
5434 raise Exception(ret.data)
5439 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5440 queryset = NetworkTemplate.objects.select_related().all()
5441 serializer_class = NetworkTemplateSerializer
5442 id_serializer_class = NetworkTemplateIdSerializer
5444 def get_serializer_class(self):
5445 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5447 return self.id_serializer_class
5449 return self.serializer_class
5451 def get_queryset(self):
5452 return NetworkTemplate.select_by_user(self.request.user)
5454 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5456 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5459 XXX smbaker: my intent was to create a view that would return 'new' objects
5460 filled with defaults. I solved it another way, so this code may soon be
5463 class NetworkTemplateNew(GenericAPIView):
5464 serializer_class = NetworkTemplateSerializer
5465 id_serializer_class = NetworkTemplateIdSerializer
5467 def get(self, request, *args, **kwargs):
5468 return self.makenew(request, *args, **kwargs)
5470 def get_serializer_class(self):
5471 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5473 return self.id_serializer_class
5475 return self.serializer_class
5477 def makenew(self, request, *args, **kwargs):
5478 obj = NetworkTemplate()
5479 serializer = self.get_serializer(obj)
5480 return Response(serializer.data)
5485 class RouterList(generics.ListCreateAPIView):
5486 queryset = Router.objects.select_related().all()
5487 serializer_class = RouterSerializer
5488 id_serializer_class = RouterIdSerializer
5489 filter_backends = (filters.DjangoFilterBackend,)
5490 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
5492 def get_serializer_class(self):
5493 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5495 return self.id_serializer_class
5497 return self.serializer_class
5499 def get_queryset(self):
5500 return Router.select_by_user(self.request.user)
5502 def create(self, request, *args, **kwargs):
5503 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5504 if not (serializer.is_valid()):
5505 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5506 obj = serializer.object
5507 obj.caller = request.user
5508 if obj.can_update(request.user):
5509 return super(RouterList, self).create(request, *args, **kwargs)
5511 raise Exception("failed obj.can_update")
5513 ret = super(RouterList, self).create(request, *args, **kwargs)
5514 if (ret.status_code%100 != 200):
5515 raise Exception(ret.data)
5520 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5521 queryset = Router.objects.select_related().all()
5522 serializer_class = RouterSerializer
5523 id_serializer_class = RouterIdSerializer
5525 def get_serializer_class(self):
5526 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5528 return self.id_serializer_class
5530 return self.serializer_class
5532 def get_queryset(self):
5533 return Router.select_by_user(self.request.user)
5535 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5537 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5540 XXX smbaker: my intent was to create a view that would return 'new' objects
5541 filled with defaults. I solved it another way, so this code may soon be
5544 class RouterNew(GenericAPIView):
5545 serializer_class = RouterSerializer
5546 id_serializer_class = RouterIdSerializer
5548 def get(self, request, *args, **kwargs):
5549 return self.makenew(request, *args, **kwargs)
5551 def get_serializer_class(self):
5552 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5554 return self.id_serializer_class
5556 return self.serializer_class
5558 def makenew(self, request, *args, **kwargs):
5560 serializer = self.get_serializer(obj)
5561 return Response(serializer.data)
5566 class ServiceResourceList(generics.ListCreateAPIView):
5567 queryset = ServiceResource.objects.select_related().all()
5568 serializer_class = ServiceResourceSerializer
5569 id_serializer_class = ServiceResourceIdSerializer
5570 filter_backends = (filters.DjangoFilterBackend,)
5571 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5573 def get_serializer_class(self):
5574 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5576 return self.id_serializer_class
5578 return self.serializer_class
5580 def get_queryset(self):
5581 return ServiceResource.select_by_user(self.request.user)
5583 def create(self, request, *args, **kwargs):
5584 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5585 if not (serializer.is_valid()):
5586 raise Exception("failed serializer.is_valid: " + str(serializer.errors))
5587 obj = serializer.object
5588 obj.caller = request.user
5589 if obj.can_update(request.user):
5590 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5592 raise Exception("failed obj.can_update")
5594 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5595 if (ret.status_code%100 != 200):
5596 raise Exception(ret.data)
5601 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5602 queryset = ServiceResource.objects.select_related().all()
5603 serializer_class = ServiceResourceSerializer
5604 id_serializer_class = ServiceResourceIdSerializer
5606 def get_serializer_class(self):
5607 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5609 return self.id_serializer_class
5611 return self.serializer_class
5613 def get_queryset(self):
5614 return ServiceResource.select_by_user(self.request.user)
5616 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5618 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5621 XXX smbaker: my intent was to create a view that would return 'new' objects
5622 filled with defaults. I solved it another way, so this code may soon be
5625 class ServiceResourceNew(GenericAPIView):
5626 serializer_class = ServiceResourceSerializer
5627 id_serializer_class = ServiceResourceIdSerializer
5629 def get(self, request, *args, **kwargs):
5630 return self.makenew(request, *args, **kwargs)
5632 def get_serializer_class(self):
5633 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5635 return self.id_serializer_class
5637 return self.serializer_class
5639 def makenew(self, request, *args, **kwargs):
5640 obj = ServiceResource()
5641 serializer = self.get_serializer(obj)
5642 return Response(serializer.data)