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
13 if hasattr(serializers, "ReadOnlyField"):
15 IdField = serializers.ReadOnlyField
18 IdField = serializers.Field
21 Schema of the generator object:
22 all: Set of all Model objects
23 all_if(regex): Set of Model objects that match regex
26 plural: English plural of object name
27 camel: CamelCase version of object name
28 refs: list of references to other Model objects
29 props: list of properties minus refs
31 TODO: Deal with subnets
34 def get_REST_patterns():
36 url(r'^plstackapi/$', api_root),
38 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
39 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
41 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
42 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
44 url(r'plstackapi/controllerimages/$', ControllerImagesList.as_view(), name='controllerimages-list'),
45 url(r'plstackapi/controllerimages/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerImagesDetail.as_view(), name ='controllerimages-detail'),
47 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
48 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
50 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
51 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
53 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
54 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
56 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
57 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
59 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
60 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
62 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
63 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
65 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
66 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
68 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
69 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
71 url(r'plstackapi/controllerprivileges/$', ControllerPrivilegeList.as_view(), name='controllerprivilege-list'),
72 url(r'plstackapi/controllerprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerPrivilegeDetail.as_view(), name ='controllerprivilege-detail'),
74 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
75 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
77 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
78 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
80 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
81 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
83 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
84 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
86 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
87 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
89 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
90 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
92 url(r'plstackapi/controllernetworks/$', ControllerNetworksList.as_view(), name='controllernetworks-list'),
93 url(r'plstackapi/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworksDetail.as_view(), name ='controllernetworks-detail'),
95 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
96 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
98 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
99 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
101 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
102 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
104 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
105 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
107 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
108 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
110 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
111 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
113 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
114 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
116 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
117 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
119 url(r'plstackapi/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
120 url(r'plstackapi/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
122 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
123 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
125 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
126 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
128 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
129 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
131 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
132 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
134 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
135 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
137 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
138 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
140 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
141 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
143 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
144 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
146 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
147 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
149 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
150 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
152 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
153 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
155 url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
156 url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
158 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
159 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
161 url(r'plstackapi/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
162 url(r'plstackapi/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
164 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
165 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
167 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
168 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
170 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
171 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
173 url(r'plstackapi/controllerusers/$', ControllerUsersList.as_view(), name='controllerusers-list'),
174 url(r'plstackapi/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUsersDetail.as_view(), name ='controllerusers-detail'),
176 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
177 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
179 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
180 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
182 url(r'plstackapi/sitedeployments/$', SiteDeploymentsList.as_view(), name='sitedeployments-list'),
183 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentsDetail.as_view(), name ='sitedeployments-detail'),
185 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
186 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
188 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
189 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
191 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
192 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
194 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
195 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
197 url(r'plstackapi/controllerslices/$', ControllerSlicesList.as_view(), name='controllerslices-list'),
198 url(r'plstackapi/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSlicesDetail.as_view(), name ='controllerslices-detail'),
203 def api_root(request, format=None):
205 'flavors': reverse('flavor-list', request=request, format=format),
206 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
207 'controllerimageses': reverse('controllerimages-list', request=request, format=format),
208 'images': reverse('image-list', request=request, format=format),
209 'networkparameters': reverse('networkparameter-list', request=request, format=format),
210 'sites': reverse('site-list', request=request, format=format),
211 'sliceroles': reverse('slicerole-list', request=request, format=format),
212 'tags': reverse('tag-list', request=request, format=format),
213 'invoices': reverse('invoice-list', request=request, format=format),
214 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
215 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
216 'controllerprivileges': reverse('controllerprivilege-list', request=request, format=format),
217 'networkslivers': reverse('networksliver-list', request=request, format=format),
218 'projects': reverse('project-list', request=request, format=format),
219 'slices': reverse('slice-list', request=request, format=format),
220 'networks': reverse('network-list', request=request, format=format),
221 'services': reverse('service-list', request=request, format=format),
222 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
223 'controllernetworkses': reverse('controllernetworks-list', request=request, format=format),
224 'charges': reverse('charge-list', request=request, format=format),
225 'roles': reverse('role-list', request=request, format=format),
226 'usableobjects': reverse('usableobject-list', request=request, format=format),
227 'controllersitedeploymentses': reverse('controllersitedeployments-list', request=request, format=format),
228 'siteroles': reverse('siterole-list', request=request, format=format),
229 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
230 'slivers': reverse('sliver-list', request=request, format=format),
231 'nodes': reverse('node-list', request=request, format=format),
232 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
233 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
234 'reservedresources': reverse('reservedresource-list', request=request, format=format),
235 'payments': reverse('payment-list', request=request, format=format),
236 'networkslices': reverse('networkslice-list', request=request, format=format),
237 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
238 'controllers': reverse('controller-list', request=request, format=format),
239 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
240 'users': reverse('user-list', request=request, format=format),
241 'deployments': reverse('deployment-list', request=request, format=format),
242 'reservations': reverse('reservation-list', request=request, format=format),
243 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
244 'planetstacks': reverse('planetstack-list', request=request, format=format),
245 'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
246 'accounts': reverse('account-list', request=request, format=format),
247 'controllerroles': reverse('controllerrole-list', request=request, format=format),
248 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
249 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
250 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
251 'controlleruserses': reverse('controllerusers-list', request=request, format=format),
252 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
253 'usercredentials': reverse('usercredential-list', request=request, format=format),
254 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
255 'slicetags': reverse('slicetag-list', request=request, format=format),
256 'networktemplates': reverse('networktemplate-list', request=request, format=format),
257 'routers': reverse('router-list', request=request, format=format),
258 'serviceresources': reverse('serviceresource-list', request=request, format=format),
259 'controllersliceses': reverse('controllerslices-list', request=request, format=format),
263 # Based on serializers.py
265 class XOSModelSerializer(serializers.ModelSerializer):
266 def save_object(self, obj, **kwargs):
268 """ rest_framework can't deal with ManyToMany relations that have a
269 through table. In plstackapi, most of the through tables we have
270 use defaults or blank fields, so there's no reason why we shouldn't
271 be able to save these objects.
273 So, let's strip out these m2m relations, and deal with them ourself.
275 obj._complex_m2m_data={};
\r
276 if getattr(obj, '_m2m_data', None):
\r
277 for relatedObject in obj._meta.get_all_related_many_to_many_objects():
\r
278 if (relatedObject.field.rel.through._meta.auto_created):
\r
279 # These are non-trough ManyToMany relations and
\r
280 # can be updated just fine
\r
282 fieldName = relatedObject.get_accessor_name()
\r
283 if fieldName in obj._m2m_data.keys():
\r
284 obj._complex_m2m_data[fieldName] = (relatedObject, obj._m2m_data[fieldName])
\r
285 del obj._m2m_data[fieldName]
\r
287 serializers.ModelSerializer.save_object(self, obj, **kwargs);
289 for (accessor, stuff) in obj._complex_m2m_data.items():
290 (relatedObject, data) = stuff
291 through = relatedObject.field.rel.through
292 local_fieldName = relatedObject.field.m2m_reverse_field_name()
293 remote_fieldName = relatedObject.field.m2m_field_name()
295 # get the current set of existing relations
296 existing = through.objects.filter(**{local_fieldName: obj});
298 data_ids = [item.id for item in data]
299 existing_ids = [getattr(item,remote_fieldName).id for item in existing]
301 #print "data_ids", data_ids
302 #print "existing_ids", existing_ids
304 # remove relations that are in 'existing' but not in 'data'
305 for item in list(existing):
306 if (getattr(item,remote_fieldName).id not in data_ids):
307 print "delete", getattr(item,remote_fieldName)
308 item.delete() #(purge=True)
310 # add relations that are in 'data' but not in 'existing'
312 if (item.id not in existing_ids):
314 newModel = through(**{local_fieldName: obj, remote_fieldName: item})
319 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
323 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
326 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
327 validators = serializers.SerializerMethodField("getValidators")
328 def getHumanReadableName(self, obj):
\r
330 def getValidators(self, obj):
332 return obj.getValidators()
337 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
339 class FlavorIdSerializer(XOSModelSerializer):
343 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
346 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
347 validators = serializers.SerializerMethodField("getValidators")
348 def getHumanReadableName(self, obj):
\r
350 def getValidators(self, obj):
\r
352 return obj.getValidators()
357 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
362 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
365 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
366 validators = serializers.SerializerMethodField("getValidators")
367 def getHumanReadableName(self, obj):
\r
369 def getValidators(self, obj):
371 return obj.getValidators()
375 model = ServiceAttribute
376 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
378 class ServiceAttributeIdSerializer(XOSModelSerializer):
381 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
382 validators = serializers.SerializerMethodField("getValidators")
383 def getHumanReadableName(self, obj):
\r
385 def getValidators(self, obj):
\r
387 return obj.getValidators()
391 model = ServiceAttribute
392 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
397 class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
400 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
401 validators = serializers.SerializerMethodField("getValidators")
402 def getHumanReadableName(self, obj):
\r
404 def getValidators(self, obj):
406 return obj.getValidators()
410 model = ControllerImages
411 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
413 class ControllerImagesIdSerializer(XOSModelSerializer):
416 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
417 validators = serializers.SerializerMethodField("getValidators")
418 def getHumanReadableName(self, obj):
\r
420 def getValidators(self, obj):
\r
422 return obj.getValidators()
426 model = ControllerImages
427 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
432 class ImageSerializer(serializers.HyperlinkedModelSerializer):
436 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
439 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
440 validators = serializers.SerializerMethodField("getValidators")
441 def getHumanReadableName(self, obj):
\r
443 def getValidators(self, obj):
445 return obj.getValidators()
450 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
452 class ImageIdSerializer(XOSModelSerializer):
456 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
459 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
460 validators = serializers.SerializerMethodField("getValidators")
461 def getHumanReadableName(self, obj):
\r
463 def getValidators(self, obj):
\r
465 return obj.getValidators()
470 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
475 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
478 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
479 validators = serializers.SerializerMethodField("getValidators")
480 def getHumanReadableName(self, obj):
\r
482 def getValidators(self, obj):
484 return obj.getValidators()
488 model = NetworkParameter
489 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
491 class NetworkParameterIdSerializer(XOSModelSerializer):
494 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
495 validators = serializers.SerializerMethodField("getValidators")
496 def getHumanReadableName(self, obj):
\r
498 def getValidators(self, obj):
\r
500 return obj.getValidators()
504 model = NetworkParameter
505 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
510 class SiteSerializer(serializers.HyperlinkedModelSerializer):
514 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
517 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
518 validators = serializers.SerializerMethodField("getValidators")
519 def getHumanReadableName(self, obj):
\r
521 def getValidators(self, obj):
523 return obj.getValidators()
528 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
530 class SiteIdSerializer(XOSModelSerializer):
534 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
537 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
538 validators = serializers.SerializerMethodField("getValidators")
539 def getHumanReadableName(self, obj):
\r
541 def getValidators(self, obj):
\r
543 return obj.getValidators()
548 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
553 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
556 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
557 validators = serializers.SerializerMethodField("getValidators")
558 def getHumanReadableName(self, obj):
\r
560 def getValidators(self, obj):
562 return obj.getValidators()
567 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
569 class SliceRoleIdSerializer(XOSModelSerializer):
572 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
573 validators = serializers.SerializerMethodField("getValidators")
574 def getHumanReadableName(self, obj):
\r
576 def getValidators(self, obj):
\r
578 return obj.getValidators()
583 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
588 class TagSerializer(serializers.HyperlinkedModelSerializer):
591 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
592 validators = serializers.SerializerMethodField("getValidators")
593 def getHumanReadableName(self, obj):
\r
595 def getValidators(self, obj):
597 return obj.getValidators()
602 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
604 class TagIdSerializer(XOSModelSerializer):
607 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
608 validators = serializers.SerializerMethodField("getValidators")
609 def getHumanReadableName(self, obj):
\r
611 def getValidators(self, obj):
\r
613 return obj.getValidators()
618 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
623 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
626 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
627 validators = serializers.SerializerMethodField("getValidators")
628 def getHumanReadableName(self, obj):
\r
630 def getValidators(self, obj):
632 return obj.getValidators()
637 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
639 class InvoiceIdSerializer(XOSModelSerializer):
642 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
643 validators = serializers.SerializerMethodField("getValidators")
644 def getHumanReadableName(self, obj):
\r
646 def getValidators(self, obj):
\r
648 return obj.getValidators()
653 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
658 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
661 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
662 validators = serializers.SerializerMethodField("getValidators")
663 def getHumanReadableName(self, obj):
\r
665 def getValidators(self, obj):
667 return obj.getValidators()
671 model = SlicePrivilege
672 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
674 class SlicePrivilegeIdSerializer(XOSModelSerializer):
677 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
678 validators = serializers.SerializerMethodField("getValidators")
679 def getHumanReadableName(self, obj):
\r
681 def getValidators(self, obj):
\r
683 return obj.getValidators()
687 model = SlicePrivilege
688 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
693 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
696 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
697 validators = serializers.SerializerMethodField("getValidators")
698 def getHumanReadableName(self, obj):
\r
700 def getValidators(self, obj):
702 return obj.getValidators()
706 model = PlanetStackRole
707 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
709 class PlanetStackRoleIdSerializer(XOSModelSerializer):
712 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
713 validators = serializers.SerializerMethodField("getValidators")
714 def getHumanReadableName(self, obj):
\r
716 def getValidators(self, obj):
\r
718 return obj.getValidators()
722 model = PlanetStackRole
723 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
728 class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
731 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
732 validators = serializers.SerializerMethodField("getValidators")
733 def getHumanReadableName(self, obj):
\r
735 def getValidators(self, obj):
737 return obj.getValidators()
741 model = ControllerPrivilege
742 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
744 class ControllerPrivilegeIdSerializer(XOSModelSerializer):
747 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
748 validators = serializers.SerializerMethodField("getValidators")
749 def getHumanReadableName(self, obj):
\r
751 def getValidators(self, obj):
\r
753 return obj.getValidators()
757 model = ControllerPrivilege
758 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
763 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
766 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
767 validators = serializers.SerializerMethodField("getValidators")
768 def getHumanReadableName(self, obj):
\r
770 def getValidators(self, obj):
772 return obj.getValidators()
776 model = NetworkSliver
777 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
779 class NetworkSliverIdSerializer(XOSModelSerializer):
782 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
783 validators = serializers.SerializerMethodField("getValidators")
784 def getHumanReadableName(self, obj):
\r
786 def getValidators(self, obj):
\r
788 return obj.getValidators()
792 model = NetworkSliver
793 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
798 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
801 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
802 validators = serializers.SerializerMethodField("getValidators")
803 def getHumanReadableName(self, obj):
\r
805 def getValidators(self, obj):
807 return obj.getValidators()
812 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
814 class ProjectIdSerializer(XOSModelSerializer):
817 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
818 validators = serializers.SerializerMethodField("getValidators")
819 def getHumanReadableName(self, obj):
\r
821 def getValidators(self, obj):
\r
823 return obj.getValidators()
828 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
833 class SliceSerializer(serializers.HyperlinkedModelSerializer):
837 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
841 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
844 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
845 validators = serializers.SerializerMethodField("getValidators")
846 def getHumanReadableName(self, obj):
\r
848 def getValidators(self, obj):
850 return obj.getValidators()
855 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
857 class SliceIdSerializer(XOSModelSerializer):
861 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
865 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
868 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
869 validators = serializers.SerializerMethodField("getValidators")
870 def getHumanReadableName(self, obj):
\r
872 def getValidators(self, obj):
\r
874 return obj.getValidators()
879 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
884 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
888 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
892 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
896 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
900 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
904 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
907 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
908 validators = serializers.SerializerMethodField("getValidators")
909 def getHumanReadableName(self, obj):
\r
911 def getValidators(self, obj):
913 return obj.getValidators()
918 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
920 class NetworkIdSerializer(XOSModelSerializer):
924 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
928 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
932 slivers = serializers.PrimaryKeyRelatedField(many=True, queryset = Sliver.objects.all())
936 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
940 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
943 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
944 validators = serializers.SerializerMethodField("getValidators")
945 def getHumanReadableName(self, obj):
\r
947 def getValidators(self, obj):
\r
949 return obj.getValidators()
954 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
959 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
962 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
963 validators = serializers.SerializerMethodField("getValidators")
964 def getHumanReadableName(self, obj):
\r
966 def getValidators(self, obj):
968 return obj.getValidators()
973 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
975 class ServiceIdSerializer(XOSModelSerializer):
978 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
979 validators = serializers.SerializerMethodField("getValidators")
980 def getHumanReadableName(self, obj):
\r
982 def getValidators(self, obj):
\r
984 return obj.getValidators()
989 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
994 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
997 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
998 validators = serializers.SerializerMethodField("getValidators")
999 def getHumanReadableName(self, obj):
\r
1001 def getValidators(self, obj):
1003 return obj.getValidators()
1007 model = ServiceClass
1008 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1010 class ServiceClassIdSerializer(XOSModelSerializer):
1013 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1014 validators = serializers.SerializerMethodField("getValidators")
1015 def getHumanReadableName(self, obj):
\r
1017 def getValidators(self, obj):
\r
1019 return obj.getValidators()
1023 model = ServiceClass
1024 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1029 class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
1032 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1033 validators = serializers.SerializerMethodField("getValidators")
1034 def getHumanReadableName(self, obj):
\r
1036 def getValidators(self, obj):
1038 return obj.getValidators()
1042 model = ControllerNetworks
1043 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1045 class ControllerNetworksIdSerializer(XOSModelSerializer):
1048 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1049 validators = serializers.SerializerMethodField("getValidators")
1050 def getHumanReadableName(self, obj):
\r
1052 def getValidators(self, obj):
\r
1054 return obj.getValidators()
1058 model = ControllerNetworks
1059 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1064 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
1067 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1068 validators = serializers.SerializerMethodField("getValidators")
1069 def getHumanReadableName(self, obj):
\r
1071 def getValidators(self, obj):
1073 return obj.getValidators()
1078 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1080 class ChargeIdSerializer(XOSModelSerializer):
1083 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1084 validators = serializers.SerializerMethodField("getValidators")
1085 def getHumanReadableName(self, obj):
\r
1087 def getValidators(self, obj):
\r
1089 return obj.getValidators()
1094 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1099 class RoleSerializer(serializers.HyperlinkedModelSerializer):
1102 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1103 validators = serializers.SerializerMethodField("getValidators")
1104 def getHumanReadableName(self, obj):
\r
1106 def getValidators(self, obj):
1108 return obj.getValidators()
1113 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1115 class RoleIdSerializer(XOSModelSerializer):
1118 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1119 validators = serializers.SerializerMethodField("getValidators")
1120 def getHumanReadableName(self, obj):
\r
1122 def getValidators(self, obj):
\r
1124 return obj.getValidators()
1129 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1134 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
1137 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1138 validators = serializers.SerializerMethodField("getValidators")
1139 def getHumanReadableName(self, obj):
\r
1141 def getValidators(self, obj):
1143 return obj.getValidators()
1147 model = UsableObject
1148 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1150 class UsableObjectIdSerializer(XOSModelSerializer):
1153 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1154 validators = serializers.SerializerMethodField("getValidators")
1155 def getHumanReadableName(self, obj):
\r
1157 def getValidators(self, obj):
\r
1159 return obj.getValidators()
1163 model = UsableObject
1164 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1166 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
1169 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1170 validators = serializers.SerializerMethodField("getValidators")
1171 def getHumanReadableName(self, obj):
\r
1173 def getValidators(self, obj):
1175 return obj.getValidators()
1180 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1182 class SiteRoleIdSerializer(XOSModelSerializer):
1185 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1186 validators = serializers.SerializerMethodField("getValidators")
1187 def getHumanReadableName(self, obj):
\r
1189 def getValidators(self, obj):
\r
1191 return obj.getValidators()
1196 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1201 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
1204 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1205 validators = serializers.SerializerMethodField("getValidators")
1206 def getHumanReadableName(self, obj):
\r
1208 def getValidators(self, obj):
1210 return obj.getValidators()
1214 model = SliceCredential
1215 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1217 class SliceCredentialIdSerializer(XOSModelSerializer):
1220 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1221 validators = serializers.SerializerMethodField("getValidators")
1222 def getHumanReadableName(self, obj):
\r
1224 def getValidators(self, obj):
\r
1226 return obj.getValidators()
1230 model = SliceCredential
1231 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1236 class SliverSerializer(serializers.HyperlinkedModelSerializer):
1240 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1243 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1244 validators = serializers.SerializerMethodField("getValidators")
1245 def getHumanReadableName(self, obj):
\r
1247 def getValidators(self, obj):
1249 return obj.getValidators()
1254 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
1256 class SliverIdSerializer(XOSModelSerializer):
1260 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
1263 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1264 validators = serializers.SerializerMethodField("getValidators")
1265 def getHumanReadableName(self, obj):
\r
1267 def getValidators(self, obj):
\r
1269 return obj.getValidators()
1274 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
1279 class NodeSerializer(serializers.HyperlinkedModelSerializer):
1282 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1283 validators = serializers.SerializerMethodField("getValidators")
1284 def getHumanReadableName(self, obj):
\r
1286 def getValidators(self, obj):
1288 return obj.getValidators()
1293 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1295 class NodeIdSerializer(XOSModelSerializer):
1298 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1299 validators = serializers.SerializerMethodField("getValidators")
1300 def getHumanReadableName(self, obj):
\r
1302 def getValidators(self, obj):
\r
1304 return obj.getValidators()
1309 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1314 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1318 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1321 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1322 validators = serializers.SerializerMethodField("getValidators")
1323 def getHumanReadableName(self, obj):
\r
1325 def getValidators(self, obj):
1327 return obj.getValidators()
1331 model = DashboardView
1332 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1334 class DashboardViewIdSerializer(XOSModelSerializer):
1338 controllers = serializers.PrimaryKeyRelatedField(many=True, queryset = Controller.objects.all())
1341 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1342 validators = serializers.SerializerMethodField("getValidators")
1343 def getHumanReadableName(self, obj):
\r
1345 def getValidators(self, obj):
\r
1347 return obj.getValidators()
1351 model = DashboardView
1352 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1357 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1360 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1361 validators = serializers.SerializerMethodField("getValidators")
1362 def getHumanReadableName(self, obj):
\r
1364 def getValidators(self, obj):
1366 return obj.getValidators()
1370 model = ImageDeployments
1371 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1373 class ImageDeploymentsIdSerializer(XOSModelSerializer):
1376 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1377 validators = serializers.SerializerMethodField("getValidators")
1378 def getHumanReadableName(self, obj):
\r
1380 def getValidators(self, obj):
\r
1382 return obj.getValidators()
1386 model = ImageDeployments
1387 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1392 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
1395 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1396 validators = serializers.SerializerMethodField("getValidators")
1397 def getHumanReadableName(self, obj):
\r
1399 def getValidators(self, obj):
1401 return obj.getValidators()
1405 model = ReservedResource
1406 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1408 class ReservedResourceIdSerializer(XOSModelSerializer):
1411 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1412 validators = serializers.SerializerMethodField("getValidators")
1413 def getHumanReadableName(self, obj):
\r
1415 def getValidators(self, obj):
\r
1417 return obj.getValidators()
1421 model = ReservedResource
1422 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1427 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
1430 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1431 validators = serializers.SerializerMethodField("getValidators")
1432 def getHumanReadableName(self, obj):
\r
1434 def getValidators(self, obj):
1436 return obj.getValidators()
1441 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1443 class PaymentIdSerializer(XOSModelSerializer):
1446 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1447 validators = serializers.SerializerMethodField("getValidators")
1448 def getHumanReadableName(self, obj):
\r
1450 def getValidators(self, obj):
\r
1452 return obj.getValidators()
1457 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1462 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1465 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1466 validators = serializers.SerializerMethodField("getValidators")
1467 def getHumanReadableName(self, obj):
\r
1469 def getValidators(self, obj):
1471 return obj.getValidators()
1475 model = NetworkSlice
1476 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1478 class NetworkSliceIdSerializer(XOSModelSerializer):
1481 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1482 validators = serializers.SerializerMethodField("getValidators")
1483 def getHumanReadableName(self, obj):
\r
1485 def getValidators(self, obj):
\r
1487 return obj.getValidators()
1491 model = NetworkSlice
1492 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1497 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1500 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1501 validators = serializers.SerializerMethodField("getValidators")
1502 def getHumanReadableName(self, obj):
\r
1504 def getValidators(self, obj):
1506 return obj.getValidators()
1510 model = UserDashboardView
1511 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1513 class UserDashboardViewIdSerializer(XOSModelSerializer):
1516 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1517 validators = serializers.SerializerMethodField("getValidators")
1518 def getHumanReadableName(self, obj):
\r
1520 def getValidators(self, obj):
\r
1522 return obj.getValidators()
1526 model = UserDashboardView
1527 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1532 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
1536 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
1539 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1540 validators = serializers.SerializerMethodField("getValidators")
1541 def getHumanReadableName(self, obj):
\r
1543 def getValidators(self, obj):
1545 return obj.getValidators()
1550 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1552 class ControllerIdSerializer(XOSModelSerializer):
1556 dashboardviews = serializers.PrimaryKeyRelatedField(many=True, queryset = DashboardView.objects.all())
1559 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1560 validators = serializers.SerializerMethodField("getValidators")
1561 def getHumanReadableName(self, obj):
\r
1563 def getValidators(self, obj):
\r
1565 return obj.getValidators()
1570 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1575 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1578 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1579 validators = serializers.SerializerMethodField("getValidators")
1580 def getHumanReadableName(self, obj):
\r
1582 def getValidators(self, obj):
1584 return obj.getValidators()
1588 model = PlanetStackPrivilege
1589 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1591 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
1594 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1595 validators = serializers.SerializerMethodField("getValidators")
1596 def getHumanReadableName(self, obj):
\r
1598 def getValidators(self, obj):
\r
1600 return obj.getValidators()
1604 model = PlanetStackPrivilege
1605 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1610 class UserSerializer(serializers.HyperlinkedModelSerializer):
1613 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1614 validators = serializers.SerializerMethodField("getValidators")
1615 def getHumanReadableName(self, obj):
\r
1617 def getValidators(self, obj):
1619 return obj.getValidators()
1624 fields = ('humanReadableName', 'validators', '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',)
1626 class UserIdSerializer(XOSModelSerializer):
1629 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1630 validators = serializers.SerializerMethodField("getValidators")
1631 def getHumanReadableName(self, obj):
\r
1633 def getValidators(self, obj):
\r
1635 return obj.getValidators()
1640 fields = ('humanReadableName', 'validators', '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',)
1645 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1649 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1653 images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
1657 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1660 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1661 validators = serializers.SerializerMethodField("getValidators")
1662 def getHumanReadableName(self, obj):
\r
1664 def getValidators(self, obj):
1666 return obj.getValidators()
1671 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1673 class DeploymentIdSerializer(XOSModelSerializer):
1677 flavors = serializers.PrimaryKeyRelatedField(many=True, queryset = Flavor.objects.all())
1681 images = serializers.PrimaryKeyRelatedField(many=True, queryset = Image.objects.all())
1685 sites = serializers.PrimaryKeyRelatedField(many=True, queryset = Site.objects.all())
1688 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1689 validators = serializers.SerializerMethodField("getValidators")
1690 def getHumanReadableName(self, obj):
\r
1692 def getValidators(self, obj):
\r
1694 return obj.getValidators()
1699 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1704 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1707 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1708 validators = serializers.SerializerMethodField("getValidators")
1709 def getHumanReadableName(self, obj):
\r
1711 def getValidators(self, obj):
1713 return obj.getValidators()
1718 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1720 class ReservationIdSerializer(XOSModelSerializer):
1723 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1724 validators = serializers.SerializerMethodField("getValidators")
1725 def getHumanReadableName(self, obj):
\r
1727 def getValidators(self, obj):
\r
1729 return obj.getValidators()
1734 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1739 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1742 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1743 validators = serializers.SerializerMethodField("getValidators")
1744 def getHumanReadableName(self, obj):
\r
1746 def getValidators(self, obj):
1748 return obj.getValidators()
1752 model = SitePrivilege
1753 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1755 class SitePrivilegeIdSerializer(XOSModelSerializer):
1758 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1759 validators = serializers.SerializerMethodField("getValidators")
1760 def getHumanReadableName(self, obj):
\r
1762 def getValidators(self, obj):
\r
1764 return obj.getValidators()
1768 model = SitePrivilege
1769 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1774 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1777 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1778 validators = serializers.SerializerMethodField("getValidators")
1779 def getHumanReadableName(self, obj):
\r
1781 def getValidators(self, obj):
1783 return obj.getValidators()
1788 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1790 class PlanetStackIdSerializer(XOSModelSerializer):
1793 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1794 validators = serializers.SerializerMethodField("getValidators")
1795 def getHumanReadableName(self, obj):
\r
1797 def getValidators(self, obj):
\r
1799 return obj.getValidators()
1804 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1809 class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1812 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1813 validators = serializers.SerializerMethodField("getValidators")
1814 def getHumanReadableName(self, obj):
\r
1816 def getValidators(self, obj):
1818 return obj.getValidators()
1822 model = ControllerDashboardView
1823 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1825 class ControllerDashboardViewIdSerializer(XOSModelSerializer):
1828 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1829 validators = serializers.SerializerMethodField("getValidators")
1830 def getHumanReadableName(self, obj):
\r
1832 def getValidators(self, obj):
\r
1834 return obj.getValidators()
1838 model = ControllerDashboardView
1839 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1844 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1847 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1848 validators = serializers.SerializerMethodField("getValidators")
1849 def getHumanReadableName(self, obj):
\r
1851 def getValidators(self, obj):
1853 return obj.getValidators()
1858 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1860 class AccountIdSerializer(XOSModelSerializer):
1863 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1864 validators = serializers.SerializerMethodField("getValidators")
1865 def getHumanReadableName(self, obj):
\r
1867 def getValidators(self, obj):
\r
1869 return obj.getValidators()
1874 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1879 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
1882 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1883 validators = serializers.SerializerMethodField("getValidators")
1884 def getHumanReadableName(self, obj):
\r
1886 def getValidators(self, obj):
1888 return obj.getValidators()
1892 model = ControllerRole
1893 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1895 class ControllerRoleIdSerializer(XOSModelSerializer):
1898 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1899 validators = serializers.SerializerMethodField("getValidators")
1900 def getHumanReadableName(self, obj):
\r
1902 def getValidators(self, obj):
\r
1904 return obj.getValidators()
1908 model = ControllerRole
1909 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1914 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1917 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1918 validators = serializers.SerializerMethodField("getValidators")
1919 def getHumanReadableName(self, obj):
\r
1921 def getValidators(self, obj):
1923 return obj.getValidators()
1927 model = NetworkParameterType
1928 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1930 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
1933 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1934 validators = serializers.SerializerMethodField("getValidators")
1935 def getHumanReadableName(self, obj):
\r
1937 def getValidators(self, obj):
\r
1939 return obj.getValidators()
1943 model = NetworkParameterType
1944 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1949 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1952 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1953 validators = serializers.SerializerMethodField("getValidators")
1954 def getHumanReadableName(self, obj):
\r
1956 def getValidators(self, obj):
1958 return obj.getValidators()
1962 model = SiteCredential
1963 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1965 class SiteCredentialIdSerializer(XOSModelSerializer):
1968 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1969 validators = serializers.SerializerMethodField("getValidators")
1970 def getHumanReadableName(self, obj):
\r
1972 def getValidators(self, obj):
\r
1974 return obj.getValidators()
1978 model = SiteCredential
1979 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1984 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1987 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1988 validators = serializers.SerializerMethodField("getValidators")
1989 def getHumanReadableName(self, obj):
\r
1991 def getValidators(self, obj):
1993 return obj.getValidators()
1997 model = DeploymentPrivilege
1998 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2000 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
2003 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2004 validators = serializers.SerializerMethodField("getValidators")
2005 def getHumanReadableName(self, obj):
\r
2007 def getValidators(self, obj):
\r
2009 return obj.getValidators()
2013 model = DeploymentPrivilege
2014 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2019 class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
2022 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2023 validators = serializers.SerializerMethodField("getValidators")
2024 def getHumanReadableName(self, obj):
\r
2026 def getValidators(self, obj):
2028 return obj.getValidators()
2032 model = ControllerUsers
2033 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2035 class ControllerUsersIdSerializer(XOSModelSerializer):
2038 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2039 validators = serializers.SerializerMethodField("getValidators")
2040 def getHumanReadableName(self, obj):
\r
2042 def getValidators(self, obj):
\r
2044 return obj.getValidators()
2048 model = ControllerUsers
2049 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2054 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
2057 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2058 validators = serializers.SerializerMethodField("getValidators")
2059 def getHumanReadableName(self, obj):
\r
2061 def getValidators(self, obj):
2063 return obj.getValidators()
2067 model = DeploymentRole
2068 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2070 class DeploymentRoleIdSerializer(XOSModelSerializer):
2073 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2074 validators = serializers.SerializerMethodField("getValidators")
2075 def getHumanReadableName(self, obj):
\r
2077 def getValidators(self, obj):
\r
2079 return obj.getValidators()
2083 model = DeploymentRole
2084 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2089 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
2092 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2093 validators = serializers.SerializerMethodField("getValidators")
2094 def getHumanReadableName(self, obj):
\r
2096 def getValidators(self, obj):
2098 return obj.getValidators()
2102 model = UserCredential
2103 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2105 class UserCredentialIdSerializer(XOSModelSerializer):
2108 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2109 validators = serializers.SerializerMethodField("getValidators")
2110 def getHumanReadableName(self, obj):
\r
2112 def getValidators(self, obj):
\r
2114 return obj.getValidators()
2118 model = UserCredential
2119 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2124 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
2127 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2128 validators = serializers.SerializerMethodField("getValidators")
2129 def getHumanReadableName(self, obj):
\r
2131 def getValidators(self, obj):
2133 return obj.getValidators()
2137 model = SiteDeployments
2138 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2140 class SiteDeploymentsIdSerializer(XOSModelSerializer):
2143 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2144 validators = serializers.SerializerMethodField("getValidators")
2145 def getHumanReadableName(self, obj):
\r
2147 def getValidators(self, obj):
\r
2149 return obj.getValidators()
2153 model = SiteDeployments
2154 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2159 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
2162 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2163 validators = serializers.SerializerMethodField("getValidators")
2164 def getHumanReadableName(self, obj):
\r
2166 def getValidators(self, obj):
2168 return obj.getValidators()
2173 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2175 class SliceTagIdSerializer(XOSModelSerializer):
2178 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2179 validators = serializers.SerializerMethodField("getValidators")
2180 def getHumanReadableName(self, obj):
\r
2182 def getValidators(self, obj):
\r
2184 return obj.getValidators()
2189 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2194 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
2197 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2198 validators = serializers.SerializerMethodField("getValidators")
2199 def getHumanReadableName(self, obj):
\r
2201 def getValidators(self, obj):
2203 return obj.getValidators()
2207 model = NetworkTemplate
2208 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
2210 class NetworkTemplateIdSerializer(XOSModelSerializer):
2213 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2214 validators = serializers.SerializerMethodField("getValidators")
2215 def getHumanReadableName(self, obj):
\r
2217 def getValidators(self, obj):
\r
2219 return obj.getValidators()
2223 model = NetworkTemplate
2224 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
2229 class RouterSerializer(serializers.HyperlinkedModelSerializer):
2233 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2237 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2240 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2241 validators = serializers.SerializerMethodField("getValidators")
2242 def getHumanReadableName(self, obj):
\r
2244 def getValidators(self, obj):
2246 return obj.getValidators()
2251 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2253 class RouterIdSerializer(XOSModelSerializer):
2257 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2261 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2264 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2265 validators = serializers.SerializerMethodField("getValidators")
2266 def getHumanReadableName(self, obj):
\r
2268 def getValidators(self, obj):
\r
2270 return obj.getValidators()
2275 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2280 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
2283 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2284 validators = serializers.SerializerMethodField("getValidators")
2285 def getHumanReadableName(self, obj):
\r
2287 def getValidators(self, obj):
2289 return obj.getValidators()
2293 model = ServiceResource
2294 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2296 class ServiceResourceIdSerializer(XOSModelSerializer):
2299 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2300 validators = serializers.SerializerMethodField("getValidators")
2301 def getHumanReadableName(self, obj):
\r
2303 def getValidators(self, obj):
\r
2305 return obj.getValidators()
2309 model = ServiceResource
2310 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2315 class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
2318 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2319 validators = serializers.SerializerMethodField("getValidators")
2320 def getHumanReadableName(self, obj):
\r
2322 def getValidators(self, obj):
2324 return obj.getValidators()
2328 model = ControllerSlices
2329 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2331 class ControllerSlicesIdSerializer(XOSModelSerializer):
2334 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2335 validators = serializers.SerializerMethodField("getValidators")
2336 def getHumanReadableName(self, obj):
\r
2338 def getValidators(self, obj):
\r
2340 return obj.getValidators()
2344 model = ControllerSlices
2345 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2350 serializerLookUp = {
2352 Flavor: FlavorSerializer,
2354 ServiceAttribute: ServiceAttributeSerializer,
2356 ControllerImages: ControllerImagesSerializer,
2358 Image: ImageSerializer,
2360 NetworkParameter: NetworkParameterSerializer,
2362 Site: SiteSerializer,
2364 SliceRole: SliceRoleSerializer,
2368 Invoice: InvoiceSerializer,
2370 SlicePrivilege: SlicePrivilegeSerializer,
2372 PlanetStackRole: PlanetStackRoleSerializer,
2374 ControllerPrivilege: ControllerPrivilegeSerializer,
2376 NetworkSliver: NetworkSliverSerializer,
2378 Project: ProjectSerializer,
2380 Slice: SliceSerializer,
2382 Network: NetworkSerializer,
2384 Service: ServiceSerializer,
2386 ServiceClass: ServiceClassSerializer,
2388 ControllerNetworks: ControllerNetworksSerializer,
2390 Charge: ChargeSerializer,
2392 Role: RoleSerializer,
2394 UsableObject: UsableObjectSerializer,
2396 SiteRole: SiteRoleSerializer,
2398 SliceCredential: SliceCredentialSerializer,
2400 Sliver: SliverSerializer,
2402 Node: NodeSerializer,
2404 DashboardView: DashboardViewSerializer,
2406 ImageDeployments: ImageDeploymentsSerializer,
2408 ReservedResource: ReservedResourceSerializer,
2410 Payment: PaymentSerializer,
2412 NetworkSlice: NetworkSliceSerializer,
2414 UserDashboardView: UserDashboardViewSerializer,
2416 Controller: ControllerSerializer,
2418 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
2420 User: UserSerializer,
2422 Deployment: DeploymentSerializer,
2424 Reservation: ReservationSerializer,
2426 SitePrivilege: SitePrivilegeSerializer,
2428 PlanetStack: PlanetStackSerializer,
2430 ControllerDashboardView: ControllerDashboardViewSerializer,
2432 Account: AccountSerializer,
2434 ControllerRole: ControllerRoleSerializer,
2436 NetworkParameterType: NetworkParameterTypeSerializer,
2438 SiteCredential: SiteCredentialSerializer,
2440 DeploymentPrivilege: DeploymentPrivilegeSerializer,
2442 ControllerUsers: ControllerUsersSerializer,
2444 DeploymentRole: DeploymentRoleSerializer,
2446 UserCredential: UserCredentialSerializer,
2448 SiteDeployments: SiteDeploymentsSerializer,
2450 SliceTag: SliceTagSerializer,
2452 NetworkTemplate: NetworkTemplateSerializer,
2454 Router: RouterSerializer,
2456 ServiceResource: ServiceResourceSerializer,
2458 ControllerSlices: ControllerSlicesSerializer,
2463 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2465 # To handle fine-grained field permissions, we have to check can_update
2466 # the object has been updated but before it has been saved.
2468 def update(self, request, *args, **kwargs):
\r
2469 partial = kwargs.pop('partial', False)
\r
2470 self.object = self.get_object_or_none()
\r
2472 serializer = self.get_serializer(self.object, data=request.DATA,
\r
2473 files=request.FILES, partial=partial)
\r
2475 if not serializer.is_valid():
\r
2476 response = {"error": "validation",
\r
2477 "specific_error": "not serializer.is_valid()",
\r
2478 "reasons": serializer.errors}
\r
2479 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2482 self.pre_save(serializer.object)
\r
2483 except ValidationError as err:
\r
2484 # full_clean on model instance may be called in pre_save,
\r
2485 # so we have to handle eventual errors.
\r
2486 response = {"error": "validation",
\r
2487 "specific_error": "ValidationError in pre_save",
\r
2488 "reasons": err.message_dict}
\r
2489 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2491 if serializer.object is not None:
\r
2492 if not serializer.object.can_update(request.user):
\r
2493 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
2495 if self.object is None:
\r
2496 self.object = serializer.save(force_insert=True)
\r
2497 self.post_save(self.object, created=True)
\r
2498 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
2500 self.object = serializer.save(force_update=True)
\r
2501 self.post_save(self.object, created=False)
\r
2502 return Response(serializer.data, status=status.HTTP_200_OK)
2504 def destroy(self, request, *args, **kwargs):
2505 obj = self.get_object()
2506 if obj.can_update(request.user):
2507 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
2509 return Response(status=status.HTTP_400_BAD_REQUEST)
2512 # Based on core/views/*.py
2515 class FlavorList(generics.ListCreateAPIView):
2516 queryset = Flavor.objects.select_related().all()
2517 serializer_class = FlavorSerializer
2518 id_serializer_class = FlavorIdSerializer
2519 filter_backends = (filters.DjangoFilterBackend,)
2520 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
2522 def get_serializer_class(self):
2523 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2525 return self.id_serializer_class
2527 return self.serializer_class
2529 def get_queryset(self):
2530 return Flavor.select_by_user(self.request.user)
2532 def create(self, request, *args, **kwargs):
2533 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2534 if not (serializer.is_valid()):
2535 response = {"error": "validation",
2536 "specific_error": "not serializer.is_valid()",
\r
2537 "reasons": serializer.errors}
\r
2538 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2539 obj = serializer.object
2540 obj.caller = request.user
2541 if obj.can_update(request.user):
2542 return super(FlavorList, self).create(request, *args, **kwargs)
2544 raise Exception("failed obj.can_update")
2546 ret = super(FlavorList, self).create(request, *args, **kwargs)
2547 if (ret.status_code%100 != 200):
2548 raise Exception(ret.data)
2553 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2554 queryset = Flavor.objects.select_related().all()
2555 serializer_class = FlavorSerializer
2556 id_serializer_class = FlavorIdSerializer
2558 def get_serializer_class(self):
2559 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2561 return self.id_serializer_class
2563 return self.serializer_class
2565 def get_queryset(self):
2566 return Flavor.select_by_user(self.request.user)
2568 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2570 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2574 class ServiceAttributeList(generics.ListCreateAPIView):
2575 queryset = ServiceAttribute.objects.select_related().all()
2576 serializer_class = ServiceAttributeSerializer
2577 id_serializer_class = ServiceAttributeIdSerializer
2578 filter_backends = (filters.DjangoFilterBackend,)
2579 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
2581 def get_serializer_class(self):
2582 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2584 return self.id_serializer_class
2586 return self.serializer_class
2588 def get_queryset(self):
2589 return ServiceAttribute.select_by_user(self.request.user)
2591 def create(self, request, *args, **kwargs):
2592 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2593 if not (serializer.is_valid()):
2594 response = {"error": "validation",
2595 "specific_error": "not serializer.is_valid()",
\r
2596 "reasons": serializer.errors}
\r
2597 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2598 obj = serializer.object
2599 obj.caller = request.user
2600 if obj.can_update(request.user):
2601 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2603 raise Exception("failed obj.can_update")
2605 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2606 if (ret.status_code%100 != 200):
2607 raise Exception(ret.data)
2612 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2613 queryset = ServiceAttribute.objects.select_related().all()
2614 serializer_class = ServiceAttributeSerializer
2615 id_serializer_class = ServiceAttributeIdSerializer
2617 def get_serializer_class(self):
2618 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2620 return self.id_serializer_class
2622 return self.serializer_class
2624 def get_queryset(self):
2625 return ServiceAttribute.select_by_user(self.request.user)
2627 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2629 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2633 class ControllerImagesList(generics.ListCreateAPIView):
2634 queryset = ControllerImages.objects.select_related().all()
2635 serializer_class = ControllerImagesSerializer
2636 id_serializer_class = ControllerImagesIdSerializer
2637 filter_backends = (filters.DjangoFilterBackend,)
2638 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
2640 def get_serializer_class(self):
2641 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2643 return self.id_serializer_class
2645 return self.serializer_class
2647 def get_queryset(self):
2648 return ControllerImages.select_by_user(self.request.user)
2650 def create(self, request, *args, **kwargs):
2651 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2652 if not (serializer.is_valid()):
2653 response = {"error": "validation",
2654 "specific_error": "not serializer.is_valid()",
\r
2655 "reasons": serializer.errors}
\r
2656 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2657 obj = serializer.object
2658 obj.caller = request.user
2659 if obj.can_update(request.user):
2660 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2662 raise Exception("failed obj.can_update")
2664 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2665 if (ret.status_code%100 != 200):
2666 raise Exception(ret.data)
2671 class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2672 queryset = ControllerImages.objects.select_related().all()
2673 serializer_class = ControllerImagesSerializer
2674 id_serializer_class = ControllerImagesIdSerializer
2676 def get_serializer_class(self):
2677 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2679 return self.id_serializer_class
2681 return self.serializer_class
2683 def get_queryset(self):
2684 return ControllerImages.select_by_user(self.request.user)
2686 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2688 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2692 class ImageList(generics.ListCreateAPIView):
2693 queryset = Image.objects.select_related().all()
2694 serializer_class = ImageSerializer
2695 id_serializer_class = ImageIdSerializer
2696 filter_backends = (filters.DjangoFilterBackend,)
2697 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
2699 def get_serializer_class(self):
2700 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2702 return self.id_serializer_class
2704 return self.serializer_class
2706 def get_queryset(self):
2707 return Image.select_by_user(self.request.user)
2709 def create(self, request, *args, **kwargs):
2710 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2711 if not (serializer.is_valid()):
2712 response = {"error": "validation",
2713 "specific_error": "not serializer.is_valid()",
\r
2714 "reasons": serializer.errors}
\r
2715 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2716 obj = serializer.object
2717 obj.caller = request.user
2718 if obj.can_update(request.user):
2719 return super(ImageList, self).create(request, *args, **kwargs)
2721 raise Exception("failed obj.can_update")
2723 ret = super(ImageList, self).create(request, *args, **kwargs)
2724 if (ret.status_code%100 != 200):
2725 raise Exception(ret.data)
2730 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2731 queryset = Image.objects.select_related().all()
2732 serializer_class = ImageSerializer
2733 id_serializer_class = ImageIdSerializer
2735 def get_serializer_class(self):
2736 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2738 return self.id_serializer_class
2740 return self.serializer_class
2742 def get_queryset(self):
2743 return Image.select_by_user(self.request.user)
2745 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2747 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2751 class NetworkParameterList(generics.ListCreateAPIView):
2752 queryset = NetworkParameter.objects.select_related().all()
2753 serializer_class = NetworkParameterSerializer
2754 id_serializer_class = NetworkParameterIdSerializer
2755 filter_backends = (filters.DjangoFilterBackend,)
2756 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
2758 def get_serializer_class(self):
2759 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2761 return self.id_serializer_class
2763 return self.serializer_class
2765 def get_queryset(self):
2766 return NetworkParameter.select_by_user(self.request.user)
2768 def create(self, request, *args, **kwargs):
2769 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2770 if not (serializer.is_valid()):
2771 response = {"error": "validation",
2772 "specific_error": "not serializer.is_valid()",
\r
2773 "reasons": serializer.errors}
\r
2774 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2775 obj = serializer.object
2776 obj.caller = request.user
2777 if obj.can_update(request.user):
2778 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2780 raise Exception("failed obj.can_update")
2782 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2783 if (ret.status_code%100 != 200):
2784 raise Exception(ret.data)
2789 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2790 queryset = NetworkParameter.objects.select_related().all()
2791 serializer_class = NetworkParameterSerializer
2792 id_serializer_class = NetworkParameterIdSerializer
2794 def get_serializer_class(self):
2795 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2797 return self.id_serializer_class
2799 return self.serializer_class
2801 def get_queryset(self):
2802 return NetworkParameter.select_by_user(self.request.user)
2804 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2806 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2810 class SiteList(generics.ListCreateAPIView):
2811 queryset = Site.objects.select_related().all()
2812 serializer_class = SiteSerializer
2813 id_serializer_class = SiteIdSerializer
2814 filter_backends = (filters.DjangoFilterBackend,)
2815 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
2817 def get_serializer_class(self):
2818 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2820 return self.id_serializer_class
2822 return self.serializer_class
2824 def get_queryset(self):
2825 return Site.select_by_user(self.request.user)
2827 def create(self, request, *args, **kwargs):
2828 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2829 if not (serializer.is_valid()):
2830 response = {"error": "validation",
2831 "specific_error": "not serializer.is_valid()",
\r
2832 "reasons": serializer.errors}
\r
2833 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2834 obj = serializer.object
2835 obj.caller = request.user
2836 if obj.can_update(request.user):
2837 return super(SiteList, self).create(request, *args, **kwargs)
2839 raise Exception("failed obj.can_update")
2841 ret = super(SiteList, self).create(request, *args, **kwargs)
2842 if (ret.status_code%100 != 200):
2843 raise Exception(ret.data)
2848 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2849 queryset = Site.objects.select_related().all()
2850 serializer_class = SiteSerializer
2851 id_serializer_class = SiteIdSerializer
2853 def get_serializer_class(self):
2854 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2856 return self.id_serializer_class
2858 return self.serializer_class
2860 def get_queryset(self):
2861 return Site.select_by_user(self.request.user)
2863 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2865 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2869 class SliceRoleList(generics.ListCreateAPIView):
2870 queryset = SliceRole.objects.select_related().all()
2871 serializer_class = SliceRoleSerializer
2872 id_serializer_class = SliceRoleIdSerializer
2873 filter_backends = (filters.DjangoFilterBackend,)
2874 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2876 def get_serializer_class(self):
2877 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2879 return self.id_serializer_class
2881 return self.serializer_class
2883 def get_queryset(self):
2884 return SliceRole.select_by_user(self.request.user)
2886 def create(self, request, *args, **kwargs):
2887 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2888 if not (serializer.is_valid()):
2889 response = {"error": "validation",
2890 "specific_error": "not serializer.is_valid()",
\r
2891 "reasons": serializer.errors}
\r
2892 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2893 obj = serializer.object
2894 obj.caller = request.user
2895 if obj.can_update(request.user):
2896 return super(SliceRoleList, self).create(request, *args, **kwargs)
2898 raise Exception("failed obj.can_update")
2900 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2901 if (ret.status_code%100 != 200):
2902 raise Exception(ret.data)
2907 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2908 queryset = SliceRole.objects.select_related().all()
2909 serializer_class = SliceRoleSerializer
2910 id_serializer_class = SliceRoleIdSerializer
2912 def get_serializer_class(self):
2913 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2915 return self.id_serializer_class
2917 return self.serializer_class
2919 def get_queryset(self):
2920 return SliceRole.select_by_user(self.request.user)
2922 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2924 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2928 class TagList(generics.ListCreateAPIView):
2929 queryset = Tag.objects.select_related().all()
2930 serializer_class = TagSerializer
2931 id_serializer_class = TagIdSerializer
2932 filter_backends = (filters.DjangoFilterBackend,)
2933 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
2935 def get_serializer_class(self):
2936 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2938 return self.id_serializer_class
2940 return self.serializer_class
2942 def get_queryset(self):
2943 return Tag.select_by_user(self.request.user)
2945 def create(self, request, *args, **kwargs):
2946 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2947 if not (serializer.is_valid()):
2948 response = {"error": "validation",
2949 "specific_error": "not serializer.is_valid()",
\r
2950 "reasons": serializer.errors}
\r
2951 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2952 obj = serializer.object
2953 obj.caller = request.user
2954 if obj.can_update(request.user):
2955 return super(TagList, self).create(request, *args, **kwargs)
2957 raise Exception("failed obj.can_update")
2959 ret = super(TagList, self).create(request, *args, **kwargs)
2960 if (ret.status_code%100 != 200):
2961 raise Exception(ret.data)
2966 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2967 queryset = Tag.objects.select_related().all()
2968 serializer_class = TagSerializer
2969 id_serializer_class = TagIdSerializer
2971 def get_serializer_class(self):
2972 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2974 return self.id_serializer_class
2976 return self.serializer_class
2978 def get_queryset(self):
2979 return Tag.select_by_user(self.request.user)
2981 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2983 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2987 class InvoiceList(generics.ListCreateAPIView):
2988 queryset = Invoice.objects.select_related().all()
2989 serializer_class = InvoiceSerializer
2990 id_serializer_class = InvoiceIdSerializer
2991 filter_backends = (filters.DjangoFilterBackend,)
2992 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
2994 def get_serializer_class(self):
2995 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2997 return self.id_serializer_class
2999 return self.serializer_class
3001 def get_queryset(self):
3002 return Invoice.select_by_user(self.request.user)
3004 def create(self, request, *args, **kwargs):
3005 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3006 if not (serializer.is_valid()):
3007 response = {"error": "validation",
3008 "specific_error": "not serializer.is_valid()",
\r
3009 "reasons": serializer.errors}
\r
3010 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3011 obj = serializer.object
3012 obj.caller = request.user
3013 if obj.can_update(request.user):
3014 return super(InvoiceList, self).create(request, *args, **kwargs)
3016 raise Exception("failed obj.can_update")
3018 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3019 if (ret.status_code%100 != 200):
3020 raise Exception(ret.data)
3025 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3026 queryset = Invoice.objects.select_related().all()
3027 serializer_class = InvoiceSerializer
3028 id_serializer_class = InvoiceIdSerializer
3030 def get_serializer_class(self):
3031 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3033 return self.id_serializer_class
3035 return self.serializer_class
3037 def get_queryset(self):
3038 return Invoice.select_by_user(self.request.user)
3040 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3042 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3046 class SlicePrivilegeList(generics.ListCreateAPIView):
3047 queryset = SlicePrivilege.objects.select_related().all()
3048 serializer_class = SlicePrivilegeSerializer
3049 id_serializer_class = SlicePrivilegeIdSerializer
3050 filter_backends = (filters.DjangoFilterBackend,)
3051 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
3053 def get_serializer_class(self):
3054 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3056 return self.id_serializer_class
3058 return self.serializer_class
3060 def get_queryset(self):
3061 return SlicePrivilege.select_by_user(self.request.user)
3063 def create(self, request, *args, **kwargs):
3064 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3065 if not (serializer.is_valid()):
3066 response = {"error": "validation",
3067 "specific_error": "not serializer.is_valid()",
\r
3068 "reasons": serializer.errors}
\r
3069 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3070 obj = serializer.object
3071 obj.caller = request.user
3072 if obj.can_update(request.user):
3073 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3075 raise Exception("failed obj.can_update")
3077 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3078 if (ret.status_code%100 != 200):
3079 raise Exception(ret.data)
3084 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3085 queryset = SlicePrivilege.objects.select_related().all()
3086 serializer_class = SlicePrivilegeSerializer
3087 id_serializer_class = SlicePrivilegeIdSerializer
3089 def get_serializer_class(self):
3090 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3092 return self.id_serializer_class
3094 return self.serializer_class
3096 def get_queryset(self):
3097 return SlicePrivilege.select_by_user(self.request.user)
3099 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3101 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3105 class PlanetStackRoleList(generics.ListCreateAPIView):
3106 queryset = PlanetStackRole.objects.select_related().all()
3107 serializer_class = PlanetStackRoleSerializer
3108 id_serializer_class = PlanetStackRoleIdSerializer
3109 filter_backends = (filters.DjangoFilterBackend,)
3110 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3112 def get_serializer_class(self):
3113 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3115 return self.id_serializer_class
3117 return self.serializer_class
3119 def get_queryset(self):
3120 return PlanetStackRole.select_by_user(self.request.user)
3122 def create(self, request, *args, **kwargs):
3123 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3124 if not (serializer.is_valid()):
3125 response = {"error": "validation",
3126 "specific_error": "not serializer.is_valid()",
\r
3127 "reasons": serializer.errors}
\r
3128 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3129 obj = serializer.object
3130 obj.caller = request.user
3131 if obj.can_update(request.user):
3132 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3134 raise Exception("failed obj.can_update")
3136 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3137 if (ret.status_code%100 != 200):
3138 raise Exception(ret.data)
3143 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3144 queryset = PlanetStackRole.objects.select_related().all()
3145 serializer_class = PlanetStackRoleSerializer
3146 id_serializer_class = PlanetStackRoleIdSerializer
3148 def get_serializer_class(self):
3149 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3151 return self.id_serializer_class
3153 return self.serializer_class
3155 def get_queryset(self):
3156 return PlanetStackRole.select_by_user(self.request.user)
3158 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3160 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3164 class ControllerPrivilegeList(generics.ListCreateAPIView):
3165 queryset = ControllerPrivilege.objects.select_related().all()
3166 serializer_class = ControllerPrivilegeSerializer
3167 id_serializer_class = ControllerPrivilegeIdSerializer
3168 filter_backends = (filters.DjangoFilterBackend,)
3169 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','role',)
3171 def get_serializer_class(self):
3172 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3174 return self.id_serializer_class
3176 return self.serializer_class
3178 def get_queryset(self):
3179 return ControllerPrivilege.select_by_user(self.request.user)
3181 def create(self, request, *args, **kwargs):
3182 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3183 if not (serializer.is_valid()):
3184 response = {"error": "validation",
3185 "specific_error": "not serializer.is_valid()",
\r
3186 "reasons": serializer.errors}
\r
3187 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3188 obj = serializer.object
3189 obj.caller = request.user
3190 if obj.can_update(request.user):
3191 return super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3193 raise Exception("failed obj.can_update")
3195 ret = super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3196 if (ret.status_code%100 != 200):
3197 raise Exception(ret.data)
3202 class ControllerPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3203 queryset = ControllerPrivilege.objects.select_related().all()
3204 serializer_class = ControllerPrivilegeSerializer
3205 id_serializer_class = ControllerPrivilegeIdSerializer
3207 def get_serializer_class(self):
3208 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3210 return self.id_serializer_class
3212 return self.serializer_class
3214 def get_queryset(self):
3215 return ControllerPrivilege.select_by_user(self.request.user)
3217 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3219 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3223 class NetworkSliverList(generics.ListCreateAPIView):
3224 queryset = NetworkSliver.objects.select_related().all()
3225 serializer_class = NetworkSliverSerializer
3226 id_serializer_class = NetworkSliverIdSerializer
3227 filter_backends = (filters.DjangoFilterBackend,)
3228 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
3230 def get_serializer_class(self):
3231 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3233 return self.id_serializer_class
3235 return self.serializer_class
3237 def get_queryset(self):
3238 return NetworkSliver.select_by_user(self.request.user)
3240 def create(self, request, *args, **kwargs):
3241 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3242 if not (serializer.is_valid()):
3243 response = {"error": "validation",
3244 "specific_error": "not serializer.is_valid()",
\r
3245 "reasons": serializer.errors}
\r
3246 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3247 obj = serializer.object
3248 obj.caller = request.user
3249 if obj.can_update(request.user):
3250 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3252 raise Exception("failed obj.can_update")
3254 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3255 if (ret.status_code%100 != 200):
3256 raise Exception(ret.data)
3261 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3262 queryset = NetworkSliver.objects.select_related().all()
3263 serializer_class = NetworkSliverSerializer
3264 id_serializer_class = NetworkSliverIdSerializer
3266 def get_serializer_class(self):
3267 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3269 return self.id_serializer_class
3271 return self.serializer_class
3273 def get_queryset(self):
3274 return NetworkSliver.select_by_user(self.request.user)
3276 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3278 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3282 class ProjectList(generics.ListCreateAPIView):
3283 queryset = Project.objects.select_related().all()
3284 serializer_class = ProjectSerializer
3285 id_serializer_class = ProjectIdSerializer
3286 filter_backends = (filters.DjangoFilterBackend,)
3287 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3289 def get_serializer_class(self):
3290 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3292 return self.id_serializer_class
3294 return self.serializer_class
3296 def get_queryset(self):
3297 return Project.select_by_user(self.request.user)
3299 def create(self, request, *args, **kwargs):
3300 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3301 if not (serializer.is_valid()):
3302 response = {"error": "validation",
3303 "specific_error": "not serializer.is_valid()",
\r
3304 "reasons": serializer.errors}
\r
3305 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3306 obj = serializer.object
3307 obj.caller = request.user
3308 if obj.can_update(request.user):
3309 return super(ProjectList, self).create(request, *args, **kwargs)
3311 raise Exception("failed obj.can_update")
3313 ret = super(ProjectList, self).create(request, *args, **kwargs)
3314 if (ret.status_code%100 != 200):
3315 raise Exception(ret.data)
3320 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3321 queryset = Project.objects.select_related().all()
3322 serializer_class = ProjectSerializer
3323 id_serializer_class = ProjectIdSerializer
3325 def get_serializer_class(self):
3326 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3328 return self.id_serializer_class
3330 return self.serializer_class
3332 def get_queryset(self):
3333 return Project.select_by_user(self.request.user)
3335 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3337 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3341 class SliceList(generics.ListCreateAPIView):
3342 queryset = Slice.objects.select_related().all()
3343 serializer_class = SliceSerializer
3344 id_serializer_class = SliceIdSerializer
3345 filter_backends = (filters.DjangoFilterBackend,)
3346 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','networks',)
3348 def get_serializer_class(self):
3349 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3351 return self.id_serializer_class
3353 return self.serializer_class
3355 def get_queryset(self):
3356 return Slice.select_by_user(self.request.user)
3358 def create(self, request, *args, **kwargs):
3359 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3360 if not (serializer.is_valid()):
3361 response = {"error": "validation",
3362 "specific_error": "not serializer.is_valid()",
\r
3363 "reasons": serializer.errors}
\r
3364 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3365 obj = serializer.object
3366 obj.caller = request.user
3367 if obj.can_update(request.user):
3368 return super(SliceList, self).create(request, *args, **kwargs)
3370 raise Exception("failed obj.can_update")
3372 ret = super(SliceList, self).create(request, *args, **kwargs)
3373 if (ret.status_code%100 != 200):
3374 raise Exception(ret.data)
3379 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3380 queryset = Slice.objects.select_related().all()
3381 serializer_class = SliceSerializer
3382 id_serializer_class = SliceIdSerializer
3384 def get_serializer_class(self):
3385 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3387 return self.id_serializer_class
3389 return self.serializer_class
3391 def get_queryset(self):
3392 return Slice.select_by_user(self.request.user)
3394 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3396 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3400 class NetworkList(generics.ListCreateAPIView):
3401 queryset = Network.objects.select_related().all()
3402 serializer_class = NetworkSerializer
3403 id_serializer_class = NetworkIdSerializer
3404 filter_backends = (filters.DjangoFilterBackend,)
3405 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
3407 def get_serializer_class(self):
3408 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3410 return self.id_serializer_class
3412 return self.serializer_class
3414 def get_queryset(self):
3415 return Network.select_by_user(self.request.user)
3417 def create(self, request, *args, **kwargs):
3418 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3419 if not (serializer.is_valid()):
3420 response = {"error": "validation",
3421 "specific_error": "not serializer.is_valid()",
\r
3422 "reasons": serializer.errors}
\r
3423 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3424 obj = serializer.object
3425 obj.caller = request.user
3426 if obj.can_update(request.user):
3427 return super(NetworkList, self).create(request, *args, **kwargs)
3429 raise Exception("failed obj.can_update")
3431 ret = super(NetworkList, self).create(request, *args, **kwargs)
3432 if (ret.status_code%100 != 200):
3433 raise Exception(ret.data)
3438 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3439 queryset = Network.objects.select_related().all()
3440 serializer_class = NetworkSerializer
3441 id_serializer_class = NetworkIdSerializer
3443 def get_serializer_class(self):
3444 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3446 return self.id_serializer_class
3448 return self.serializer_class
3450 def get_queryset(self):
3451 return Network.select_by_user(self.request.user)
3453 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3455 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3459 class ServiceList(generics.ListCreateAPIView):
3460 queryset = Service.objects.select_related().all()
3461 serializer_class = ServiceSerializer
3462 id_serializer_class = ServiceIdSerializer
3463 filter_backends = (filters.DjangoFilterBackend,)
3464 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
3466 def get_serializer_class(self):
3467 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3469 return self.id_serializer_class
3471 return self.serializer_class
3473 def get_queryset(self):
3474 return Service.select_by_user(self.request.user)
3476 def create(self, request, *args, **kwargs):
3477 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3478 if not (serializer.is_valid()):
3479 response = {"error": "validation",
3480 "specific_error": "not serializer.is_valid()",
\r
3481 "reasons": serializer.errors}
\r
3482 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3483 obj = serializer.object
3484 obj.caller = request.user
3485 if obj.can_update(request.user):
3486 return super(ServiceList, self).create(request, *args, **kwargs)
3488 raise Exception("failed obj.can_update")
3490 ret = super(ServiceList, self).create(request, *args, **kwargs)
3491 if (ret.status_code%100 != 200):
3492 raise Exception(ret.data)
3497 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3498 queryset = Service.objects.select_related().all()
3499 serializer_class = ServiceSerializer
3500 id_serializer_class = ServiceIdSerializer
3502 def get_serializer_class(self):
3503 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3505 return self.id_serializer_class
3507 return self.serializer_class
3509 def get_queryset(self):
3510 return Service.select_by_user(self.request.user)
3512 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3514 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3518 class ServiceClassList(generics.ListCreateAPIView):
3519 queryset = ServiceClass.objects.select_related().all()
3520 serializer_class = ServiceClassSerializer
3521 id_serializer_class = ServiceClassIdSerializer
3522 filter_backends = (filters.DjangoFilterBackend,)
3523 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
3525 def get_serializer_class(self):
3526 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3528 return self.id_serializer_class
3530 return self.serializer_class
3532 def get_queryset(self):
3533 return ServiceClass.select_by_user(self.request.user)
3535 def create(self, request, *args, **kwargs):
3536 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3537 if not (serializer.is_valid()):
3538 response = {"error": "validation",
3539 "specific_error": "not serializer.is_valid()",
\r
3540 "reasons": serializer.errors}
\r
3541 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3542 obj = serializer.object
3543 obj.caller = request.user
3544 if obj.can_update(request.user):
3545 return super(ServiceClassList, self).create(request, *args, **kwargs)
3547 raise Exception("failed obj.can_update")
3549 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3550 if (ret.status_code%100 != 200):
3551 raise Exception(ret.data)
3556 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3557 queryset = ServiceClass.objects.select_related().all()
3558 serializer_class = ServiceClassSerializer
3559 id_serializer_class = ServiceClassIdSerializer
3561 def get_serializer_class(self):
3562 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3564 return self.id_serializer_class
3566 return self.serializer_class
3568 def get_queryset(self):
3569 return ServiceClass.select_by_user(self.request.user)
3571 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3573 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3577 class ControllerNetworksList(generics.ListCreateAPIView):
3578 queryset = ControllerNetworks.objects.select_related().all()
3579 serializer_class = ControllerNetworksSerializer
3580 id_serializer_class = ControllerNetworksIdSerializer
3581 filter_backends = (filters.DjangoFilterBackend,)
3582 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
3584 def get_serializer_class(self):
3585 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3587 return self.id_serializer_class
3589 return self.serializer_class
3591 def get_queryset(self):
3592 return ControllerNetworks.select_by_user(self.request.user)
3594 def create(self, request, *args, **kwargs):
3595 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3596 if not (serializer.is_valid()):
3597 response = {"error": "validation",
3598 "specific_error": "not serializer.is_valid()",
\r
3599 "reasons": serializer.errors}
\r
3600 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3601 obj = serializer.object
3602 obj.caller = request.user
3603 if obj.can_update(request.user):
3604 return super(ControllerNetworksList, self).create(request, *args, **kwargs)
3606 raise Exception("failed obj.can_update")
3608 ret = super(ControllerNetworksList, self).create(request, *args, **kwargs)
3609 if (ret.status_code%100 != 200):
3610 raise Exception(ret.data)
3615 class ControllerNetworksDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3616 queryset = ControllerNetworks.objects.select_related().all()
3617 serializer_class = ControllerNetworksSerializer
3618 id_serializer_class = ControllerNetworksIdSerializer
3620 def get_serializer_class(self):
3621 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3623 return self.id_serializer_class
3625 return self.serializer_class
3627 def get_queryset(self):
3628 return ControllerNetworks.select_by_user(self.request.user)
3630 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3632 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3636 class ChargeList(generics.ListCreateAPIView):
3637 queryset = Charge.objects.select_related().all()
3638 serializer_class = ChargeSerializer
3639 id_serializer_class = ChargeIdSerializer
3640 filter_backends = (filters.DjangoFilterBackend,)
3641 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3643 def get_serializer_class(self):
3644 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3646 return self.id_serializer_class
3648 return self.serializer_class
3650 def get_queryset(self):
3651 return Charge.select_by_user(self.request.user)
3653 def create(self, request, *args, **kwargs):
3654 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3655 if not (serializer.is_valid()):
3656 response = {"error": "validation",
3657 "specific_error": "not serializer.is_valid()",
\r
3658 "reasons": serializer.errors}
\r
3659 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3660 obj = serializer.object
3661 obj.caller = request.user
3662 if obj.can_update(request.user):
3663 return super(ChargeList, self).create(request, *args, **kwargs)
3665 raise Exception("failed obj.can_update")
3667 ret = super(ChargeList, self).create(request, *args, **kwargs)
3668 if (ret.status_code%100 != 200):
3669 raise Exception(ret.data)
3674 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3675 queryset = Charge.objects.select_related().all()
3676 serializer_class = ChargeSerializer
3677 id_serializer_class = ChargeIdSerializer
3679 def get_serializer_class(self):
3680 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3682 return self.id_serializer_class
3684 return self.serializer_class
3686 def get_queryset(self):
3687 return Charge.select_by_user(self.request.user)
3689 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3691 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3695 class RoleList(generics.ListCreateAPIView):
3696 queryset = Role.objects.select_related().all()
3697 serializer_class = RoleSerializer
3698 id_serializer_class = RoleIdSerializer
3699 filter_backends = (filters.DjangoFilterBackend,)
3700 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3702 def get_serializer_class(self):
3703 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3705 return self.id_serializer_class
3707 return self.serializer_class
3709 def get_queryset(self):
3710 return Role.select_by_user(self.request.user)
3712 def create(self, request, *args, **kwargs):
3713 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3714 if not (serializer.is_valid()):
3715 response = {"error": "validation",
3716 "specific_error": "not serializer.is_valid()",
\r
3717 "reasons": serializer.errors}
\r
3718 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3719 obj = serializer.object
3720 obj.caller = request.user
3721 if obj.can_update(request.user):
3722 return super(RoleList, self).create(request, *args, **kwargs)
3724 raise Exception("failed obj.can_update")
3726 ret = super(RoleList, self).create(request, *args, **kwargs)
3727 if (ret.status_code%100 != 200):
3728 raise Exception(ret.data)
3733 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3734 queryset = Role.objects.select_related().all()
3735 serializer_class = RoleSerializer
3736 id_serializer_class = RoleIdSerializer
3738 def get_serializer_class(self):
3739 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3741 return self.id_serializer_class
3743 return self.serializer_class
3745 def get_queryset(self):
3746 return Role.select_by_user(self.request.user)
3748 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3750 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3754 class UsableObjectList(generics.ListCreateAPIView):
3755 queryset = UsableObject.objects.select_related().all()
3756 serializer_class = UsableObjectSerializer
3757 id_serializer_class = UsableObjectIdSerializer
3758 filter_backends = (filters.DjangoFilterBackend,)
3759 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3761 def get_serializer_class(self):
3762 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3764 return self.id_serializer_class
3766 return self.serializer_class
3768 def get_queryset(self):
3769 return UsableObject.select_by_user(self.request.user)
3771 def create(self, request, *args, **kwargs):
3772 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3773 if not (serializer.is_valid()):
3774 response = {"error": "validation",
3775 "specific_error": "not serializer.is_valid()",
\r
3776 "reasons": serializer.errors}
\r
3777 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3778 obj = serializer.object
3779 obj.caller = request.user
3780 if obj.can_update(request.user):
3781 return super(UsableObjectList, self).create(request, *args, **kwargs)
3783 raise Exception("failed obj.can_update")
3785 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3786 if (ret.status_code%100 != 200):
3787 raise Exception(ret.data)
3792 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3793 queryset = UsableObject.objects.select_related().all()
3794 serializer_class = UsableObjectSerializer
3795 id_serializer_class = UsableObjectIdSerializer
3797 def get_serializer_class(self):
3798 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3800 return self.id_serializer_class
3802 return self.serializer_class
3804 def get_queryset(self):
3805 return UsableObject.select_by_user(self.request.user)
3807 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3809 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3812 class SiteRoleList(generics.ListCreateAPIView):
3813 queryset = SiteRole.objects.select_related().all()
3814 serializer_class = SiteRoleSerializer
3815 id_serializer_class = SiteRoleIdSerializer
3816 filter_backends = (filters.DjangoFilterBackend,)
3817 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3819 def get_serializer_class(self):
3820 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3822 return self.id_serializer_class
3824 return self.serializer_class
3826 def get_queryset(self):
3827 return SiteRole.select_by_user(self.request.user)
3829 def create(self, request, *args, **kwargs):
3830 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3831 if not (serializer.is_valid()):
3832 response = {"error": "validation",
3833 "specific_error": "not serializer.is_valid()",
\r
3834 "reasons": serializer.errors}
\r
3835 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3836 obj = serializer.object
3837 obj.caller = request.user
3838 if obj.can_update(request.user):
3839 return super(SiteRoleList, self).create(request, *args, **kwargs)
3841 raise Exception("failed obj.can_update")
3843 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3844 if (ret.status_code%100 != 200):
3845 raise Exception(ret.data)
3850 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3851 queryset = SiteRole.objects.select_related().all()
3852 serializer_class = SiteRoleSerializer
3853 id_serializer_class = SiteRoleIdSerializer
3855 def get_serializer_class(self):
3856 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3858 return self.id_serializer_class
3860 return self.serializer_class
3862 def get_queryset(self):
3863 return SiteRole.select_by_user(self.request.user)
3865 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3867 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3871 class SliceCredentialList(generics.ListCreateAPIView):
3872 queryset = SliceCredential.objects.select_related().all()
3873 serializer_class = SliceCredentialSerializer
3874 id_serializer_class = SliceCredentialIdSerializer
3875 filter_backends = (filters.DjangoFilterBackend,)
3876 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
3878 def get_serializer_class(self):
3879 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3881 return self.id_serializer_class
3883 return self.serializer_class
3885 def get_queryset(self):
3886 return SliceCredential.select_by_user(self.request.user)
3888 def create(self, request, *args, **kwargs):
3889 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3890 if not (serializer.is_valid()):
3891 response = {"error": "validation",
3892 "specific_error": "not serializer.is_valid()",
\r
3893 "reasons": serializer.errors}
\r
3894 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3895 obj = serializer.object
3896 obj.caller = request.user
3897 if obj.can_update(request.user):
3898 return super(SliceCredentialList, self).create(request, *args, **kwargs)
3900 raise Exception("failed obj.can_update")
3902 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
3903 if (ret.status_code%100 != 200):
3904 raise Exception(ret.data)
3909 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3910 queryset = SliceCredential.objects.select_related().all()
3911 serializer_class = SliceCredentialSerializer
3912 id_serializer_class = SliceCredentialIdSerializer
3914 def get_serializer_class(self):
3915 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3917 return self.id_serializer_class
3919 return self.serializer_class
3921 def get_queryset(self):
3922 return SliceCredential.select_by_user(self.request.user)
3924 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3926 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3930 class SliverList(generics.ListCreateAPIView):
3931 queryset = Sliver.objects.select_related().all()
3932 serializer_class = SliverSerializer
3933 id_serializer_class = SliverIdSerializer
3934 filter_backends = (filters.DjangoFilterBackend,)
3935 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
3937 def get_serializer_class(self):
3938 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3940 return self.id_serializer_class
3942 return self.serializer_class
3944 def get_queryset(self):
3945 return Sliver.select_by_user(self.request.user)
3947 def create(self, request, *args, **kwargs):
3948 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3949 if not (serializer.is_valid()):
3950 response = {"error": "validation",
3951 "specific_error": "not serializer.is_valid()",
\r
3952 "reasons": serializer.errors}
\r
3953 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3954 obj = serializer.object
3955 obj.caller = request.user
3956 if obj.can_update(request.user):
3957 return super(SliverList, self).create(request, *args, **kwargs)
3959 raise Exception("failed obj.can_update")
3961 ret = super(SliverList, self).create(request, *args, **kwargs)
3962 if (ret.status_code%100 != 200):
3963 raise Exception(ret.data)
3968 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3969 queryset = Sliver.objects.select_related().all()
3970 serializer_class = SliverSerializer
3971 id_serializer_class = SliverIdSerializer
3973 def get_serializer_class(self):
3974 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3976 return self.id_serializer_class
3978 return self.serializer_class
3980 def get_queryset(self):
3981 return Sliver.select_by_user(self.request.user)
3983 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3985 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3989 class NodeList(generics.ListCreateAPIView):
3990 queryset = Node.objects.select_related().all()
3991 serializer_class = NodeSerializer
3992 id_serializer_class = NodeIdSerializer
3993 filter_backends = (filters.DjangoFilterBackend,)
3994 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
3996 def get_serializer_class(self):
3997 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3999 return self.id_serializer_class
4001 return self.serializer_class
4003 def get_queryset(self):
4004 return Node.select_by_user(self.request.user)
4006 def create(self, request, *args, **kwargs):
4007 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4008 if not (serializer.is_valid()):
4009 response = {"error": "validation",
4010 "specific_error": "not serializer.is_valid()",
\r
4011 "reasons": serializer.errors}
\r
4012 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4013 obj = serializer.object
4014 obj.caller = request.user
4015 if obj.can_update(request.user):
4016 return super(NodeList, self).create(request, *args, **kwargs)
4018 raise Exception("failed obj.can_update")
4020 ret = super(NodeList, self).create(request, *args, **kwargs)
4021 if (ret.status_code%100 != 200):
4022 raise Exception(ret.data)
4027 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4028 queryset = Node.objects.select_related().all()
4029 serializer_class = NodeSerializer
4030 id_serializer_class = NodeIdSerializer
4032 def get_serializer_class(self):
4033 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4035 return self.id_serializer_class
4037 return self.serializer_class
4039 def get_queryset(self):
4040 return Node.select_by_user(self.request.user)
4042 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4044 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4048 class DashboardViewList(generics.ListCreateAPIView):
4049 queryset = DashboardView.objects.select_related().all()
4050 serializer_class = DashboardViewSerializer
4051 id_serializer_class = DashboardViewIdSerializer
4052 filter_backends = (filters.DjangoFilterBackend,)
4053 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
4055 def get_serializer_class(self):
4056 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4058 return self.id_serializer_class
4060 return self.serializer_class
4062 def get_queryset(self):
4063 return DashboardView.select_by_user(self.request.user)
4065 def create(self, request, *args, **kwargs):
4066 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4067 if not (serializer.is_valid()):
4068 response = {"error": "validation",
4069 "specific_error": "not serializer.is_valid()",
\r
4070 "reasons": serializer.errors}
\r
4071 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4072 obj = serializer.object
4073 obj.caller = request.user
4074 if obj.can_update(request.user):
4075 return super(DashboardViewList, self).create(request, *args, **kwargs)
4077 raise Exception("failed obj.can_update")
4079 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4080 if (ret.status_code%100 != 200):
4081 raise Exception(ret.data)
4086 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4087 queryset = DashboardView.objects.select_related().all()
4088 serializer_class = DashboardViewSerializer
4089 id_serializer_class = DashboardViewIdSerializer
4091 def get_serializer_class(self):
4092 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4094 return self.id_serializer_class
4096 return self.serializer_class
4098 def get_queryset(self):
4099 return DashboardView.select_by_user(self.request.user)
4101 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4103 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4107 class ImageDeploymentsList(generics.ListCreateAPIView):
4108 queryset = ImageDeployments.objects.select_related().all()
4109 serializer_class = ImageDeploymentsSerializer
4110 id_serializer_class = ImageDeploymentsIdSerializer
4111 filter_backends = (filters.DjangoFilterBackend,)
4112 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment',)
4114 def get_serializer_class(self):
4115 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4117 return self.id_serializer_class
4119 return self.serializer_class
4121 def get_queryset(self):
4122 return ImageDeployments.select_by_user(self.request.user)
4124 def create(self, request, *args, **kwargs):
4125 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4126 if not (serializer.is_valid()):
4127 response = {"error": "validation",
4128 "specific_error": "not serializer.is_valid()",
\r
4129 "reasons": serializer.errors}
\r
4130 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4131 obj = serializer.object
4132 obj.caller = request.user
4133 if obj.can_update(request.user):
4134 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4136 raise Exception("failed obj.can_update")
4138 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4139 if (ret.status_code%100 != 200):
4140 raise Exception(ret.data)
4145 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4146 queryset = ImageDeployments.objects.select_related().all()
4147 serializer_class = ImageDeploymentsSerializer
4148 id_serializer_class = ImageDeploymentsIdSerializer
4150 def get_serializer_class(self):
4151 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4153 return self.id_serializer_class
4155 return self.serializer_class
4157 def get_queryset(self):
4158 return ImageDeployments.select_by_user(self.request.user)
4160 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4162 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4166 class ReservedResourceList(generics.ListCreateAPIView):
4167 queryset = ReservedResource.objects.select_related().all()
4168 serializer_class = ReservedResourceSerializer
4169 id_serializer_class = ReservedResourceIdSerializer
4170 filter_backends = (filters.DjangoFilterBackend,)
4171 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
4173 def get_serializer_class(self):
4174 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4176 return self.id_serializer_class
4178 return self.serializer_class
4180 def get_queryset(self):
4181 return ReservedResource.select_by_user(self.request.user)
4183 def create(self, request, *args, **kwargs):
4184 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4185 if not (serializer.is_valid()):
4186 response = {"error": "validation",
4187 "specific_error": "not serializer.is_valid()",
\r
4188 "reasons": serializer.errors}
\r
4189 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4190 obj = serializer.object
4191 obj.caller = request.user
4192 if obj.can_update(request.user):
4193 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4195 raise Exception("failed obj.can_update")
4197 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4198 if (ret.status_code%100 != 200):
4199 raise Exception(ret.data)
4204 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4205 queryset = ReservedResource.objects.select_related().all()
4206 serializer_class = ReservedResourceSerializer
4207 id_serializer_class = ReservedResourceIdSerializer
4209 def get_serializer_class(self):
4210 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4212 return self.id_serializer_class
4214 return self.serializer_class
4216 def get_queryset(self):
4217 return ReservedResource.select_by_user(self.request.user)
4219 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4221 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4225 class PaymentList(generics.ListCreateAPIView):
4226 queryset = Payment.objects.select_related().all()
4227 serializer_class = PaymentSerializer
4228 id_serializer_class = PaymentIdSerializer
4229 filter_backends = (filters.DjangoFilterBackend,)
4230 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
4232 def get_serializer_class(self):
4233 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4235 return self.id_serializer_class
4237 return self.serializer_class
4239 def get_queryset(self):
4240 return Payment.select_by_user(self.request.user)
4242 def create(self, request, *args, **kwargs):
4243 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4244 if not (serializer.is_valid()):
4245 response = {"error": "validation",
4246 "specific_error": "not serializer.is_valid()",
\r
4247 "reasons": serializer.errors}
\r
4248 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4249 obj = serializer.object
4250 obj.caller = request.user
4251 if obj.can_update(request.user):
4252 return super(PaymentList, self).create(request, *args, **kwargs)
4254 raise Exception("failed obj.can_update")
4256 ret = super(PaymentList, self).create(request, *args, **kwargs)
4257 if (ret.status_code%100 != 200):
4258 raise Exception(ret.data)
4263 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4264 queryset = Payment.objects.select_related().all()
4265 serializer_class = PaymentSerializer
4266 id_serializer_class = PaymentIdSerializer
4268 def get_serializer_class(self):
4269 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4271 return self.id_serializer_class
4273 return self.serializer_class
4275 def get_queryset(self):
4276 return Payment.select_by_user(self.request.user)
4278 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4280 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4284 class NetworkSliceList(generics.ListCreateAPIView):
4285 queryset = NetworkSlice.objects.select_related().all()
4286 serializer_class = NetworkSliceSerializer
4287 id_serializer_class = NetworkSliceIdSerializer
4288 filter_backends = (filters.DjangoFilterBackend,)
4289 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
4291 def get_serializer_class(self):
4292 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4294 return self.id_serializer_class
4296 return self.serializer_class
4298 def get_queryset(self):
4299 return NetworkSlice.select_by_user(self.request.user)
4301 def create(self, request, *args, **kwargs):
4302 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4303 if not (serializer.is_valid()):
4304 response = {"error": "validation",
4305 "specific_error": "not serializer.is_valid()",
\r
4306 "reasons": serializer.errors}
\r
4307 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4308 obj = serializer.object
4309 obj.caller = request.user
4310 if obj.can_update(request.user):
4311 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4313 raise Exception("failed obj.can_update")
4315 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4316 if (ret.status_code%100 != 200):
4317 raise Exception(ret.data)
4322 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4323 queryset = NetworkSlice.objects.select_related().all()
4324 serializer_class = NetworkSliceSerializer
4325 id_serializer_class = NetworkSliceIdSerializer
4327 def get_serializer_class(self):
4328 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4330 return self.id_serializer_class
4332 return self.serializer_class
4334 def get_queryset(self):
4335 return NetworkSlice.select_by_user(self.request.user)
4337 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4339 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4343 class UserDashboardViewList(generics.ListCreateAPIView):
4344 queryset = UserDashboardView.objects.select_related().all()
4345 serializer_class = UserDashboardViewSerializer
4346 id_serializer_class = UserDashboardViewIdSerializer
4347 filter_backends = (filters.DjangoFilterBackend,)
4348 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4350 def get_serializer_class(self):
4351 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4353 return self.id_serializer_class
4355 return self.serializer_class
4357 def get_queryset(self):
4358 return UserDashboardView.select_by_user(self.request.user)
4360 def create(self, request, *args, **kwargs):
4361 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4362 if not (serializer.is_valid()):
4363 response = {"error": "validation",
4364 "specific_error": "not serializer.is_valid()",
\r
4365 "reasons": serializer.errors}
\r
4366 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4367 obj = serializer.object
4368 obj.caller = request.user
4369 if obj.can_update(request.user):
4370 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4372 raise Exception("failed obj.can_update")
4374 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4375 if (ret.status_code%100 != 200):
4376 raise Exception(ret.data)
4381 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4382 queryset = UserDashboardView.objects.select_related().all()
4383 serializer_class = UserDashboardViewSerializer
4384 id_serializer_class = UserDashboardViewIdSerializer
4386 def get_serializer_class(self):
4387 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4389 return self.id_serializer_class
4391 return self.serializer_class
4393 def get_queryset(self):
4394 return UserDashboardView.select_by_user(self.request.user)
4396 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4398 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4402 class ControllerList(generics.ListCreateAPIView):
4403 queryset = Controller.objects.select_related().all()
4404 serializer_class = ControllerSerializer
4405 id_serializer_class = ControllerIdSerializer
4406 filter_backends = (filters.DjangoFilterBackend,)
4407 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
4409 def get_serializer_class(self):
4410 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4412 return self.id_serializer_class
4414 return self.serializer_class
4416 def get_queryset(self):
4417 return Controller.select_by_user(self.request.user)
4419 def create(self, request, *args, **kwargs):
4420 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4421 if not (serializer.is_valid()):
4422 response = {"error": "validation",
4423 "specific_error": "not serializer.is_valid()",
\r
4424 "reasons": serializer.errors}
\r
4425 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4426 obj = serializer.object
4427 obj.caller = request.user
4428 if obj.can_update(request.user):
4429 return super(ControllerList, self).create(request, *args, **kwargs)
4431 raise Exception("failed obj.can_update")
4433 ret = super(ControllerList, self).create(request, *args, **kwargs)
4434 if (ret.status_code%100 != 200):
4435 raise Exception(ret.data)
4440 class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4441 queryset = Controller.objects.select_related().all()
4442 serializer_class = ControllerSerializer
4443 id_serializer_class = ControllerIdSerializer
4445 def get_serializer_class(self):
4446 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4448 return self.id_serializer_class
4450 return self.serializer_class
4452 def get_queryset(self):
4453 return Controller.select_by_user(self.request.user)
4455 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4457 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4461 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4462 queryset = PlanetStackPrivilege.objects.select_related().all()
4463 serializer_class = PlanetStackPrivilegeSerializer
4464 id_serializer_class = PlanetStackPrivilegeIdSerializer
4465 filter_backends = (filters.DjangoFilterBackend,)
4466 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4468 def get_serializer_class(self):
4469 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4471 return self.id_serializer_class
4473 return self.serializer_class
4475 def get_queryset(self):
4476 return PlanetStackPrivilege.select_by_user(self.request.user)
4478 def create(self, request, *args, **kwargs):
4479 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4480 if not (serializer.is_valid()):
4481 response = {"error": "validation",
4482 "specific_error": "not serializer.is_valid()",
\r
4483 "reasons": serializer.errors}
\r
4484 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4485 obj = serializer.object
4486 obj.caller = request.user
4487 if obj.can_update(request.user):
4488 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4490 raise Exception("failed obj.can_update")
4492 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4493 if (ret.status_code%100 != 200):
4494 raise Exception(ret.data)
4499 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4500 queryset = PlanetStackPrivilege.objects.select_related().all()
4501 serializer_class = PlanetStackPrivilegeSerializer
4502 id_serializer_class = PlanetStackPrivilegeIdSerializer
4504 def get_serializer_class(self):
4505 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4507 return self.id_serializer_class
4509 return self.serializer_class
4511 def get_queryset(self):
4512 return PlanetStackPrivilege.select_by_user(self.request.user)
4514 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4516 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4520 class UserList(generics.ListCreateAPIView):
4521 queryset = User.objects.select_related().all()
4522 serializer_class = UserSerializer
4523 id_serializer_class = UserIdSerializer
4524 filter_backends = (filters.DjangoFilterBackend,)
4525 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',)
4527 def get_serializer_class(self):
4528 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4530 return self.id_serializer_class
4532 return self.serializer_class
4534 def get_queryset(self):
4535 return User.select_by_user(self.request.user)
4537 def create(self, request, *args, **kwargs):
4538 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4539 if not (serializer.is_valid()):
4540 response = {"error": "validation",
4541 "specific_error": "not serializer.is_valid()",
\r
4542 "reasons": serializer.errors}
\r
4543 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4544 obj = serializer.object
4545 obj.caller = request.user
4546 if obj.can_update(request.user):
4547 return super(UserList, self).create(request, *args, **kwargs)
4549 raise Exception("failed obj.can_update")
4551 ret = super(UserList, self).create(request, *args, **kwargs)
4552 if (ret.status_code%100 != 200):
4553 raise Exception(ret.data)
4558 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4559 queryset = User.objects.select_related().all()
4560 serializer_class = UserSerializer
4561 id_serializer_class = UserIdSerializer
4563 def get_serializer_class(self):
4564 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4566 return self.id_serializer_class
4568 return self.serializer_class
4570 def get_queryset(self):
4571 return User.select_by_user(self.request.user)
4573 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4575 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4579 class DeploymentList(generics.ListCreateAPIView):
4580 queryset = Deployment.objects.select_related().all()
4581 serializer_class = DeploymentSerializer
4582 id_serializer_class = DeploymentIdSerializer
4583 filter_backends = (filters.DjangoFilterBackend,)
4584 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
4586 def get_serializer_class(self):
4587 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4589 return self.id_serializer_class
4591 return self.serializer_class
4593 def get_queryset(self):
4594 return Deployment.select_by_user(self.request.user)
4596 def create(self, request, *args, **kwargs):
4597 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4598 if not (serializer.is_valid()):
4599 response = {"error": "validation",
4600 "specific_error": "not serializer.is_valid()",
\r
4601 "reasons": serializer.errors}
\r
4602 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4603 obj = serializer.object
4604 obj.caller = request.user
4605 if obj.can_update(request.user):
4606 return super(DeploymentList, self).create(request, *args, **kwargs)
4608 raise Exception("failed obj.can_update")
4610 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4611 if (ret.status_code%100 != 200):
4612 raise Exception(ret.data)
4617 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4618 queryset = Deployment.objects.select_related().all()
4619 serializer_class = DeploymentSerializer
4620 id_serializer_class = DeploymentIdSerializer
4622 def get_serializer_class(self):
4623 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4625 return self.id_serializer_class
4627 return self.serializer_class
4629 def get_queryset(self):
4630 return Deployment.select_by_user(self.request.user)
4632 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4634 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4638 class ReservationList(generics.ListCreateAPIView):
4639 queryset = Reservation.objects.select_related().all()
4640 serializer_class = ReservationSerializer
4641 id_serializer_class = ReservationIdSerializer
4642 filter_backends = (filters.DjangoFilterBackend,)
4643 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4645 def get_serializer_class(self):
4646 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4648 return self.id_serializer_class
4650 return self.serializer_class
4652 def get_queryset(self):
4653 return Reservation.select_by_user(self.request.user)
4655 def create(self, request, *args, **kwargs):
4656 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4657 if not (serializer.is_valid()):
4658 response = {"error": "validation",
4659 "specific_error": "not serializer.is_valid()",
\r
4660 "reasons": serializer.errors}
\r
4661 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4662 obj = serializer.object
4663 obj.caller = request.user
4664 if obj.can_update(request.user):
4665 return super(ReservationList, self).create(request, *args, **kwargs)
4667 raise Exception("failed obj.can_update")
4669 ret = super(ReservationList, self).create(request, *args, **kwargs)
4670 if (ret.status_code%100 != 200):
4671 raise Exception(ret.data)
4676 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4677 queryset = Reservation.objects.select_related().all()
4678 serializer_class = ReservationSerializer
4679 id_serializer_class = ReservationIdSerializer
4681 def get_serializer_class(self):
4682 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4684 return self.id_serializer_class
4686 return self.serializer_class
4688 def get_queryset(self):
4689 return Reservation.select_by_user(self.request.user)
4691 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4693 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4697 class SitePrivilegeList(generics.ListCreateAPIView):
4698 queryset = SitePrivilege.objects.select_related().all()
4699 serializer_class = SitePrivilegeSerializer
4700 id_serializer_class = SitePrivilegeIdSerializer
4701 filter_backends = (filters.DjangoFilterBackend,)
4702 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4704 def get_serializer_class(self):
4705 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4707 return self.id_serializer_class
4709 return self.serializer_class
4711 def get_queryset(self):
4712 return SitePrivilege.select_by_user(self.request.user)
4714 def create(self, request, *args, **kwargs):
4715 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4716 if not (serializer.is_valid()):
4717 response = {"error": "validation",
4718 "specific_error": "not serializer.is_valid()",
\r
4719 "reasons": serializer.errors}
\r
4720 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4721 obj = serializer.object
4722 obj.caller = request.user
4723 if obj.can_update(request.user):
4724 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4726 raise Exception("failed obj.can_update")
4728 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4729 if (ret.status_code%100 != 200):
4730 raise Exception(ret.data)
4735 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4736 queryset = SitePrivilege.objects.select_related().all()
4737 serializer_class = SitePrivilegeSerializer
4738 id_serializer_class = SitePrivilegeIdSerializer
4740 def get_serializer_class(self):
4741 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4743 return self.id_serializer_class
4745 return self.serializer_class
4747 def get_queryset(self):
4748 return SitePrivilege.select_by_user(self.request.user)
4750 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4752 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4756 class PlanetStackList(generics.ListCreateAPIView):
4757 queryset = PlanetStack.objects.select_related().all()
4758 serializer_class = PlanetStackSerializer
4759 id_serializer_class = PlanetStackIdSerializer
4760 filter_backends = (filters.DjangoFilterBackend,)
4761 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
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 PlanetStack.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 response = {"error": "validation",
4777 "specific_error": "not serializer.is_valid()",
\r
4778 "reasons": serializer.errors}
\r
4779 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4780 obj = serializer.object
4781 obj.caller = request.user
4782 if obj.can_update(request.user):
4783 return super(PlanetStackList, self).create(request, *args, **kwargs)
4785 raise Exception("failed obj.can_update")
4787 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
4788 if (ret.status_code%100 != 200):
4789 raise Exception(ret.data)
4794 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4795 queryset = PlanetStack.objects.select_related().all()
4796 serializer_class = PlanetStackSerializer
4797 id_serializer_class = PlanetStackIdSerializer
4799 def get_serializer_class(self):
4800 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4802 return self.id_serializer_class
4804 return self.serializer_class
4806 def get_queryset(self):
4807 return PlanetStack.select_by_user(self.request.user)
4809 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4811 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4815 class ControllerDashboardViewList(generics.ListCreateAPIView):
4816 queryset = ControllerDashboardView.objects.select_related().all()
4817 serializer_class = ControllerDashboardViewSerializer
4818 id_serializer_class = ControllerDashboardViewIdSerializer
4819 filter_backends = (filters.DjangoFilterBackend,)
4820 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
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 get_queryset(self):
4830 return ControllerDashboardView.select_by_user(self.request.user)
4832 def create(self, request, *args, **kwargs):
4833 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4834 if not (serializer.is_valid()):
4835 response = {"error": "validation",
4836 "specific_error": "not serializer.is_valid()",
\r
4837 "reasons": serializer.errors}
\r
4838 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4839 obj = serializer.object
4840 obj.caller = request.user
4841 if obj.can_update(request.user):
4842 return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4844 raise Exception("failed obj.can_update")
4846 ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4847 if (ret.status_code%100 != 200):
4848 raise Exception(ret.data)
4853 class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4854 queryset = ControllerDashboardView.objects.select_related().all()
4855 serializer_class = ControllerDashboardViewSerializer
4856 id_serializer_class = ControllerDashboardViewIdSerializer
4858 def get_serializer_class(self):
4859 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4861 return self.id_serializer_class
4863 return self.serializer_class
4865 def get_queryset(self):
4866 return ControllerDashboardView.select_by_user(self.request.user)
4868 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4870 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4874 class AccountList(generics.ListCreateAPIView):
4875 queryset = Account.objects.select_related().all()
4876 serializer_class = AccountSerializer
4877 id_serializer_class = AccountIdSerializer
4878 filter_backends = (filters.DjangoFilterBackend,)
4879 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
4881 def get_serializer_class(self):
4882 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4884 return self.id_serializer_class
4886 return self.serializer_class
4888 def get_queryset(self):
4889 return Account.select_by_user(self.request.user)
4891 def create(self, request, *args, **kwargs):
4892 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4893 if not (serializer.is_valid()):
4894 response = {"error": "validation",
4895 "specific_error": "not serializer.is_valid()",
\r
4896 "reasons": serializer.errors}
\r
4897 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4898 obj = serializer.object
4899 obj.caller = request.user
4900 if obj.can_update(request.user):
4901 return super(AccountList, self).create(request, *args, **kwargs)
4903 raise Exception("failed obj.can_update")
4905 ret = super(AccountList, self).create(request, *args, **kwargs)
4906 if (ret.status_code%100 != 200):
4907 raise Exception(ret.data)
4912 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4913 queryset = Account.objects.select_related().all()
4914 serializer_class = AccountSerializer
4915 id_serializer_class = AccountIdSerializer
4917 def get_serializer_class(self):
4918 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4920 return self.id_serializer_class
4922 return self.serializer_class
4924 def get_queryset(self):
4925 return Account.select_by_user(self.request.user)
4927 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4929 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4933 class ControllerRoleList(generics.ListCreateAPIView):
4934 queryset = ControllerRole.objects.select_related().all()
4935 serializer_class = ControllerRoleSerializer
4936 id_serializer_class = ControllerRoleIdSerializer
4937 filter_backends = (filters.DjangoFilterBackend,)
4938 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
4940 def get_serializer_class(self):
4941 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4943 return self.id_serializer_class
4945 return self.serializer_class
4947 def get_queryset(self):
4948 return ControllerRole.select_by_user(self.request.user)
4950 def create(self, request, *args, **kwargs):
4951 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4952 if not (serializer.is_valid()):
4953 response = {"error": "validation",
4954 "specific_error": "not serializer.is_valid()",
\r
4955 "reasons": serializer.errors}
\r
4956 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4957 obj = serializer.object
4958 obj.caller = request.user
4959 if obj.can_update(request.user):
4960 return super(ControllerRoleList, self).create(request, *args, **kwargs)
4962 raise Exception("failed obj.can_update")
4964 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
4965 if (ret.status_code%100 != 200):
4966 raise Exception(ret.data)
4971 class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4972 queryset = ControllerRole.objects.select_related().all()
4973 serializer_class = ControllerRoleSerializer
4974 id_serializer_class = ControllerRoleIdSerializer
4976 def get_serializer_class(self):
4977 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4979 return self.id_serializer_class
4981 return self.serializer_class
4983 def get_queryset(self):
4984 return ControllerRole.select_by_user(self.request.user)
4986 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4988 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4992 class NetworkParameterTypeList(generics.ListCreateAPIView):
4993 queryset = NetworkParameterType.objects.select_related().all()
4994 serializer_class = NetworkParameterTypeSerializer
4995 id_serializer_class = NetworkParameterTypeIdSerializer
4996 filter_backends = (filters.DjangoFilterBackend,)
4997 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
4999 def get_serializer_class(self):
5000 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5002 return self.id_serializer_class
5004 return self.serializer_class
5006 def get_queryset(self):
5007 return NetworkParameterType.select_by_user(self.request.user)
5009 def create(self, request, *args, **kwargs):
5010 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5011 if not (serializer.is_valid()):
5012 response = {"error": "validation",
5013 "specific_error": "not serializer.is_valid()",
\r
5014 "reasons": serializer.errors}
\r
5015 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5016 obj = serializer.object
5017 obj.caller = request.user
5018 if obj.can_update(request.user):
5019 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5021 raise Exception("failed obj.can_update")
5023 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5024 if (ret.status_code%100 != 200):
5025 raise Exception(ret.data)
5030 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5031 queryset = NetworkParameterType.objects.select_related().all()
5032 serializer_class = NetworkParameterTypeSerializer
5033 id_serializer_class = NetworkParameterTypeIdSerializer
5035 def get_serializer_class(self):
5036 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5038 return self.id_serializer_class
5040 return self.serializer_class
5042 def get_queryset(self):
5043 return NetworkParameterType.select_by_user(self.request.user)
5045 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5047 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5051 class SiteCredentialList(generics.ListCreateAPIView):
5052 queryset = SiteCredential.objects.select_related().all()
5053 serializer_class = SiteCredentialSerializer
5054 id_serializer_class = SiteCredentialIdSerializer
5055 filter_backends = (filters.DjangoFilterBackend,)
5056 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
5058 def get_serializer_class(self):
5059 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5061 return self.id_serializer_class
5063 return self.serializer_class
5065 def get_queryset(self):
5066 return SiteCredential.select_by_user(self.request.user)
5068 def create(self, request, *args, **kwargs):
5069 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5070 if not (serializer.is_valid()):
5071 response = {"error": "validation",
5072 "specific_error": "not serializer.is_valid()",
\r
5073 "reasons": serializer.errors}
\r
5074 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5075 obj = serializer.object
5076 obj.caller = request.user
5077 if obj.can_update(request.user):
5078 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5080 raise Exception("failed obj.can_update")
5082 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5083 if (ret.status_code%100 != 200):
5084 raise Exception(ret.data)
5089 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5090 queryset = SiteCredential.objects.select_related().all()
5091 serializer_class = SiteCredentialSerializer
5092 id_serializer_class = SiteCredentialIdSerializer
5094 def get_serializer_class(self):
5095 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5097 return self.id_serializer_class
5099 return self.serializer_class
5101 def get_queryset(self):
5102 return SiteCredential.select_by_user(self.request.user)
5104 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5106 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5110 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5111 queryset = DeploymentPrivilege.objects.select_related().all()
5112 serializer_class = DeploymentPrivilegeSerializer
5113 id_serializer_class = DeploymentPrivilegeIdSerializer
5114 filter_backends = (filters.DjangoFilterBackend,)
5115 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5117 def get_serializer_class(self):
5118 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5120 return self.id_serializer_class
5122 return self.serializer_class
5124 def get_queryset(self):
5125 return DeploymentPrivilege.select_by_user(self.request.user)
5127 def create(self, request, *args, **kwargs):
5128 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5129 if not (serializer.is_valid()):
5130 response = {"error": "validation",
5131 "specific_error": "not serializer.is_valid()",
\r
5132 "reasons": serializer.errors}
\r
5133 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5134 obj = serializer.object
5135 obj.caller = request.user
5136 if obj.can_update(request.user):
5137 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5139 raise Exception("failed obj.can_update")
5141 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5142 if (ret.status_code%100 != 200):
5143 raise Exception(ret.data)
5148 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5149 queryset = DeploymentPrivilege.objects.select_related().all()
5150 serializer_class = DeploymentPrivilegeSerializer
5151 id_serializer_class = DeploymentPrivilegeIdSerializer
5153 def get_serializer_class(self):
5154 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5156 return self.id_serializer_class
5158 return self.serializer_class
5160 def get_queryset(self):
5161 return DeploymentPrivilege.select_by_user(self.request.user)
5163 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5165 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5169 class ControllerUsersList(generics.ListCreateAPIView):
5170 queryset = ControllerUsers.objects.select_related().all()
5171 serializer_class = ControllerUsersSerializer
5172 id_serializer_class = ControllerUsersIdSerializer
5173 filter_backends = (filters.DjangoFilterBackend,)
5174 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
5176 def get_serializer_class(self):
5177 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5179 return self.id_serializer_class
5181 return self.serializer_class
5183 def get_queryset(self):
5184 return ControllerUsers.select_by_user(self.request.user)
5186 def create(self, request, *args, **kwargs):
5187 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5188 if not (serializer.is_valid()):
5189 response = {"error": "validation",
5190 "specific_error": "not serializer.is_valid()",
\r
5191 "reasons": serializer.errors}
\r
5192 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5193 obj = serializer.object
5194 obj.caller = request.user
5195 if obj.can_update(request.user):
5196 return super(ControllerUsersList, self).create(request, *args, **kwargs)
5198 raise Exception("failed obj.can_update")
5200 ret = super(ControllerUsersList, self).create(request, *args, **kwargs)
5201 if (ret.status_code%100 != 200):
5202 raise Exception(ret.data)
5207 class ControllerUsersDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5208 queryset = ControllerUsers.objects.select_related().all()
5209 serializer_class = ControllerUsersSerializer
5210 id_serializer_class = ControllerUsersIdSerializer
5212 def get_serializer_class(self):
5213 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5215 return self.id_serializer_class
5217 return self.serializer_class
5219 def get_queryset(self):
5220 return ControllerUsers.select_by_user(self.request.user)
5222 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5224 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5228 class DeploymentRoleList(generics.ListCreateAPIView):
5229 queryset = DeploymentRole.objects.select_related().all()
5230 serializer_class = DeploymentRoleSerializer
5231 id_serializer_class = DeploymentRoleIdSerializer
5232 filter_backends = (filters.DjangoFilterBackend,)
5233 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5235 def get_serializer_class(self):
5236 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5238 return self.id_serializer_class
5240 return self.serializer_class
5242 def get_queryset(self):
5243 return DeploymentRole.select_by_user(self.request.user)
5245 def create(self, request, *args, **kwargs):
5246 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5247 if not (serializer.is_valid()):
5248 response = {"error": "validation",
5249 "specific_error": "not serializer.is_valid()",
\r
5250 "reasons": serializer.errors}
\r
5251 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5252 obj = serializer.object
5253 obj.caller = request.user
5254 if obj.can_update(request.user):
5255 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5257 raise Exception("failed obj.can_update")
5259 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5260 if (ret.status_code%100 != 200):
5261 raise Exception(ret.data)
5266 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5267 queryset = DeploymentRole.objects.select_related().all()
5268 serializer_class = DeploymentRoleSerializer
5269 id_serializer_class = DeploymentRoleIdSerializer
5271 def get_serializer_class(self):
5272 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5274 return self.id_serializer_class
5276 return self.serializer_class
5278 def get_queryset(self):
5279 return DeploymentRole.select_by_user(self.request.user)
5281 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5283 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5287 class UserCredentialList(generics.ListCreateAPIView):
5288 queryset = UserCredential.objects.select_related().all()
5289 serializer_class = UserCredentialSerializer
5290 id_serializer_class = UserCredentialIdSerializer
5291 filter_backends = (filters.DjangoFilterBackend,)
5292 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5294 def get_serializer_class(self):
5295 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5297 return self.id_serializer_class
5299 return self.serializer_class
5301 def get_queryset(self):
5302 return UserCredential.select_by_user(self.request.user)
5304 def create(self, request, *args, **kwargs):
5305 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5306 if not (serializer.is_valid()):
5307 response = {"error": "validation",
5308 "specific_error": "not serializer.is_valid()",
\r
5309 "reasons": serializer.errors}
\r
5310 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5311 obj = serializer.object
5312 obj.caller = request.user
5313 if obj.can_update(request.user):
5314 return super(UserCredentialList, self).create(request, *args, **kwargs)
5316 raise Exception("failed obj.can_update")
5318 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5319 if (ret.status_code%100 != 200):
5320 raise Exception(ret.data)
5325 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5326 queryset = UserCredential.objects.select_related().all()
5327 serializer_class = UserCredentialSerializer
5328 id_serializer_class = UserCredentialIdSerializer
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 UserCredential.select_by_user(self.request.user)
5340 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5342 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5346 class SiteDeploymentsList(generics.ListCreateAPIView):
5347 queryset = SiteDeployments.objects.select_related().all()
5348 serializer_class = SiteDeploymentsSerializer
5349 id_serializer_class = SiteDeploymentsIdSerializer
5350 filter_backends = (filters.DjangoFilterBackend,)
5351 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
5353 def get_serializer_class(self):
5354 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5356 return self.id_serializer_class
5358 return self.serializer_class
5360 def get_queryset(self):
5361 return SiteDeployments.select_by_user(self.request.user)
5363 def create(self, request, *args, **kwargs):
5364 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5365 if not (serializer.is_valid()):
5366 response = {"error": "validation",
5367 "specific_error": "not serializer.is_valid()",
\r
5368 "reasons": serializer.errors}
\r
5369 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5370 obj = serializer.object
5371 obj.caller = request.user
5372 if obj.can_update(request.user):
5373 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5375 raise Exception("failed obj.can_update")
5377 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5378 if (ret.status_code%100 != 200):
5379 raise Exception(ret.data)
5384 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5385 queryset = SiteDeployments.objects.select_related().all()
5386 serializer_class = SiteDeploymentsSerializer
5387 id_serializer_class = SiteDeploymentsIdSerializer
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 get_queryset(self):
5397 return SiteDeployments.select_by_user(self.request.user)
5399 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5401 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5405 class SliceTagList(generics.ListCreateAPIView):
5406 queryset = SliceTag.objects.select_related().all()
5407 serializer_class = SliceTagSerializer
5408 id_serializer_class = SliceTagIdSerializer
5409 filter_backends = (filters.DjangoFilterBackend,)
5410 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5412 def get_serializer_class(self):
5413 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5415 return self.id_serializer_class
5417 return self.serializer_class
5419 def get_queryset(self):
5420 return SliceTag.select_by_user(self.request.user)
5422 def create(self, request, *args, **kwargs):
5423 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5424 if not (serializer.is_valid()):
5425 response = {"error": "validation",
5426 "specific_error": "not serializer.is_valid()",
\r
5427 "reasons": serializer.errors}
\r
5428 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5429 obj = serializer.object
5430 obj.caller = request.user
5431 if obj.can_update(request.user):
5432 return super(SliceTagList, self).create(request, *args, **kwargs)
5434 raise Exception("failed obj.can_update")
5436 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5437 if (ret.status_code%100 != 200):
5438 raise Exception(ret.data)
5443 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5444 queryset = SliceTag.objects.select_related().all()
5445 serializer_class = SliceTagSerializer
5446 id_serializer_class = SliceTagIdSerializer
5448 def get_serializer_class(self):
5449 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5451 return self.id_serializer_class
5453 return self.serializer_class
5455 def get_queryset(self):
5456 return SliceTag.select_by_user(self.request.user)
5458 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5460 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5464 class NetworkTemplateList(generics.ListCreateAPIView):
5465 queryset = NetworkTemplate.objects.select_related().all()
5466 serializer_class = NetworkTemplateSerializer
5467 id_serializer_class = NetworkTemplateIdSerializer
5468 filter_backends = (filters.DjangoFilterBackend,)
5469 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
5471 def get_serializer_class(self):
5472 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5474 return self.id_serializer_class
5476 return self.serializer_class
5478 def get_queryset(self):
5479 return NetworkTemplate.select_by_user(self.request.user)
5481 def create(self, request, *args, **kwargs):
5482 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5483 if not (serializer.is_valid()):
5484 response = {"error": "validation",
5485 "specific_error": "not serializer.is_valid()",
\r
5486 "reasons": serializer.errors}
\r
5487 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5488 obj = serializer.object
5489 obj.caller = request.user
5490 if obj.can_update(request.user):
5491 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
5493 raise Exception("failed obj.can_update")
5495 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
5496 if (ret.status_code%100 != 200):
5497 raise Exception(ret.data)
5502 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5503 queryset = NetworkTemplate.objects.select_related().all()
5504 serializer_class = NetworkTemplateSerializer
5505 id_serializer_class = NetworkTemplateIdSerializer
5507 def get_serializer_class(self):
5508 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5510 return self.id_serializer_class
5512 return self.serializer_class
5514 def get_queryset(self):
5515 return NetworkTemplate.select_by_user(self.request.user)
5517 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5519 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5523 class RouterList(generics.ListCreateAPIView):
5524 queryset = Router.objects.select_related().all()
5525 serializer_class = RouterSerializer
5526 id_serializer_class = RouterIdSerializer
5527 filter_backends = (filters.DjangoFilterBackend,)
5528 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
5530 def get_serializer_class(self):
5531 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5533 return self.id_serializer_class
5535 return self.serializer_class
5537 def get_queryset(self):
5538 return Router.select_by_user(self.request.user)
5540 def create(self, request, *args, **kwargs):
5541 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5542 if not (serializer.is_valid()):
5543 response = {"error": "validation",
5544 "specific_error": "not serializer.is_valid()",
\r
5545 "reasons": serializer.errors}
\r
5546 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5547 obj = serializer.object
5548 obj.caller = request.user
5549 if obj.can_update(request.user):
5550 return super(RouterList, self).create(request, *args, **kwargs)
5552 raise Exception("failed obj.can_update")
5554 ret = super(RouterList, self).create(request, *args, **kwargs)
5555 if (ret.status_code%100 != 200):
5556 raise Exception(ret.data)
5561 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5562 queryset = Router.objects.select_related().all()
5563 serializer_class = RouterSerializer
5564 id_serializer_class = RouterIdSerializer
5566 def get_serializer_class(self):
5567 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5569 return self.id_serializer_class
5571 return self.serializer_class
5573 def get_queryset(self):
5574 return Router.select_by_user(self.request.user)
5576 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5578 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5582 class ServiceResourceList(generics.ListCreateAPIView):
5583 queryset = ServiceResource.objects.select_related().all()
5584 serializer_class = ServiceResourceSerializer
5585 id_serializer_class = ServiceResourceIdSerializer
5586 filter_backends = (filters.DjangoFilterBackend,)
5587 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5589 def get_serializer_class(self):
5590 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5592 return self.id_serializer_class
5594 return self.serializer_class
5596 def get_queryset(self):
5597 return ServiceResource.select_by_user(self.request.user)
5599 def create(self, request, *args, **kwargs):
5600 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5601 if not (serializer.is_valid()):
5602 response = {"error": "validation",
5603 "specific_error": "not serializer.is_valid()",
\r
5604 "reasons": serializer.errors}
\r
5605 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5606 obj = serializer.object
5607 obj.caller = request.user
5608 if obj.can_update(request.user):
5609 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5611 raise Exception("failed obj.can_update")
5613 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5614 if (ret.status_code%100 != 200):
5615 raise Exception(ret.data)
5620 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5621 queryset = ServiceResource.objects.select_related().all()
5622 serializer_class = ServiceResourceSerializer
5623 id_serializer_class = ServiceResourceIdSerializer
5625 def get_serializer_class(self):
5626 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5628 return self.id_serializer_class
5630 return self.serializer_class
5632 def get_queryset(self):
5633 return ServiceResource.select_by_user(self.request.user)
5635 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5637 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5641 class ControllerSlicesList(generics.ListCreateAPIView):
5642 queryset = ControllerSlices.objects.select_related().all()
5643 serializer_class = ControllerSlicesSerializer
5644 id_serializer_class = ControllerSlicesIdSerializer
5645 filter_backends = (filters.DjangoFilterBackend,)
5646 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
5648 def get_serializer_class(self):
5649 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5651 return self.id_serializer_class
5653 return self.serializer_class
5655 def get_queryset(self):
5656 return ControllerSlices.select_by_user(self.request.user)
5658 def create(self, request, *args, **kwargs):
5659 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5660 if not (serializer.is_valid()):
5661 response = {"error": "validation",
5662 "specific_error": "not serializer.is_valid()",
\r
5663 "reasons": serializer.errors}
\r
5664 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5665 obj = serializer.object
5666 obj.caller = request.user
5667 if obj.can_update(request.user):
5668 return super(ControllerSlicesList, self).create(request, *args, **kwargs)
5670 raise Exception("failed obj.can_update")
5672 ret = super(ControllerSlicesList, self).create(request, *args, **kwargs)
5673 if (ret.status_code%100 != 200):
5674 raise Exception(ret.data)
5679 class ControllerSlicesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5680 queryset = ControllerSlices.objects.select_related().all()
5681 serializer_class = ControllerSlicesSerializer
5682 id_serializer_class = ControllerSlicesIdSerializer
5684 def get_serializer_class(self):
5685 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5687 return self.id_serializer_class
5689 return self.serializer_class
5691 def get_queryset(self):
5692 return ControllerSlices.select_by_user(self.request.user)
5694 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5696 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView