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/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
39 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
41 url(r'plstackapi/controllerimages/$', ControllerImagesList.as_view(), name='controllerimages-list'),
42 url(r'plstackapi/controllerimages/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerImagesDetail.as_view(), name ='controllerimages-detail'),
44 url(r'plstackapi/controllersiteprivileges/$', ControllerSitePrivilegeList.as_view(), name='controllersiteprivilege-list'),
45 url(r'plstackapi/controllersiteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSitePrivilegeDetail.as_view(), name ='controllersiteprivilege-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/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
72 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
74 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
75 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
77 url(r'plstackapi/controllersites/$', ControllerSiteList.as_view(), name='controllersite-list'),
78 url(r'plstackapi/controllersites/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSiteDetail.as_view(), name ='controllersite-detail'),
80 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
81 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
83 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
84 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
86 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
87 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
89 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
90 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
92 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
93 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
95 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
96 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
98 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
99 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
101 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
102 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
104 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
105 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
107 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
108 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
110 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
111 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
113 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
114 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
116 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
117 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
119 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
120 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
122 url(r'plstackapi/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list'),
123 url(r'plstackapi/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail'),
125 url(r'plstackapi/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
126 url(r'plstackapi/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
128 url(r'plstackapi/controllerusers/$', ControllerUserList.as_view(), name='controlleruser-list'),
129 url(r'plstackapi/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUserDetail.as_view(), name ='controlleruser-detail'),
131 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
132 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
134 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
135 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
137 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
138 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
140 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
141 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
143 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
144 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
146 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
147 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
149 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
150 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
152 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
153 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
155 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
156 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
158 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
159 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
161 url(r'plstackapi/controllerslices/$', ControllerSliceList.as_view(), name='controllerslice-list'),
162 url(r'plstackapi/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSliceDetail.as_view(), name ='controllerslice-detail'),
164 url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
165 url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
167 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
168 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
170 url(r'plstackapi/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
171 url(r'plstackapi/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
173 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
174 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
176 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
177 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
179 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
180 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
182 url(r'plstackapi/controllersliceprivileges/$', ControllerSlicePrivilegeList.as_view(), name='controllersliceprivilege-list'),
183 url(r'plstackapi/controllersliceprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSlicePrivilegeDetail.as_view(), name ='controllersliceprivilege-detail'),
185 url(r'plstackapi/sitedeployments/$', SiteDeploymentList.as_view(), name='sitedeployment-list'),
186 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentDetail.as_view(), name ='sitedeployment-detail'),
188 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
189 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
191 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
192 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
194 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
195 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
197 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
198 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
200 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
201 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
203 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
204 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
209 def api_root(request, format=None):
211 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
212 'controllerimageses': reverse('controllerimages-list', request=request, format=format),
213 'controllersiteprivileges': reverse('controllersiteprivilege-list', request=request, format=format),
214 'images': reverse('image-list', request=request, format=format),
215 'networkparameters': reverse('networkparameter-list', request=request, format=format),
216 'sites': reverse('site-list', request=request, format=format),
217 'sliceroles': reverse('slicerole-list', request=request, format=format),
218 'tags': reverse('tag-list', request=request, format=format),
219 'invoices': reverse('invoice-list', request=request, format=format),
220 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
221 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
222 'networkslivers': reverse('networksliver-list', request=request, format=format),
223 'flavors': reverse('flavor-list', request=request, format=format),
224 'controllersites': reverse('controllersite-list', request=request, format=format),
225 'projects': reverse('project-list', request=request, format=format),
226 'slices': reverse('slice-list', request=request, format=format),
227 'networks': reverse('network-list', request=request, format=format),
228 'services': reverse('service-list', request=request, format=format),
229 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
230 'planetstacks': reverse('planetstack-list', request=request, format=format),
231 'charges': reverse('charge-list', request=request, format=format),
232 'roles': reverse('role-list', request=request, format=format),
233 'usableobjects': reverse('usableobject-list', request=request, format=format),
234 'siteroles': reverse('siterole-list', request=request, format=format),
235 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
236 'slivers': reverse('sliver-list', request=request, format=format),
237 'nodes': reverse('node-list', request=request, format=format),
238 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
239 'controllernetworks': reverse('controllernetwork-list', request=request, format=format),
240 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
241 'controllerusers': reverse('controlleruser-list', request=request, format=format),
242 'reservedresources': reverse('reservedresource-list', request=request, format=format),
243 'payments': reverse('payment-list', request=request, format=format),
244 'networkslices': reverse('networkslice-list', request=request, format=format),
245 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
246 'controllers': reverse('controller-list', request=request, format=format),
247 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
248 'users': reverse('user-list', request=request, format=format),
249 'deployments': reverse('deployment-list', request=request, format=format),
250 'reservations': reverse('reservation-list', request=request, format=format),
251 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
252 'controllerslices': reverse('controllerslice-list', request=request, format=format),
253 'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
254 'accounts': reverse('account-list', request=request, format=format),
255 'controllerroles': reverse('controllerrole-list', request=request, format=format),
256 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
257 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
258 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
259 'controllersliceprivileges': reverse('controllersliceprivilege-list', request=request, format=format),
260 'sitedeployments': reverse('sitedeployment-list', request=request, format=format),
261 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
262 'usercredentials': reverse('usercredential-list', request=request, format=format),
263 'slicetags': reverse('slicetag-list', request=request, format=format),
264 'networktemplates': reverse('networktemplate-list', request=request, format=format),
265 'routers': reverse('router-list', request=request, format=format),
266 'serviceresources': reverse('serviceresource-list', request=request, format=format),
270 # Based on serializers.py
272 class XOSModelSerializer(serializers.ModelSerializer):
273 def save_object(self, obj, **kwargs):
275 """ rest_framework can't deal with ManyToMany relations that have a
276 through table. In plstackapi, most of the through tables we have
277 use defaults or blank fields, so there's no reason why we shouldn't
278 be able to save these objects.
280 So, let's strip out these m2m relations, and deal with them ourself.
282 obj._complex_m2m_data={};
\r
283 if getattr(obj, '_m2m_data', None):
\r
284 for relatedObject in obj._meta.get_all_related_many_to_many_objects():
\r
285 if (relatedObject.field.rel.through._meta.auto_created):
\r
286 # These are non-trough ManyToMany relations and
\r
287 # can be updated just fine
\r
289 fieldName = relatedObject.get_accessor_name()
\r
290 if fieldName in obj._m2m_data.keys():
\r
291 obj._complex_m2m_data[fieldName] = (relatedObject, obj._m2m_data[fieldName])
\r
292 del obj._m2m_data[fieldName]
\r
294 serializers.ModelSerializer.save_object(self, obj, **kwargs);
296 for (accessor, stuff) in obj._complex_m2m_data.items():
297 (relatedObject, data) = stuff
298 through = relatedObject.field.rel.through
299 local_fieldName = relatedObject.field.m2m_reverse_field_name()
300 remote_fieldName = relatedObject.field.m2m_field_name()
302 # get the current set of existing relations
303 existing = through.objects.filter(**{local_fieldName: obj});
305 data_ids = [item.id for item in data]
306 existing_ids = [getattr(item,remote_fieldName).id for item in existing]
308 #print "data_ids", data_ids
309 #print "existing_ids", existing_ids
311 # remove relations that are in 'existing' but not in 'data'
312 for item in list(existing):
313 if (getattr(item,remote_fieldName).id not in data_ids):
314 print "delete", getattr(item,remote_fieldName)
315 item.delete() #(purge=True)
317 # add relations that are in 'data' but not in 'existing'
319 if (item.id not in existing_ids):
321 newModel = through(**{local_fieldName: obj, remote_fieldName: item})
326 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
329 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
330 validators = serializers.SerializerMethodField("getValidators")
331 def getHumanReadableName(self, obj):
\r
333 def getValidators(self, obj):
335 return obj.getValidators()
339 model = ServiceAttribute
340 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
342 class ServiceAttributeIdSerializer(XOSModelSerializer):
345 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
346 validators = serializers.SerializerMethodField("getValidators")
347 def getHumanReadableName(self, obj):
\r
349 def getValidators(self, obj):
\r
351 return obj.getValidators()
355 model = ServiceAttribute
356 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
361 class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
364 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
365 validators = serializers.SerializerMethodField("getValidators")
366 def getHumanReadableName(self, obj):
\r
368 def getValidators(self, obj):
370 return obj.getValidators()
374 model = ControllerImages
375 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
377 class ControllerImagesIdSerializer(XOSModelSerializer):
380 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
381 validators = serializers.SerializerMethodField("getValidators")
382 def getHumanReadableName(self, obj):
\r
384 def getValidators(self, obj):
\r
386 return obj.getValidators()
390 model = ControllerImages
391 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
396 class ControllerSitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
399 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
400 validators = serializers.SerializerMethodField("getValidators")
401 def getHumanReadableName(self, obj):
\r
403 def getValidators(self, obj):
405 return obj.getValidators()
409 model = ControllerSitePrivilege
410 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_privilege','role_id',)
412 class ControllerSitePrivilegeIdSerializer(XOSModelSerializer):
415 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
416 validators = serializers.SerializerMethodField("getValidators")
417 def getHumanReadableName(self, obj):
\r
419 def getValidators(self, obj):
\r
421 return obj.getValidators()
425 model = ControllerSitePrivilege
426 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_privilege','role_id',)
431 class ImageSerializer(serializers.HyperlinkedModelSerializer):
435 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
438 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
439 validators = serializers.SerializerMethodField("getValidators")
440 def getHumanReadableName(self, obj):
\r
442 def getValidators(self, obj):
444 return obj.getValidators()
449 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
451 class ImageIdSerializer(XOSModelSerializer):
455 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
458 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
459 validators = serializers.SerializerMethodField("getValidators")
460 def getHumanReadableName(self, obj):
\r
462 def getValidators(self, obj):
\r
464 return obj.getValidators()
469 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
474 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
477 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
478 validators = serializers.SerializerMethodField("getValidators")
479 def getHumanReadableName(self, obj):
\r
481 def getValidators(self, obj):
483 return obj.getValidators()
487 model = NetworkParameter
488 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
490 class NetworkParameterIdSerializer(XOSModelSerializer):
493 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
494 validators = serializers.SerializerMethodField("getValidators")
495 def getHumanReadableName(self, obj):
\r
497 def getValidators(self, obj):
\r
499 return obj.getValidators()
503 model = NetworkParameter
504 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
509 class SiteSerializer(serializers.HyperlinkedModelSerializer):
513 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
516 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
517 validators = serializers.SerializerMethodField("getValidators")
518 def getHumanReadableName(self, obj):
\r
520 def getValidators(self, obj):
522 return obj.getValidators()
527 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
529 class SiteIdSerializer(XOSModelSerializer):
533 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
536 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
537 validators = serializers.SerializerMethodField("getValidators")
538 def getHumanReadableName(self, obj):
\r
540 def getValidators(self, obj):
\r
542 return obj.getValidators()
547 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
552 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
555 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
556 validators = serializers.SerializerMethodField("getValidators")
557 def getHumanReadableName(self, obj):
\r
559 def getValidators(self, obj):
561 return obj.getValidators()
566 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
568 class SliceRoleIdSerializer(XOSModelSerializer):
571 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
572 validators = serializers.SerializerMethodField("getValidators")
573 def getHumanReadableName(self, obj):
\r
575 def getValidators(self, obj):
\r
577 return obj.getValidators()
582 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
587 class TagSerializer(serializers.HyperlinkedModelSerializer):
590 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
591 validators = serializers.SerializerMethodField("getValidators")
592 def getHumanReadableName(self, obj):
\r
594 def getValidators(self, obj):
596 return obj.getValidators()
601 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
603 class TagIdSerializer(XOSModelSerializer):
606 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
607 validators = serializers.SerializerMethodField("getValidators")
608 def getHumanReadableName(self, obj):
\r
610 def getValidators(self, obj):
\r
612 return obj.getValidators()
617 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
622 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
625 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
626 validators = serializers.SerializerMethodField("getValidators")
627 def getHumanReadableName(self, obj):
\r
629 def getValidators(self, obj):
631 return obj.getValidators()
636 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
638 class InvoiceIdSerializer(XOSModelSerializer):
641 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
642 validators = serializers.SerializerMethodField("getValidators")
643 def getHumanReadableName(self, obj):
\r
645 def getValidators(self, obj):
\r
647 return obj.getValidators()
652 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
657 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
660 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
661 validators = serializers.SerializerMethodField("getValidators")
662 def getHumanReadableName(self, obj):
\r
664 def getValidators(self, obj):
666 return obj.getValidators()
670 model = SlicePrivilege
671 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
673 class SlicePrivilegeIdSerializer(XOSModelSerializer):
676 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
677 validators = serializers.SerializerMethodField("getValidators")
678 def getHumanReadableName(self, obj):
\r
680 def getValidators(self, obj):
\r
682 return obj.getValidators()
686 model = SlicePrivilege
687 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
692 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
695 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
696 validators = serializers.SerializerMethodField("getValidators")
697 def getHumanReadableName(self, obj):
\r
699 def getValidators(self, obj):
701 return obj.getValidators()
705 model = PlanetStackRole
706 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
708 class PlanetStackRoleIdSerializer(XOSModelSerializer):
711 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
712 validators = serializers.SerializerMethodField("getValidators")
713 def getHumanReadableName(self, obj):
\r
715 def getValidators(self, obj):
\r
717 return obj.getValidators()
721 model = PlanetStackRole
722 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
727 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
730 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
731 validators = serializers.SerializerMethodField("getValidators")
732 def getHumanReadableName(self, obj):
\r
734 def getValidators(self, obj):
736 return obj.getValidators()
740 model = NetworkSliver
741 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
743 class NetworkSliverIdSerializer(XOSModelSerializer):
746 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
747 validators = serializers.SerializerMethodField("getValidators")
748 def getHumanReadableName(self, obj):
\r
750 def getValidators(self, obj):
\r
752 return obj.getValidators()
756 model = NetworkSliver
757 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
762 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
766 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
769 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
770 validators = serializers.SerializerMethodField("getValidators")
771 def getHumanReadableName(self, obj):
\r
773 def getValidators(self, obj):
775 return obj.getValidators()
780 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
782 class FlavorIdSerializer(XOSModelSerializer):
786 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
789 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
790 validators = serializers.SerializerMethodField("getValidators")
791 def getHumanReadableName(self, obj):
\r
793 def getValidators(self, obj):
\r
795 return obj.getValidators()
800 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
805 class ControllerSiteSerializer(serializers.HyperlinkedModelSerializer):
808 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
809 validators = serializers.SerializerMethodField("getValidators")
810 def getHumanReadableName(self, obj):
\r
812 def getValidators(self, obj):
814 return obj.getValidators()
818 model = ControllerSite
819 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','controller','tenant_id',)
821 class ControllerSiteIdSerializer(XOSModelSerializer):
824 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
825 validators = serializers.SerializerMethodField("getValidators")
826 def getHumanReadableName(self, obj):
\r
828 def getValidators(self, obj):
\r
830 return obj.getValidators()
834 model = ControllerSite
835 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','controller','tenant_id',)
840 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
843 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
844 validators = serializers.SerializerMethodField("getValidators")
845 def getHumanReadableName(self, obj):
\r
847 def getValidators(self, obj):
849 return obj.getValidators()
854 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
856 class ProjectIdSerializer(XOSModelSerializer):
859 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
860 validators = serializers.SerializerMethodField("getValidators")
861 def getHumanReadableName(self, obj):
\r
863 def getValidators(self, obj):
\r
865 return obj.getValidators()
870 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
875 class SliceSerializer(serializers.HyperlinkedModelSerializer):
879 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
883 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
886 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
887 validators = serializers.SerializerMethodField("getValidators")
888 def getHumanReadableName(self, obj):
\r
890 def getValidators(self, obj):
892 return obj.getValidators()
897 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
899 class SliceIdSerializer(XOSModelSerializer):
903 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
907 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
910 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
911 validators = serializers.SerializerMethodField("getValidators")
912 def getHumanReadableName(self, obj):
\r
914 def getValidators(self, obj):
\r
916 return obj.getValidators()
921 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
926 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
930 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
934 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
938 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
942 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
946 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
949 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
950 validators = serializers.SerializerMethodField("getValidators")
951 def getHumanReadableName(self, obj):
\r
953 def getValidators(self, obj):
955 return obj.getValidators()
960 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',)
962 class NetworkIdSerializer(XOSModelSerializer):
966 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
970 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
974 slivers = serializers.PrimaryKeyRelatedField(many=True, queryset = Sliver.objects.all())
978 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
982 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
985 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
986 validators = serializers.SerializerMethodField("getValidators")
987 def getHumanReadableName(self, obj):
\r
989 def getValidators(self, obj):
\r
991 return obj.getValidators()
996 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',)
1001 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
1004 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1005 validators = serializers.SerializerMethodField("getValidators")
1006 def getHumanReadableName(self, obj):
\r
1008 def getValidators(self, obj):
1010 return obj.getValidators()
1015 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
1017 class ServiceIdSerializer(XOSModelSerializer):
1020 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1021 validators = serializers.SerializerMethodField("getValidators")
1022 def getHumanReadableName(self, obj):
\r
1024 def getValidators(self, obj):
\r
1026 return obj.getValidators()
1031 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
1036 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
1039 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1040 validators = serializers.SerializerMethodField("getValidators")
1041 def getHumanReadableName(self, obj):
\r
1043 def getValidators(self, obj):
1045 return obj.getValidators()
1049 model = ServiceClass
1050 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1052 class ServiceClassIdSerializer(XOSModelSerializer):
1055 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1056 validators = serializers.SerializerMethodField("getValidators")
1057 def getHumanReadableName(self, obj):
\r
1059 def getValidators(self, obj):
\r
1061 return obj.getValidators()
1065 model = ServiceClass
1066 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1071 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1074 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1075 validators = serializers.SerializerMethodField("getValidators")
1076 def getHumanReadableName(self, obj):
\r
1078 def getValidators(self, obj):
1080 return obj.getValidators()
1085 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1087 class PlanetStackIdSerializer(XOSModelSerializer):
1090 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1091 validators = serializers.SerializerMethodField("getValidators")
1092 def getHumanReadableName(self, obj):
\r
1094 def getValidators(self, obj):
\r
1096 return obj.getValidators()
1101 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1106 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
1109 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1110 validators = serializers.SerializerMethodField("getValidators")
1111 def getHumanReadableName(self, obj):
\r
1113 def getValidators(self, obj):
1115 return obj.getValidators()
1120 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1122 class ChargeIdSerializer(XOSModelSerializer):
1125 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1126 validators = serializers.SerializerMethodField("getValidators")
1127 def getHumanReadableName(self, obj):
\r
1129 def getValidators(self, obj):
\r
1131 return obj.getValidators()
1136 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1141 class RoleSerializer(serializers.HyperlinkedModelSerializer):
1144 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1145 validators = serializers.SerializerMethodField("getValidators")
1146 def getHumanReadableName(self, obj):
\r
1148 def getValidators(self, obj):
1150 return obj.getValidators()
1155 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1157 class RoleIdSerializer(XOSModelSerializer):
1160 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1161 validators = serializers.SerializerMethodField("getValidators")
1162 def getHumanReadableName(self, obj):
\r
1164 def getValidators(self, obj):
\r
1166 return obj.getValidators()
1171 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1176 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
1179 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1180 validators = serializers.SerializerMethodField("getValidators")
1181 def getHumanReadableName(self, obj):
\r
1183 def getValidators(self, obj):
1185 return obj.getValidators()
1189 model = UsableObject
1190 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1192 class UsableObjectIdSerializer(XOSModelSerializer):
1195 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1196 validators = serializers.SerializerMethodField("getValidators")
1197 def getHumanReadableName(self, obj):
\r
1199 def getValidators(self, obj):
\r
1201 return obj.getValidators()
1205 model = UsableObject
1206 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1211 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
1214 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1215 validators = serializers.SerializerMethodField("getValidators")
1216 def getHumanReadableName(self, obj):
\r
1218 def getValidators(self, obj):
1220 return obj.getValidators()
1225 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1227 class SiteRoleIdSerializer(XOSModelSerializer):
1230 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1231 validators = serializers.SerializerMethodField("getValidators")
1232 def getHumanReadableName(self, obj):
\r
1234 def getValidators(self, obj):
\r
1236 return obj.getValidators()
1241 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1246 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
1249 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1250 validators = serializers.SerializerMethodField("getValidators")
1251 def getHumanReadableName(self, obj):
\r
1253 def getValidators(self, obj):
1255 return obj.getValidators()
1259 model = SliceCredential
1260 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1262 class SliceCredentialIdSerializer(XOSModelSerializer):
1265 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1266 validators = serializers.SerializerMethodField("getValidators")
1267 def getHumanReadableName(self, obj):
\r
1269 def getValidators(self, obj):
\r
1271 return obj.getValidators()
1275 model = SliceCredential
1276 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1281 class SliverSerializer(serializers.HyperlinkedModelSerializer):
1285 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1288 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1289 validators = serializers.SerializerMethodField("getValidators")
1290 def getHumanReadableName(self, obj):
\r
1292 def getValidators(self, obj):
1294 return obj.getValidators()
1299 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',)
1301 class SliverIdSerializer(XOSModelSerializer):
1305 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
1308 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1309 validators = serializers.SerializerMethodField("getValidators")
1310 def getHumanReadableName(self, obj):
\r
1312 def getValidators(self, obj):
\r
1314 return obj.getValidators()
1319 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',)
1324 class NodeSerializer(serializers.HyperlinkedModelSerializer):
1327 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1328 validators = serializers.SerializerMethodField("getValidators")
1329 def getHumanReadableName(self, obj):
\r
1331 def getValidators(self, obj):
1333 return obj.getValidators()
1338 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1340 class NodeIdSerializer(XOSModelSerializer):
1343 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1344 validators = serializers.SerializerMethodField("getValidators")
1345 def getHumanReadableName(self, obj):
\r
1347 def getValidators(self, obj):
\r
1349 return obj.getValidators()
1354 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1359 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1363 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1366 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1367 validators = serializers.SerializerMethodField("getValidators")
1368 def getHumanReadableName(self, obj):
\r
1370 def getValidators(self, obj):
1372 return obj.getValidators()
1376 model = DashboardView
1377 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1379 class DashboardViewIdSerializer(XOSModelSerializer):
1383 controllers = serializers.PrimaryKeyRelatedField(many=True, queryset = Controller.objects.all())
1386 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1387 validators = serializers.SerializerMethodField("getValidators")
1388 def getHumanReadableName(self, obj):
\r
1390 def getValidators(self, obj):
\r
1392 return obj.getValidators()
1396 model = DashboardView
1397 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1402 class ControllerNetworkSerializer(serializers.HyperlinkedModelSerializer):
1405 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1406 validators = serializers.SerializerMethodField("getValidators")
1407 def getHumanReadableName(self, obj):
\r
1409 def getValidators(self, obj):
1411 return obj.getValidators()
1415 model = ControllerNetwork
1416 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1418 class ControllerNetworkIdSerializer(XOSModelSerializer):
1421 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1422 validators = serializers.SerializerMethodField("getValidators")
1423 def getHumanReadableName(self, obj):
\r
1425 def getValidators(self, obj):
\r
1427 return obj.getValidators()
1431 model = ControllerNetwork
1432 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1437 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1440 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1441 validators = serializers.SerializerMethodField("getValidators")
1442 def getHumanReadableName(self, obj):
\r
1444 def getValidators(self, obj):
1446 return obj.getValidators()
1450 model = ImageDeployments
1451 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1453 class ImageDeploymentsIdSerializer(XOSModelSerializer):
1456 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1457 validators = serializers.SerializerMethodField("getValidators")
1458 def getHumanReadableName(self, obj):
\r
1460 def getValidators(self, obj):
\r
1462 return obj.getValidators()
1466 model = ImageDeployments
1467 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1472 class ControllerUserSerializer(serializers.HyperlinkedModelSerializer):
1475 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1476 validators = serializers.SerializerMethodField("getValidators")
1477 def getHumanReadableName(self, obj):
\r
1479 def getValidators(self, obj):
1481 return obj.getValidators()
1485 model = ControllerUser
1486 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
1488 class ControllerUserIdSerializer(XOSModelSerializer):
1491 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1492 validators = serializers.SerializerMethodField("getValidators")
1493 def getHumanReadableName(self, obj):
\r
1495 def getValidators(self, obj):
\r
1497 return obj.getValidators()
1501 model = ControllerUser
1502 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
1507 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
1510 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1511 validators = serializers.SerializerMethodField("getValidators")
1512 def getHumanReadableName(self, obj):
\r
1514 def getValidators(self, obj):
1516 return obj.getValidators()
1520 model = ReservedResource
1521 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1523 class ReservedResourceIdSerializer(XOSModelSerializer):
1526 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1527 validators = serializers.SerializerMethodField("getValidators")
1528 def getHumanReadableName(self, obj):
\r
1530 def getValidators(self, obj):
\r
1532 return obj.getValidators()
1536 model = ReservedResource
1537 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1542 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
1545 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1546 validators = serializers.SerializerMethodField("getValidators")
1547 def getHumanReadableName(self, obj):
\r
1549 def getValidators(self, obj):
1551 return obj.getValidators()
1556 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1558 class PaymentIdSerializer(XOSModelSerializer):
1561 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1562 validators = serializers.SerializerMethodField("getValidators")
1563 def getHumanReadableName(self, obj):
\r
1565 def getValidators(self, obj):
\r
1567 return obj.getValidators()
1572 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1577 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1580 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1581 validators = serializers.SerializerMethodField("getValidators")
1582 def getHumanReadableName(self, obj):
\r
1584 def getValidators(self, obj):
1586 return obj.getValidators()
1590 model = NetworkSlice
1591 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1593 class NetworkSliceIdSerializer(XOSModelSerializer):
1596 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1597 validators = serializers.SerializerMethodField("getValidators")
1598 def getHumanReadableName(self, obj):
\r
1600 def getValidators(self, obj):
\r
1602 return obj.getValidators()
1606 model = NetworkSlice
1607 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1612 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1615 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1616 validators = serializers.SerializerMethodField("getValidators")
1617 def getHumanReadableName(self, obj):
\r
1619 def getValidators(self, obj):
1621 return obj.getValidators()
1625 model = UserDashboardView
1626 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1628 class UserDashboardViewIdSerializer(XOSModelSerializer):
1631 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1632 validators = serializers.SerializerMethodField("getValidators")
1633 def getHumanReadableName(self, obj):
\r
1635 def getValidators(self, obj):
\r
1637 return obj.getValidators()
1641 model = UserDashboardView
1642 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1647 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
1651 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
1654 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1655 validators = serializers.SerializerMethodField("getValidators")
1656 def getHumanReadableName(self, obj):
\r
1658 def getValidators(self, obj):
1660 return obj.getValidators()
1665 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1667 class ControllerIdSerializer(XOSModelSerializer):
1671 dashboardviews = serializers.PrimaryKeyRelatedField(many=True, queryset = DashboardView.objects.all())
1674 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1675 validators = serializers.SerializerMethodField("getValidators")
1676 def getHumanReadableName(self, obj):
\r
1678 def getValidators(self, obj):
\r
1680 return obj.getValidators()
1685 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1690 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1693 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1694 validators = serializers.SerializerMethodField("getValidators")
1695 def getHumanReadableName(self, obj):
\r
1697 def getValidators(self, obj):
1699 return obj.getValidators()
1703 model = PlanetStackPrivilege
1704 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1706 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
1709 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1710 validators = serializers.SerializerMethodField("getValidators")
1711 def getHumanReadableName(self, obj):
\r
1713 def getValidators(self, obj):
\r
1715 return obj.getValidators()
1719 model = PlanetStackPrivilege
1720 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1725 class UserSerializer(serializers.HyperlinkedModelSerializer):
1728 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1729 validators = serializers.SerializerMethodField("getValidators")
1730 def getHumanReadableName(self, obj):
\r
1732 def getValidators(self, obj):
1734 return obj.getValidators()
1739 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',)
1741 class UserIdSerializer(XOSModelSerializer):
1744 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1745 validators = serializers.SerializerMethodField("getValidators")
1746 def getHumanReadableName(self, obj):
\r
1748 def getValidators(self, obj):
\r
1750 return obj.getValidators()
1755 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',)
1760 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1764 images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
1768 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1772 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1775 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1776 validators = serializers.SerializerMethodField("getValidators")
1777 def getHumanReadableName(self, obj):
\r
1779 def getValidators(self, obj):
1781 return obj.getValidators()
1786 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','images','sites','flavors',)
1788 class DeploymentIdSerializer(XOSModelSerializer):
1792 images = serializers.PrimaryKeyRelatedField(many=True, queryset = Image.objects.all())
1796 sites = serializers.PrimaryKeyRelatedField(many=True, queryset = Site.objects.all())
1800 flavors = serializers.PrimaryKeyRelatedField(many=True, queryset = Flavor.objects.all())
1803 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1804 validators = serializers.SerializerMethodField("getValidators")
1805 def getHumanReadableName(self, obj):
\r
1807 def getValidators(self, obj):
\r
1809 return obj.getValidators()
1814 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','images','sites','flavors',)
1819 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1822 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1823 validators = serializers.SerializerMethodField("getValidators")
1824 def getHumanReadableName(self, obj):
\r
1826 def getValidators(self, obj):
1828 return obj.getValidators()
1833 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1835 class ReservationIdSerializer(XOSModelSerializer):
1838 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1839 validators = serializers.SerializerMethodField("getValidators")
1840 def getHumanReadableName(self, obj):
\r
1842 def getValidators(self, obj):
\r
1844 return obj.getValidators()
1849 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1854 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1857 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1858 validators = serializers.SerializerMethodField("getValidators")
1859 def getHumanReadableName(self, obj):
\r
1861 def getValidators(self, obj):
1863 return obj.getValidators()
1867 model = SitePrivilege
1868 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1870 class SitePrivilegeIdSerializer(XOSModelSerializer):
1873 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1874 validators = serializers.SerializerMethodField("getValidators")
1875 def getHumanReadableName(self, obj):
\r
1877 def getValidators(self, obj):
\r
1879 return obj.getValidators()
1883 model = SitePrivilege
1884 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1889 class ControllerSliceSerializer(serializers.HyperlinkedModelSerializer):
1892 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1893 validators = serializers.SerializerMethodField("getValidators")
1894 def getHumanReadableName(self, obj):
\r
1896 def getValidators(self, obj):
1898 return obj.getValidators()
1902 model = ControllerSlice
1903 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
1905 class ControllerSliceIdSerializer(XOSModelSerializer):
1908 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1909 validators = serializers.SerializerMethodField("getValidators")
1910 def getHumanReadableName(self, obj):
\r
1912 def getValidators(self, obj):
\r
1914 return obj.getValidators()
1918 model = ControllerSlice
1919 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
1924 class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1927 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1928 validators = serializers.SerializerMethodField("getValidators")
1929 def getHumanReadableName(self, obj):
\r
1931 def getValidators(self, obj):
1933 return obj.getValidators()
1937 model = ControllerDashboardView
1938 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1940 class ControllerDashboardViewIdSerializer(XOSModelSerializer):
1943 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1944 validators = serializers.SerializerMethodField("getValidators")
1945 def getHumanReadableName(self, obj):
\r
1947 def getValidators(self, obj):
\r
1949 return obj.getValidators()
1953 model = ControllerDashboardView
1954 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1959 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1962 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1963 validators = serializers.SerializerMethodField("getValidators")
1964 def getHumanReadableName(self, obj):
\r
1966 def getValidators(self, obj):
1968 return obj.getValidators()
1973 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1975 class AccountIdSerializer(XOSModelSerializer):
1978 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1979 validators = serializers.SerializerMethodField("getValidators")
1980 def getHumanReadableName(self, obj):
\r
1982 def getValidators(self, obj):
\r
1984 return obj.getValidators()
1989 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1994 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
1997 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1998 validators = serializers.SerializerMethodField("getValidators")
1999 def getHumanReadableName(self, obj):
\r
2001 def getValidators(self, obj):
2003 return obj.getValidators()
2007 model = ControllerRole
2008 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2010 class ControllerRoleIdSerializer(XOSModelSerializer):
2013 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2014 validators = serializers.SerializerMethodField("getValidators")
2015 def getHumanReadableName(self, obj):
\r
2017 def getValidators(self, obj):
\r
2019 return obj.getValidators()
2023 model = ControllerRole
2024 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2029 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
2032 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2033 validators = serializers.SerializerMethodField("getValidators")
2034 def getHumanReadableName(self, obj):
\r
2036 def getValidators(self, obj):
2038 return obj.getValidators()
2042 model = NetworkParameterType
2043 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
2045 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
2048 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2049 validators = serializers.SerializerMethodField("getValidators")
2050 def getHumanReadableName(self, obj):
\r
2052 def getValidators(self, obj):
\r
2054 return obj.getValidators()
2058 model = NetworkParameterType
2059 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
2064 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
2067 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2068 validators = serializers.SerializerMethodField("getValidators")
2069 def getHumanReadableName(self, obj):
\r
2071 def getValidators(self, obj):
2073 return obj.getValidators()
2077 model = SiteCredential
2078 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2080 class SiteCredentialIdSerializer(XOSModelSerializer):
2083 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2084 validators = serializers.SerializerMethodField("getValidators")
2085 def getHumanReadableName(self, obj):
\r
2087 def getValidators(self, obj):
\r
2089 return obj.getValidators()
2093 model = SiteCredential
2094 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2099 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
2102 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2103 validators = serializers.SerializerMethodField("getValidators")
2104 def getHumanReadableName(self, obj):
\r
2106 def getValidators(self, obj):
2108 return obj.getValidators()
2112 model = DeploymentPrivilege
2113 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2115 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
2118 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2119 validators = serializers.SerializerMethodField("getValidators")
2120 def getHumanReadableName(self, obj):
\r
2122 def getValidators(self, obj):
\r
2124 return obj.getValidators()
2128 model = DeploymentPrivilege
2129 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2134 class ControllerSlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
2137 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2138 validators = serializers.SerializerMethodField("getValidators")
2139 def getHumanReadableName(self, obj):
\r
2141 def getValidators(self, obj):
2143 return obj.getValidators()
2147 model = ControllerSlicePrivilege
2148 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice_privilege','role_id',)
2150 class ControllerSlicePrivilegeIdSerializer(XOSModelSerializer):
2153 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2154 validators = serializers.SerializerMethodField("getValidators")
2155 def getHumanReadableName(self, obj):
\r
2157 def getValidators(self, obj):
\r
2159 return obj.getValidators()
2163 model = ControllerSlicePrivilege
2164 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice_privilege','role_id',)
2169 class SiteDeploymentSerializer(serializers.HyperlinkedModelSerializer):
2172 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2173 validators = serializers.SerializerMethodField("getValidators")
2174 def getHumanReadableName(self, obj):
\r
2176 def getValidators(self, obj):
2178 return obj.getValidators()
2182 model = SiteDeployment
2183 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2185 class SiteDeploymentIdSerializer(XOSModelSerializer):
2188 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2189 validators = serializers.SerializerMethodField("getValidators")
2190 def getHumanReadableName(self, obj):
\r
2192 def getValidators(self, obj):
\r
2194 return obj.getValidators()
2198 model = SiteDeployment
2199 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2204 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
2207 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2208 validators = serializers.SerializerMethodField("getValidators")
2209 def getHumanReadableName(self, obj):
\r
2211 def getValidators(self, obj):
2213 return obj.getValidators()
2217 model = DeploymentRole
2218 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2220 class DeploymentRoleIdSerializer(XOSModelSerializer):
2223 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2224 validators = serializers.SerializerMethodField("getValidators")
2225 def getHumanReadableName(self, obj):
\r
2227 def getValidators(self, obj):
\r
2229 return obj.getValidators()
2233 model = DeploymentRole
2234 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2239 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
2242 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2243 validators = serializers.SerializerMethodField("getValidators")
2244 def getHumanReadableName(self, obj):
\r
2246 def getValidators(self, obj):
2248 return obj.getValidators()
2252 model = UserCredential
2253 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2255 class UserCredentialIdSerializer(XOSModelSerializer):
2258 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2259 validators = serializers.SerializerMethodField("getValidators")
2260 def getHumanReadableName(self, obj):
\r
2262 def getValidators(self, obj):
\r
2264 return obj.getValidators()
2268 model = UserCredential
2269 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2274 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
2277 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2278 validators = serializers.SerializerMethodField("getValidators")
2279 def getHumanReadableName(self, obj):
\r
2281 def getValidators(self, obj):
2283 return obj.getValidators()
2288 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2290 class SliceTagIdSerializer(XOSModelSerializer):
2293 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2294 validators = serializers.SerializerMethodField("getValidators")
2295 def getHumanReadableName(self, obj):
\r
2297 def getValidators(self, obj):
\r
2299 return obj.getValidators()
2304 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2309 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
2312 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2313 validators = serializers.SerializerMethodField("getValidators")
2314 def getHumanReadableName(self, obj):
\r
2316 def getValidators(self, obj):
2318 return obj.getValidators()
2322 model = NetworkTemplate
2323 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',)
2325 class NetworkTemplateIdSerializer(XOSModelSerializer):
2328 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2329 validators = serializers.SerializerMethodField("getValidators")
2330 def getHumanReadableName(self, obj):
\r
2332 def getValidators(self, obj):
\r
2334 return obj.getValidators()
2338 model = NetworkTemplate
2339 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',)
2344 class RouterSerializer(serializers.HyperlinkedModelSerializer):
2348 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2352 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2355 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2356 validators = serializers.SerializerMethodField("getValidators")
2357 def getHumanReadableName(self, obj):
\r
2359 def getValidators(self, obj):
2361 return obj.getValidators()
2366 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2368 class RouterIdSerializer(XOSModelSerializer):
2372 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2376 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2379 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2380 validators = serializers.SerializerMethodField("getValidators")
2381 def getHumanReadableName(self, obj):
\r
2383 def getValidators(self, obj):
\r
2385 return obj.getValidators()
2390 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2395 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
2398 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2399 validators = serializers.SerializerMethodField("getValidators")
2400 def getHumanReadableName(self, obj):
\r
2402 def getValidators(self, obj):
2404 return obj.getValidators()
2408 model = ServiceResource
2409 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2411 class ServiceResourceIdSerializer(XOSModelSerializer):
2414 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2415 validators = serializers.SerializerMethodField("getValidators")
2416 def getHumanReadableName(self, obj):
\r
2418 def getValidators(self, obj):
\r
2420 return obj.getValidators()
2424 model = ServiceResource
2425 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2430 serializerLookUp = {
2432 ServiceAttribute: ServiceAttributeSerializer,
2434 ControllerImages: ControllerImagesSerializer,
2436 ControllerSitePrivilege: ControllerSitePrivilegeSerializer,
2438 Image: ImageSerializer,
2440 NetworkParameter: NetworkParameterSerializer,
2442 Site: SiteSerializer,
2444 SliceRole: SliceRoleSerializer,
2448 Invoice: InvoiceSerializer,
2450 SlicePrivilege: SlicePrivilegeSerializer,
2452 PlanetStackRole: PlanetStackRoleSerializer,
2454 NetworkSliver: NetworkSliverSerializer,
2456 Flavor: FlavorSerializer,
2458 ControllerSite: ControllerSiteSerializer,
2460 Project: ProjectSerializer,
2462 Slice: SliceSerializer,
2464 Network: NetworkSerializer,
2466 Service: ServiceSerializer,
2468 ServiceClass: ServiceClassSerializer,
2470 PlanetStack: PlanetStackSerializer,
2472 Charge: ChargeSerializer,
2474 Role: RoleSerializer,
2476 UsableObject: UsableObjectSerializer,
2478 SiteRole: SiteRoleSerializer,
2480 SliceCredential: SliceCredentialSerializer,
2482 Sliver: SliverSerializer,
2484 Node: NodeSerializer,
2486 DashboardView: DashboardViewSerializer,
2488 ControllerNetwork: ControllerNetworkSerializer,
2490 ImageDeployments: ImageDeploymentsSerializer,
2492 ControllerUser: ControllerUserSerializer,
2494 ReservedResource: ReservedResourceSerializer,
2496 Payment: PaymentSerializer,
2498 NetworkSlice: NetworkSliceSerializer,
2500 UserDashboardView: UserDashboardViewSerializer,
2502 Controller: ControllerSerializer,
2504 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
2506 User: UserSerializer,
2508 Deployment: DeploymentSerializer,
2510 Reservation: ReservationSerializer,
2512 SitePrivilege: SitePrivilegeSerializer,
2514 ControllerSlice: ControllerSliceSerializer,
2516 ControllerDashboardView: ControllerDashboardViewSerializer,
2518 Account: AccountSerializer,
2520 ControllerRole: ControllerRoleSerializer,
2522 NetworkParameterType: NetworkParameterTypeSerializer,
2524 SiteCredential: SiteCredentialSerializer,
2526 DeploymentPrivilege: DeploymentPrivilegeSerializer,
2528 ControllerSlicePrivilege: ControllerSlicePrivilegeSerializer,
2530 SiteDeployment: SiteDeploymentSerializer,
2532 DeploymentRole: DeploymentRoleSerializer,
2534 UserCredential: UserCredentialSerializer,
2536 SliceTag: SliceTagSerializer,
2538 NetworkTemplate: NetworkTemplateSerializer,
2540 Router: RouterSerializer,
2542 ServiceResource: ServiceResourceSerializer,
2547 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2549 # To handle fine-grained field permissions, we have to check can_update
2550 # the object has been updated but before it has been saved.
2552 def update(self, request, *args, **kwargs):
\r
2553 partial = kwargs.pop('partial', False)
\r
2554 self.object = self.get_object_or_none()
\r
2556 serializer = self.get_serializer(self.object, data=request.DATA,
\r
2557 files=request.FILES, partial=partial)
\r
2559 if not serializer.is_valid():
\r
2560 response = {"error": "validation",
\r
2561 "specific_error": "not serializer.is_valid()",
\r
2562 "reasons": serializer.errors}
\r
2563 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2566 self.pre_save(serializer.object)
\r
2567 except ValidationError as err:
\r
2568 # full_clean on model instance may be called in pre_save,
\r
2569 # so we have to handle eventual errors.
\r
2570 response = {"error": "validation",
\r
2571 "specific_error": "ValidationError in pre_save",
\r
2572 "reasons": err.message_dict}
\r
2573 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2575 if serializer.object is not None:
\r
2576 if not serializer.object.can_update(request.user):
\r
2577 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
2579 if self.object is None:
\r
2580 self.object = serializer.save(force_insert=True)
\r
2581 self.post_save(self.object, created=True)
\r
2582 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
2584 self.object = serializer.save(force_update=True)
\r
2585 self.post_save(self.object, created=False)
\r
2586 return Response(serializer.data, status=status.HTTP_200_OK)
2588 def destroy(self, request, *args, **kwargs):
2589 obj = self.get_object()
2590 if obj.can_update(request.user):
2591 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
2593 return Response(status=status.HTTP_400_BAD_REQUEST)
2596 # Based on core/views/*.py
2599 class ServiceAttributeList(generics.ListCreateAPIView):
2600 queryset = ServiceAttribute.objects.select_related().all()
2601 serializer_class = ServiceAttributeSerializer
2602 id_serializer_class = ServiceAttributeIdSerializer
2603 filter_backends = (filters.DjangoFilterBackend,)
2604 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
2606 def get_serializer_class(self):
2607 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2609 return self.id_serializer_class
2611 return self.serializer_class
2613 def get_queryset(self):
2614 return ServiceAttribute.select_by_user(self.request.user)
2616 def create(self, request, *args, **kwargs):
2617 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2618 if not (serializer.is_valid()):
2619 response = {"error": "validation",
2620 "specific_error": "not serializer.is_valid()",
\r
2621 "reasons": serializer.errors}
\r
2622 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2623 obj = serializer.object
2624 obj.caller = request.user
2625 if obj.can_update(request.user):
2626 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2628 raise Exception("failed obj.can_update")
2630 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2631 if (ret.status_code%100 != 200):
2632 raise Exception(ret.data)
2637 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2638 queryset = ServiceAttribute.objects.select_related().all()
2639 serializer_class = ServiceAttributeSerializer
2640 id_serializer_class = ServiceAttributeIdSerializer
2642 def get_serializer_class(self):
2643 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2645 return self.id_serializer_class
2647 return self.serializer_class
2649 def get_queryset(self):
2650 return ServiceAttribute.select_by_user(self.request.user)
2652 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2654 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2658 class ControllerImagesList(generics.ListCreateAPIView):
2659 queryset = ControllerImages.objects.select_related().all()
2660 serializer_class = ControllerImagesSerializer
2661 id_serializer_class = ControllerImagesIdSerializer
2662 filter_backends = (filters.DjangoFilterBackend,)
2663 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
2665 def get_serializer_class(self):
2666 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2668 return self.id_serializer_class
2670 return self.serializer_class
2672 def get_queryset(self):
2673 return ControllerImages.select_by_user(self.request.user)
2675 def create(self, request, *args, **kwargs):
2676 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2677 if not (serializer.is_valid()):
2678 response = {"error": "validation",
2679 "specific_error": "not serializer.is_valid()",
\r
2680 "reasons": serializer.errors}
\r
2681 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2682 obj = serializer.object
2683 obj.caller = request.user
2684 if obj.can_update(request.user):
2685 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2687 raise Exception("failed obj.can_update")
2689 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2690 if (ret.status_code%100 != 200):
2691 raise Exception(ret.data)
2696 class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2697 queryset = ControllerImages.objects.select_related().all()
2698 serializer_class = ControllerImagesSerializer
2699 id_serializer_class = ControllerImagesIdSerializer
2701 def get_serializer_class(self):
2702 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2704 return self.id_serializer_class
2706 return self.serializer_class
2708 def get_queryset(self):
2709 return ControllerImages.select_by_user(self.request.user)
2711 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2713 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2717 class ControllerSitePrivilegeList(generics.ListCreateAPIView):
2718 queryset = ControllerSitePrivilege.objects.select_related().all()
2719 serializer_class = ControllerSitePrivilegeSerializer
2720 id_serializer_class = ControllerSitePrivilegeIdSerializer
2721 filter_backends = (filters.DjangoFilterBackend,)
2722 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','site_privilege','role_id',)
2724 def get_serializer_class(self):
2725 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2727 return self.id_serializer_class
2729 return self.serializer_class
2731 def get_queryset(self):
2732 return ControllerSitePrivilege.select_by_user(self.request.user)
2734 def create(self, request, *args, **kwargs):
2735 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2736 if not (serializer.is_valid()):
2737 response = {"error": "validation",
2738 "specific_error": "not serializer.is_valid()",
\r
2739 "reasons": serializer.errors}
\r
2740 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2741 obj = serializer.object
2742 obj.caller = request.user
2743 if obj.can_update(request.user):
2744 return super(ControllerSitePrivilegeList, self).create(request, *args, **kwargs)
2746 raise Exception("failed obj.can_update")
2748 ret = super(ControllerSitePrivilegeList, self).create(request, *args, **kwargs)
2749 if (ret.status_code%100 != 200):
2750 raise Exception(ret.data)
2755 class ControllerSitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2756 queryset = ControllerSitePrivilege.objects.select_related().all()
2757 serializer_class = ControllerSitePrivilegeSerializer
2758 id_serializer_class = ControllerSitePrivilegeIdSerializer
2760 def get_serializer_class(self):
2761 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2763 return self.id_serializer_class
2765 return self.serializer_class
2767 def get_queryset(self):
2768 return ControllerSitePrivilege.select_by_user(self.request.user)
2770 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2772 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2776 class ImageList(generics.ListCreateAPIView):
2777 queryset = Image.objects.select_related().all()
2778 serializer_class = ImageSerializer
2779 id_serializer_class = ImageIdSerializer
2780 filter_backends = (filters.DjangoFilterBackend,)
2781 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
2783 def get_serializer_class(self):
2784 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2786 return self.id_serializer_class
2788 return self.serializer_class
2790 def get_queryset(self):
2791 return Image.select_by_user(self.request.user)
2793 def create(self, request, *args, **kwargs):
2794 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2795 if not (serializer.is_valid()):
2796 response = {"error": "validation",
2797 "specific_error": "not serializer.is_valid()",
\r
2798 "reasons": serializer.errors}
\r
2799 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2800 obj = serializer.object
2801 obj.caller = request.user
2802 if obj.can_update(request.user):
2803 return super(ImageList, self).create(request, *args, **kwargs)
2805 raise Exception("failed obj.can_update")
2807 ret = super(ImageList, self).create(request, *args, **kwargs)
2808 if (ret.status_code%100 != 200):
2809 raise Exception(ret.data)
2814 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2815 queryset = Image.objects.select_related().all()
2816 serializer_class = ImageSerializer
2817 id_serializer_class = ImageIdSerializer
2819 def get_serializer_class(self):
2820 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2822 return self.id_serializer_class
2824 return self.serializer_class
2826 def get_queryset(self):
2827 return Image.select_by_user(self.request.user)
2829 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2831 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2835 class NetworkParameterList(generics.ListCreateAPIView):
2836 queryset = NetworkParameter.objects.select_related().all()
2837 serializer_class = NetworkParameterSerializer
2838 id_serializer_class = NetworkParameterIdSerializer
2839 filter_backends = (filters.DjangoFilterBackend,)
2840 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
2842 def get_serializer_class(self):
2843 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2845 return self.id_serializer_class
2847 return self.serializer_class
2849 def get_queryset(self):
2850 return NetworkParameter.select_by_user(self.request.user)
2852 def create(self, request, *args, **kwargs):
2853 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2854 if not (serializer.is_valid()):
2855 response = {"error": "validation",
2856 "specific_error": "not serializer.is_valid()",
\r
2857 "reasons": serializer.errors}
\r
2858 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2859 obj = serializer.object
2860 obj.caller = request.user
2861 if obj.can_update(request.user):
2862 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2864 raise Exception("failed obj.can_update")
2866 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2867 if (ret.status_code%100 != 200):
2868 raise Exception(ret.data)
2873 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2874 queryset = NetworkParameter.objects.select_related().all()
2875 serializer_class = NetworkParameterSerializer
2876 id_serializer_class = NetworkParameterIdSerializer
2878 def get_serializer_class(self):
2879 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2881 return self.id_serializer_class
2883 return self.serializer_class
2885 def get_queryset(self):
2886 return NetworkParameter.select_by_user(self.request.user)
2888 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2890 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2894 class SiteList(generics.ListCreateAPIView):
2895 queryset = Site.objects.select_related().all()
2896 serializer_class = SiteSerializer
2897 id_serializer_class = SiteIdSerializer
2898 filter_backends = (filters.DjangoFilterBackend,)
2899 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
2901 def get_serializer_class(self):
2902 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2904 return self.id_serializer_class
2906 return self.serializer_class
2908 def get_queryset(self):
2909 return Site.select_by_user(self.request.user)
2911 def create(self, request, *args, **kwargs):
2912 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2913 if not (serializer.is_valid()):
2914 response = {"error": "validation",
2915 "specific_error": "not serializer.is_valid()",
\r
2916 "reasons": serializer.errors}
\r
2917 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2918 obj = serializer.object
2919 obj.caller = request.user
2920 if obj.can_update(request.user):
2921 return super(SiteList, self).create(request, *args, **kwargs)
2923 raise Exception("failed obj.can_update")
2925 ret = super(SiteList, self).create(request, *args, **kwargs)
2926 if (ret.status_code%100 != 200):
2927 raise Exception(ret.data)
2932 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2933 queryset = Site.objects.select_related().all()
2934 serializer_class = SiteSerializer
2935 id_serializer_class = SiteIdSerializer
2937 def get_serializer_class(self):
2938 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2940 return self.id_serializer_class
2942 return self.serializer_class
2944 def get_queryset(self):
2945 return Site.select_by_user(self.request.user)
2947 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2949 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2953 class SliceRoleList(generics.ListCreateAPIView):
2954 queryset = SliceRole.objects.select_related().all()
2955 serializer_class = SliceRoleSerializer
2956 id_serializer_class = SliceRoleIdSerializer
2957 filter_backends = (filters.DjangoFilterBackend,)
2958 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2960 def get_serializer_class(self):
2961 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2963 return self.id_serializer_class
2965 return self.serializer_class
2967 def get_queryset(self):
2968 return SliceRole.select_by_user(self.request.user)
2970 def create(self, request, *args, **kwargs):
2971 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2972 if not (serializer.is_valid()):
2973 response = {"error": "validation",
2974 "specific_error": "not serializer.is_valid()",
\r
2975 "reasons": serializer.errors}
\r
2976 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2977 obj = serializer.object
2978 obj.caller = request.user
2979 if obj.can_update(request.user):
2980 return super(SliceRoleList, self).create(request, *args, **kwargs)
2982 raise Exception("failed obj.can_update")
2984 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2985 if (ret.status_code%100 != 200):
2986 raise Exception(ret.data)
2991 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2992 queryset = SliceRole.objects.select_related().all()
2993 serializer_class = SliceRoleSerializer
2994 id_serializer_class = SliceRoleIdSerializer
2996 def get_serializer_class(self):
2997 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2999 return self.id_serializer_class
3001 return self.serializer_class
3003 def get_queryset(self):
3004 return SliceRole.select_by_user(self.request.user)
3006 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3008 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3012 class TagList(generics.ListCreateAPIView):
3013 queryset = Tag.objects.select_related().all()
3014 serializer_class = TagSerializer
3015 id_serializer_class = TagIdSerializer
3016 filter_backends = (filters.DjangoFilterBackend,)
3017 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
3019 def get_serializer_class(self):
3020 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3022 return self.id_serializer_class
3024 return self.serializer_class
3026 def get_queryset(self):
3027 return Tag.select_by_user(self.request.user)
3029 def create(self, request, *args, **kwargs):
3030 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3031 if not (serializer.is_valid()):
3032 response = {"error": "validation",
3033 "specific_error": "not serializer.is_valid()",
\r
3034 "reasons": serializer.errors}
\r
3035 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3036 obj = serializer.object
3037 obj.caller = request.user
3038 if obj.can_update(request.user):
3039 return super(TagList, self).create(request, *args, **kwargs)
3041 raise Exception("failed obj.can_update")
3043 ret = super(TagList, self).create(request, *args, **kwargs)
3044 if (ret.status_code%100 != 200):
3045 raise Exception(ret.data)
3050 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3051 queryset = Tag.objects.select_related().all()
3052 serializer_class = TagSerializer
3053 id_serializer_class = TagIdSerializer
3055 def get_serializer_class(self):
3056 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3058 return self.id_serializer_class
3060 return self.serializer_class
3062 def get_queryset(self):
3063 return Tag.select_by_user(self.request.user)
3065 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3067 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3071 class InvoiceList(generics.ListCreateAPIView):
3072 queryset = Invoice.objects.select_related().all()
3073 serializer_class = InvoiceSerializer
3074 id_serializer_class = InvoiceIdSerializer
3075 filter_backends = (filters.DjangoFilterBackend,)
3076 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
3078 def get_serializer_class(self):
3079 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3081 return self.id_serializer_class
3083 return self.serializer_class
3085 def get_queryset(self):
3086 return Invoice.select_by_user(self.request.user)
3088 def create(self, request, *args, **kwargs):
3089 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3090 if not (serializer.is_valid()):
3091 response = {"error": "validation",
3092 "specific_error": "not serializer.is_valid()",
\r
3093 "reasons": serializer.errors}
\r
3094 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3095 obj = serializer.object
3096 obj.caller = request.user
3097 if obj.can_update(request.user):
3098 return super(InvoiceList, self).create(request, *args, **kwargs)
3100 raise Exception("failed obj.can_update")
3102 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3103 if (ret.status_code%100 != 200):
3104 raise Exception(ret.data)
3109 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3110 queryset = Invoice.objects.select_related().all()
3111 serializer_class = InvoiceSerializer
3112 id_serializer_class = InvoiceIdSerializer
3114 def get_serializer_class(self):
3115 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3117 return self.id_serializer_class
3119 return self.serializer_class
3121 def get_queryset(self):
3122 return Invoice.select_by_user(self.request.user)
3124 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3126 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3130 class SlicePrivilegeList(generics.ListCreateAPIView):
3131 queryset = SlicePrivilege.objects.select_related().all()
3132 serializer_class = SlicePrivilegeSerializer
3133 id_serializer_class = SlicePrivilegeIdSerializer
3134 filter_backends = (filters.DjangoFilterBackend,)
3135 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
3137 def get_serializer_class(self):
3138 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3140 return self.id_serializer_class
3142 return self.serializer_class
3144 def get_queryset(self):
3145 return SlicePrivilege.select_by_user(self.request.user)
3147 def create(self, request, *args, **kwargs):
3148 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3149 if not (serializer.is_valid()):
3150 response = {"error": "validation",
3151 "specific_error": "not serializer.is_valid()",
\r
3152 "reasons": serializer.errors}
\r
3153 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3154 obj = serializer.object
3155 obj.caller = request.user
3156 if obj.can_update(request.user):
3157 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3159 raise Exception("failed obj.can_update")
3161 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3162 if (ret.status_code%100 != 200):
3163 raise Exception(ret.data)
3168 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3169 queryset = SlicePrivilege.objects.select_related().all()
3170 serializer_class = SlicePrivilegeSerializer
3171 id_serializer_class = SlicePrivilegeIdSerializer
3173 def get_serializer_class(self):
3174 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3176 return self.id_serializer_class
3178 return self.serializer_class
3180 def get_queryset(self):
3181 return SlicePrivilege.select_by_user(self.request.user)
3183 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3185 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3189 class PlanetStackRoleList(generics.ListCreateAPIView):
3190 queryset = PlanetStackRole.objects.select_related().all()
3191 serializer_class = PlanetStackRoleSerializer
3192 id_serializer_class = PlanetStackRoleIdSerializer
3193 filter_backends = (filters.DjangoFilterBackend,)
3194 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3196 def get_serializer_class(self):
3197 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3199 return self.id_serializer_class
3201 return self.serializer_class
3203 def get_queryset(self):
3204 return PlanetStackRole.select_by_user(self.request.user)
3206 def create(self, request, *args, **kwargs):
3207 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3208 if not (serializer.is_valid()):
3209 response = {"error": "validation",
3210 "specific_error": "not serializer.is_valid()",
\r
3211 "reasons": serializer.errors}
\r
3212 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3213 obj = serializer.object
3214 obj.caller = request.user
3215 if obj.can_update(request.user):
3216 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3218 raise Exception("failed obj.can_update")
3220 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3221 if (ret.status_code%100 != 200):
3222 raise Exception(ret.data)
3227 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3228 queryset = PlanetStackRole.objects.select_related().all()
3229 serializer_class = PlanetStackRoleSerializer
3230 id_serializer_class = PlanetStackRoleIdSerializer
3232 def get_serializer_class(self):
3233 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3235 return self.id_serializer_class
3237 return self.serializer_class
3239 def get_queryset(self):
3240 return PlanetStackRole.select_by_user(self.request.user)
3242 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3244 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3248 class NetworkSliverList(generics.ListCreateAPIView):
3249 queryset = NetworkSliver.objects.select_related().all()
3250 serializer_class = NetworkSliverSerializer
3251 id_serializer_class = NetworkSliverIdSerializer
3252 filter_backends = (filters.DjangoFilterBackend,)
3253 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
3255 def get_serializer_class(self):
3256 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3258 return self.id_serializer_class
3260 return self.serializer_class
3262 def get_queryset(self):
3263 return NetworkSliver.select_by_user(self.request.user)
3265 def create(self, request, *args, **kwargs):
3266 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3267 if not (serializer.is_valid()):
3268 response = {"error": "validation",
3269 "specific_error": "not serializer.is_valid()",
\r
3270 "reasons": serializer.errors}
\r
3271 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3272 obj = serializer.object
3273 obj.caller = request.user
3274 if obj.can_update(request.user):
3275 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3277 raise Exception("failed obj.can_update")
3279 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3280 if (ret.status_code%100 != 200):
3281 raise Exception(ret.data)
3286 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3287 queryset = NetworkSliver.objects.select_related().all()
3288 serializer_class = NetworkSliverSerializer
3289 id_serializer_class = NetworkSliverIdSerializer
3291 def get_serializer_class(self):
3292 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3294 return self.id_serializer_class
3296 return self.serializer_class
3298 def get_queryset(self):
3299 return NetworkSliver.select_by_user(self.request.user)
3301 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3303 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3307 class FlavorList(generics.ListCreateAPIView):
3308 queryset = Flavor.objects.select_related().all()
3309 serializer_class = FlavorSerializer
3310 id_serializer_class = FlavorIdSerializer
3311 filter_backends = (filters.DjangoFilterBackend,)
3312 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
3314 def get_serializer_class(self):
3315 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3317 return self.id_serializer_class
3319 return self.serializer_class
3321 def get_queryset(self):
3322 return Flavor.select_by_user(self.request.user)
3324 def create(self, request, *args, **kwargs):
3325 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3326 if not (serializer.is_valid()):
3327 response = {"error": "validation",
3328 "specific_error": "not serializer.is_valid()",
\r
3329 "reasons": serializer.errors}
\r
3330 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3331 obj = serializer.object
3332 obj.caller = request.user
3333 if obj.can_update(request.user):
3334 return super(FlavorList, self).create(request, *args, **kwargs)
3336 raise Exception("failed obj.can_update")
3338 ret = super(FlavorList, self).create(request, *args, **kwargs)
3339 if (ret.status_code%100 != 200):
3340 raise Exception(ret.data)
3345 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3346 queryset = Flavor.objects.select_related().all()
3347 serializer_class = FlavorSerializer
3348 id_serializer_class = FlavorIdSerializer
3350 def get_serializer_class(self):
3351 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3353 return self.id_serializer_class
3355 return self.serializer_class
3357 def get_queryset(self):
3358 return Flavor.select_by_user(self.request.user)
3360 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3362 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3366 class ControllerSiteList(generics.ListCreateAPIView):
3367 queryset = ControllerSite.objects.select_related().all()
3368 serializer_class = ControllerSiteSerializer
3369 id_serializer_class = ControllerSiteIdSerializer
3370 filter_backends = (filters.DjangoFilterBackend,)
3371 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','controller','tenant_id',)
3373 def get_serializer_class(self):
3374 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3376 return self.id_serializer_class
3378 return self.serializer_class
3380 def get_queryset(self):
3381 return ControllerSite.select_by_user(self.request.user)
3383 def create(self, request, *args, **kwargs):
3384 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3385 if not (serializer.is_valid()):
3386 response = {"error": "validation",
3387 "specific_error": "not serializer.is_valid()",
\r
3388 "reasons": serializer.errors}
\r
3389 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3390 obj = serializer.object
3391 obj.caller = request.user
3392 if obj.can_update(request.user):
3393 return super(ControllerSiteList, self).create(request, *args, **kwargs)
3395 raise Exception("failed obj.can_update")
3397 ret = super(ControllerSiteList, self).create(request, *args, **kwargs)
3398 if (ret.status_code%100 != 200):
3399 raise Exception(ret.data)
3404 class ControllerSiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3405 queryset = ControllerSite.objects.select_related().all()
3406 serializer_class = ControllerSiteSerializer
3407 id_serializer_class = ControllerSiteIdSerializer
3409 def get_serializer_class(self):
3410 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3412 return self.id_serializer_class
3414 return self.serializer_class
3416 def get_queryset(self):
3417 return ControllerSite.select_by_user(self.request.user)
3419 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3421 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3425 class ProjectList(generics.ListCreateAPIView):
3426 queryset = Project.objects.select_related().all()
3427 serializer_class = ProjectSerializer
3428 id_serializer_class = ProjectIdSerializer
3429 filter_backends = (filters.DjangoFilterBackend,)
3430 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3432 def get_serializer_class(self):
3433 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3435 return self.id_serializer_class
3437 return self.serializer_class
3439 def get_queryset(self):
3440 return Project.select_by_user(self.request.user)
3442 def create(self, request, *args, **kwargs):
3443 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3444 if not (serializer.is_valid()):
3445 response = {"error": "validation",
3446 "specific_error": "not serializer.is_valid()",
\r
3447 "reasons": serializer.errors}
\r
3448 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3449 obj = serializer.object
3450 obj.caller = request.user
3451 if obj.can_update(request.user):
3452 return super(ProjectList, self).create(request, *args, **kwargs)
3454 raise Exception("failed obj.can_update")
3456 ret = super(ProjectList, self).create(request, *args, **kwargs)
3457 if (ret.status_code%100 != 200):
3458 raise Exception(ret.data)
3463 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3464 queryset = Project.objects.select_related().all()
3465 serializer_class = ProjectSerializer
3466 id_serializer_class = ProjectIdSerializer
3468 def get_serializer_class(self):
3469 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3471 return self.id_serializer_class
3473 return self.serializer_class
3475 def get_queryset(self):
3476 return Project.select_by_user(self.request.user)
3478 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3480 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3484 class SliceList(generics.ListCreateAPIView):
3485 queryset = Slice.objects.select_related().all()
3486 serializer_class = SliceSerializer
3487 id_serializer_class = SliceIdSerializer
3488 filter_backends = (filters.DjangoFilterBackend,)
3489 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
3491 def get_serializer_class(self):
3492 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3494 return self.id_serializer_class
3496 return self.serializer_class
3498 def get_queryset(self):
3499 return Slice.select_by_user(self.request.user)
3501 def create(self, request, *args, **kwargs):
3502 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3503 if not (serializer.is_valid()):
3504 response = {"error": "validation",
3505 "specific_error": "not serializer.is_valid()",
\r
3506 "reasons": serializer.errors}
\r
3507 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3508 obj = serializer.object
3509 obj.caller = request.user
3510 if obj.can_update(request.user):
3511 return super(SliceList, self).create(request, *args, **kwargs)
3513 raise Exception("failed obj.can_update")
3515 ret = super(SliceList, self).create(request, *args, **kwargs)
3516 if (ret.status_code%100 != 200):
3517 raise Exception(ret.data)
3522 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3523 queryset = Slice.objects.select_related().all()
3524 serializer_class = SliceSerializer
3525 id_serializer_class = SliceIdSerializer
3527 def get_serializer_class(self):
3528 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3530 return self.id_serializer_class
3532 return self.serializer_class
3534 def get_queryset(self):
3535 return Slice.select_by_user(self.request.user)
3537 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3539 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3543 class NetworkList(generics.ListCreateAPIView):
3544 queryset = Network.objects.select_related().all()
3545 serializer_class = NetworkSerializer
3546 id_serializer_class = NetworkIdSerializer
3547 filter_backends = (filters.DjangoFilterBackend,)
3548 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',)
3550 def get_serializer_class(self):
3551 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3553 return self.id_serializer_class
3555 return self.serializer_class
3557 def get_queryset(self):
3558 return Network.select_by_user(self.request.user)
3560 def create(self, request, *args, **kwargs):
3561 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3562 if not (serializer.is_valid()):
3563 response = {"error": "validation",
3564 "specific_error": "not serializer.is_valid()",
\r
3565 "reasons": serializer.errors}
\r
3566 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3567 obj = serializer.object
3568 obj.caller = request.user
3569 if obj.can_update(request.user):
3570 return super(NetworkList, self).create(request, *args, **kwargs)
3572 raise Exception("failed obj.can_update")
3574 ret = super(NetworkList, self).create(request, *args, **kwargs)
3575 if (ret.status_code%100 != 200):
3576 raise Exception(ret.data)
3581 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3582 queryset = Network.objects.select_related().all()
3583 serializer_class = NetworkSerializer
3584 id_serializer_class = NetworkIdSerializer
3586 def get_serializer_class(self):
3587 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3589 return self.id_serializer_class
3591 return self.serializer_class
3593 def get_queryset(self):
3594 return Network.select_by_user(self.request.user)
3596 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3598 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3602 class ServiceList(generics.ListCreateAPIView):
3603 queryset = Service.objects.select_related().all()
3604 serializer_class = ServiceSerializer
3605 id_serializer_class = ServiceIdSerializer
3606 filter_backends = (filters.DjangoFilterBackend,)
3607 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
3609 def get_serializer_class(self):
3610 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3612 return self.id_serializer_class
3614 return self.serializer_class
3616 def get_queryset(self):
3617 return Service.select_by_user(self.request.user)
3619 def create(self, request, *args, **kwargs):
3620 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3621 if not (serializer.is_valid()):
3622 response = {"error": "validation",
3623 "specific_error": "not serializer.is_valid()",
\r
3624 "reasons": serializer.errors}
\r
3625 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3626 obj = serializer.object
3627 obj.caller = request.user
3628 if obj.can_update(request.user):
3629 return super(ServiceList, self).create(request, *args, **kwargs)
3631 raise Exception("failed obj.can_update")
3633 ret = super(ServiceList, self).create(request, *args, **kwargs)
3634 if (ret.status_code%100 != 200):
3635 raise Exception(ret.data)
3640 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3641 queryset = Service.objects.select_related().all()
3642 serializer_class = ServiceSerializer
3643 id_serializer_class = ServiceIdSerializer
3645 def get_serializer_class(self):
3646 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3648 return self.id_serializer_class
3650 return self.serializer_class
3652 def get_queryset(self):
3653 return Service.select_by_user(self.request.user)
3655 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3657 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3661 class ServiceClassList(generics.ListCreateAPIView):
3662 queryset = ServiceClass.objects.select_related().all()
3663 serializer_class = ServiceClassSerializer
3664 id_serializer_class = ServiceClassIdSerializer
3665 filter_backends = (filters.DjangoFilterBackend,)
3666 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
3668 def get_serializer_class(self):
3669 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3671 return self.id_serializer_class
3673 return self.serializer_class
3675 def get_queryset(self):
3676 return ServiceClass.select_by_user(self.request.user)
3678 def create(self, request, *args, **kwargs):
3679 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3680 if not (serializer.is_valid()):
3681 response = {"error": "validation",
3682 "specific_error": "not serializer.is_valid()",
\r
3683 "reasons": serializer.errors}
\r
3684 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3685 obj = serializer.object
3686 obj.caller = request.user
3687 if obj.can_update(request.user):
3688 return super(ServiceClassList, self).create(request, *args, **kwargs)
3690 raise Exception("failed obj.can_update")
3692 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3693 if (ret.status_code%100 != 200):
3694 raise Exception(ret.data)
3699 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3700 queryset = ServiceClass.objects.select_related().all()
3701 serializer_class = ServiceClassSerializer
3702 id_serializer_class = ServiceClassIdSerializer
3704 def get_serializer_class(self):
3705 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3707 return self.id_serializer_class
3709 return self.serializer_class
3711 def get_queryset(self):
3712 return ServiceClass.select_by_user(self.request.user)
3714 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3716 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3720 class PlanetStackList(generics.ListCreateAPIView):
3721 queryset = PlanetStack.objects.select_related().all()
3722 serializer_class = PlanetStackSerializer
3723 id_serializer_class = PlanetStackIdSerializer
3724 filter_backends = (filters.DjangoFilterBackend,)
3725 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
3727 def get_serializer_class(self):
3728 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3730 return self.id_serializer_class
3732 return self.serializer_class
3734 def get_queryset(self):
3735 return PlanetStack.select_by_user(self.request.user)
3737 def create(self, request, *args, **kwargs):
3738 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3739 if not (serializer.is_valid()):
3740 response = {"error": "validation",
3741 "specific_error": "not serializer.is_valid()",
\r
3742 "reasons": serializer.errors}
\r
3743 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3744 obj = serializer.object
3745 obj.caller = request.user
3746 if obj.can_update(request.user):
3747 return super(PlanetStackList, self).create(request, *args, **kwargs)
3749 raise Exception("failed obj.can_update")
3751 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
3752 if (ret.status_code%100 != 200):
3753 raise Exception(ret.data)
3758 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3759 queryset = PlanetStack.objects.select_related().all()
3760 serializer_class = PlanetStackSerializer
3761 id_serializer_class = PlanetStackIdSerializer
3763 def get_serializer_class(self):
3764 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3766 return self.id_serializer_class
3768 return self.serializer_class
3770 def get_queryset(self):
3771 return PlanetStack.select_by_user(self.request.user)
3773 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3775 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3779 class ChargeList(generics.ListCreateAPIView):
3780 queryset = Charge.objects.select_related().all()
3781 serializer_class = ChargeSerializer
3782 id_serializer_class = ChargeIdSerializer
3783 filter_backends = (filters.DjangoFilterBackend,)
3784 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3786 def get_serializer_class(self):
3787 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3789 return self.id_serializer_class
3791 return self.serializer_class
3793 def get_queryset(self):
3794 return Charge.select_by_user(self.request.user)
3796 def create(self, request, *args, **kwargs):
3797 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3798 if not (serializer.is_valid()):
3799 response = {"error": "validation",
3800 "specific_error": "not serializer.is_valid()",
\r
3801 "reasons": serializer.errors}
\r
3802 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3803 obj = serializer.object
3804 obj.caller = request.user
3805 if obj.can_update(request.user):
3806 return super(ChargeList, self).create(request, *args, **kwargs)
3808 raise Exception("failed obj.can_update")
3810 ret = super(ChargeList, self).create(request, *args, **kwargs)
3811 if (ret.status_code%100 != 200):
3812 raise Exception(ret.data)
3817 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3818 queryset = Charge.objects.select_related().all()
3819 serializer_class = ChargeSerializer
3820 id_serializer_class = ChargeIdSerializer
3822 def get_serializer_class(self):
3823 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3825 return self.id_serializer_class
3827 return self.serializer_class
3829 def get_queryset(self):
3830 return Charge.select_by_user(self.request.user)
3832 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3834 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3838 class RoleList(generics.ListCreateAPIView):
3839 queryset = Role.objects.select_related().all()
3840 serializer_class = RoleSerializer
3841 id_serializer_class = RoleIdSerializer
3842 filter_backends = (filters.DjangoFilterBackend,)
3843 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3845 def get_serializer_class(self):
3846 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3848 return self.id_serializer_class
3850 return self.serializer_class
3852 def get_queryset(self):
3853 return Role.select_by_user(self.request.user)
3855 def create(self, request, *args, **kwargs):
3856 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3857 if not (serializer.is_valid()):
3858 response = {"error": "validation",
3859 "specific_error": "not serializer.is_valid()",
\r
3860 "reasons": serializer.errors}
\r
3861 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3862 obj = serializer.object
3863 obj.caller = request.user
3864 if obj.can_update(request.user):
3865 return super(RoleList, self).create(request, *args, **kwargs)
3867 raise Exception("failed obj.can_update")
3869 ret = super(RoleList, self).create(request, *args, **kwargs)
3870 if (ret.status_code%100 != 200):
3871 raise Exception(ret.data)
3876 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3877 queryset = Role.objects.select_related().all()
3878 serializer_class = RoleSerializer
3879 id_serializer_class = RoleIdSerializer
3881 def get_serializer_class(self):
3882 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3884 return self.id_serializer_class
3886 return self.serializer_class
3888 def get_queryset(self):
3889 return Role.select_by_user(self.request.user)
3891 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3893 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3897 class UsableObjectList(generics.ListCreateAPIView):
3898 queryset = UsableObject.objects.select_related().all()
3899 serializer_class = UsableObjectSerializer
3900 id_serializer_class = UsableObjectIdSerializer
3901 filter_backends = (filters.DjangoFilterBackend,)
3902 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3904 def get_serializer_class(self):
3905 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3907 return self.id_serializer_class
3909 return self.serializer_class
3911 def get_queryset(self):
3912 return UsableObject.select_by_user(self.request.user)
3914 def create(self, request, *args, **kwargs):
3915 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3916 if not (serializer.is_valid()):
3917 response = {"error": "validation",
3918 "specific_error": "not serializer.is_valid()",
\r
3919 "reasons": serializer.errors}
\r
3920 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3921 obj = serializer.object
3922 obj.caller = request.user
3923 if obj.can_update(request.user):
3924 return super(UsableObjectList, self).create(request, *args, **kwargs)
3926 raise Exception("failed obj.can_update")
3928 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3929 if (ret.status_code%100 != 200):
3930 raise Exception(ret.data)
3935 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3936 queryset = UsableObject.objects.select_related().all()
3937 serializer_class = UsableObjectSerializer
3938 id_serializer_class = UsableObjectIdSerializer
3940 def get_serializer_class(self):
3941 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3943 return self.id_serializer_class
3945 return self.serializer_class
3947 def get_queryset(self):
3948 return UsableObject.select_by_user(self.request.user)
3950 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3952 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3956 class SiteRoleList(generics.ListCreateAPIView):
3957 queryset = SiteRole.objects.select_related().all()
3958 serializer_class = SiteRoleSerializer
3959 id_serializer_class = SiteRoleIdSerializer
3960 filter_backends = (filters.DjangoFilterBackend,)
3961 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3963 def get_serializer_class(self):
3964 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3966 return self.id_serializer_class
3968 return self.serializer_class
3970 def get_queryset(self):
3971 return SiteRole.select_by_user(self.request.user)
3973 def create(self, request, *args, **kwargs):
3974 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3975 if not (serializer.is_valid()):
3976 response = {"error": "validation",
3977 "specific_error": "not serializer.is_valid()",
\r
3978 "reasons": serializer.errors}
\r
3979 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3980 obj = serializer.object
3981 obj.caller = request.user
3982 if obj.can_update(request.user):
3983 return super(SiteRoleList, self).create(request, *args, **kwargs)
3985 raise Exception("failed obj.can_update")
3987 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3988 if (ret.status_code%100 != 200):
3989 raise Exception(ret.data)
3994 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3995 queryset = SiteRole.objects.select_related().all()
3996 serializer_class = SiteRoleSerializer
3997 id_serializer_class = SiteRoleIdSerializer
3999 def get_serializer_class(self):
4000 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4002 return self.id_serializer_class
4004 return self.serializer_class
4006 def get_queryset(self):
4007 return SiteRole.select_by_user(self.request.user)
4009 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4011 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4015 class SliceCredentialList(generics.ListCreateAPIView):
4016 queryset = SliceCredential.objects.select_related().all()
4017 serializer_class = SliceCredentialSerializer
4018 id_serializer_class = SliceCredentialIdSerializer
4019 filter_backends = (filters.DjangoFilterBackend,)
4020 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
4022 def get_serializer_class(self):
4023 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4025 return self.id_serializer_class
4027 return self.serializer_class
4029 def get_queryset(self):
4030 return SliceCredential.select_by_user(self.request.user)
4032 def create(self, request, *args, **kwargs):
4033 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4034 if not (serializer.is_valid()):
4035 response = {"error": "validation",
4036 "specific_error": "not serializer.is_valid()",
\r
4037 "reasons": serializer.errors}
\r
4038 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4039 obj = serializer.object
4040 obj.caller = request.user
4041 if obj.can_update(request.user):
4042 return super(SliceCredentialList, self).create(request, *args, **kwargs)
4044 raise Exception("failed obj.can_update")
4046 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
4047 if (ret.status_code%100 != 200):
4048 raise Exception(ret.data)
4053 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4054 queryset = SliceCredential.objects.select_related().all()
4055 serializer_class = SliceCredentialSerializer
4056 id_serializer_class = SliceCredentialIdSerializer
4058 def get_serializer_class(self):
4059 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4061 return self.id_serializer_class
4063 return self.serializer_class
4065 def get_queryset(self):
4066 return SliceCredential.select_by_user(self.request.user)
4068 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4070 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4074 class SliverList(generics.ListCreateAPIView):
4075 queryset = Sliver.objects.select_related().all()
4076 serializer_class = SliverSerializer
4077 id_serializer_class = SliverIdSerializer
4078 filter_backends = (filters.DjangoFilterBackend,)
4079 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
4081 def get_serializer_class(self):
4082 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4084 return self.id_serializer_class
4086 return self.serializer_class
4088 def get_queryset(self):
4089 return Sliver.select_by_user(self.request.user)
4091 def create(self, request, *args, **kwargs):
4092 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4093 if not (serializer.is_valid()):
4094 response = {"error": "validation",
4095 "specific_error": "not serializer.is_valid()",
\r
4096 "reasons": serializer.errors}
\r
4097 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4098 obj = serializer.object
4099 obj.caller = request.user
4100 if obj.can_update(request.user):
4101 return super(SliverList, self).create(request, *args, **kwargs)
4103 raise Exception("failed obj.can_update")
4105 ret = super(SliverList, self).create(request, *args, **kwargs)
4106 if (ret.status_code%100 != 200):
4107 raise Exception(ret.data)
4112 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4113 queryset = Sliver.objects.select_related().all()
4114 serializer_class = SliverSerializer
4115 id_serializer_class = SliverIdSerializer
4117 def get_serializer_class(self):
4118 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4120 return self.id_serializer_class
4122 return self.serializer_class
4124 def get_queryset(self):
4125 return Sliver.select_by_user(self.request.user)
4127 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4129 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4133 class NodeList(generics.ListCreateAPIView):
4134 queryset = Node.objects.select_related().all()
4135 serializer_class = NodeSerializer
4136 id_serializer_class = NodeIdSerializer
4137 filter_backends = (filters.DjangoFilterBackend,)
4138 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
4140 def get_serializer_class(self):
4141 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4143 return self.id_serializer_class
4145 return self.serializer_class
4147 def get_queryset(self):
4148 return Node.select_by_user(self.request.user)
4150 def create(self, request, *args, **kwargs):
4151 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4152 if not (serializer.is_valid()):
4153 response = {"error": "validation",
4154 "specific_error": "not serializer.is_valid()",
\r
4155 "reasons": serializer.errors}
\r
4156 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4157 obj = serializer.object
4158 obj.caller = request.user
4159 if obj.can_update(request.user):
4160 return super(NodeList, self).create(request, *args, **kwargs)
4162 raise Exception("failed obj.can_update")
4164 ret = super(NodeList, self).create(request, *args, **kwargs)
4165 if (ret.status_code%100 != 200):
4166 raise Exception(ret.data)
4171 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4172 queryset = Node.objects.select_related().all()
4173 serializer_class = NodeSerializer
4174 id_serializer_class = NodeIdSerializer
4176 def get_serializer_class(self):
4177 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4179 return self.id_serializer_class
4181 return self.serializer_class
4183 def get_queryset(self):
4184 return Node.select_by_user(self.request.user)
4186 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4188 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4192 class DashboardViewList(generics.ListCreateAPIView):
4193 queryset = DashboardView.objects.select_related().all()
4194 serializer_class = DashboardViewSerializer
4195 id_serializer_class = DashboardViewIdSerializer
4196 filter_backends = (filters.DjangoFilterBackend,)
4197 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
4199 def get_serializer_class(self):
4200 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4202 return self.id_serializer_class
4204 return self.serializer_class
4206 def get_queryset(self):
4207 return DashboardView.select_by_user(self.request.user)
4209 def create(self, request, *args, **kwargs):
4210 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4211 if not (serializer.is_valid()):
4212 response = {"error": "validation",
4213 "specific_error": "not serializer.is_valid()",
\r
4214 "reasons": serializer.errors}
\r
4215 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4216 obj = serializer.object
4217 obj.caller = request.user
4218 if obj.can_update(request.user):
4219 return super(DashboardViewList, self).create(request, *args, **kwargs)
4221 raise Exception("failed obj.can_update")
4223 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4224 if (ret.status_code%100 != 200):
4225 raise Exception(ret.data)
4230 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4231 queryset = DashboardView.objects.select_related().all()
4232 serializer_class = DashboardViewSerializer
4233 id_serializer_class = DashboardViewIdSerializer
4235 def get_serializer_class(self):
4236 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4238 return self.id_serializer_class
4240 return self.serializer_class
4242 def get_queryset(self):
4243 return DashboardView.select_by_user(self.request.user)
4245 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4247 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4251 class ControllerNetworkList(generics.ListCreateAPIView):
4252 queryset = ControllerNetwork.objects.select_related().all()
4253 serializer_class = ControllerNetworkSerializer
4254 id_serializer_class = ControllerNetworkIdSerializer
4255 filter_backends = (filters.DjangoFilterBackend,)
4256 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
4258 def get_serializer_class(self):
4259 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4261 return self.id_serializer_class
4263 return self.serializer_class
4265 def get_queryset(self):
4266 return ControllerNetwork.select_by_user(self.request.user)
4268 def create(self, request, *args, **kwargs):
4269 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4270 if not (serializer.is_valid()):
4271 response = {"error": "validation",
4272 "specific_error": "not serializer.is_valid()",
\r
4273 "reasons": serializer.errors}
\r
4274 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4275 obj = serializer.object
4276 obj.caller = request.user
4277 if obj.can_update(request.user):
4278 return super(ControllerNetworkList, self).create(request, *args, **kwargs)
4280 raise Exception("failed obj.can_update")
4282 ret = super(ControllerNetworkList, self).create(request, *args, **kwargs)
4283 if (ret.status_code%100 != 200):
4284 raise Exception(ret.data)
4289 class ControllerNetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4290 queryset = ControllerNetwork.objects.select_related().all()
4291 serializer_class = ControllerNetworkSerializer
4292 id_serializer_class = ControllerNetworkIdSerializer
4294 def get_serializer_class(self):
4295 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4297 return self.id_serializer_class
4299 return self.serializer_class
4301 def get_queryset(self):
4302 return ControllerNetwork.select_by_user(self.request.user)
4304 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4306 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4310 class ImageDeploymentsList(generics.ListCreateAPIView):
4311 queryset = ImageDeployments.objects.select_related().all()
4312 serializer_class = ImageDeploymentsSerializer
4313 id_serializer_class = ImageDeploymentsIdSerializer
4314 filter_backends = (filters.DjangoFilterBackend,)
4315 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment',)
4317 def get_serializer_class(self):
4318 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4320 return self.id_serializer_class
4322 return self.serializer_class
4324 def get_queryset(self):
4325 return ImageDeployments.select_by_user(self.request.user)
4327 def create(self, request, *args, **kwargs):
4328 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4329 if not (serializer.is_valid()):
4330 response = {"error": "validation",
4331 "specific_error": "not serializer.is_valid()",
\r
4332 "reasons": serializer.errors}
\r
4333 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4334 obj = serializer.object
4335 obj.caller = request.user
4336 if obj.can_update(request.user):
4337 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4339 raise Exception("failed obj.can_update")
4341 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4342 if (ret.status_code%100 != 200):
4343 raise Exception(ret.data)
4348 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4349 queryset = ImageDeployments.objects.select_related().all()
4350 serializer_class = ImageDeploymentsSerializer
4351 id_serializer_class = ImageDeploymentsIdSerializer
4353 def get_serializer_class(self):
4354 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4356 return self.id_serializer_class
4358 return self.serializer_class
4360 def get_queryset(self):
4361 return ImageDeployments.select_by_user(self.request.user)
4363 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4365 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4369 class ControllerUserList(generics.ListCreateAPIView):
4370 queryset = ControllerUser.objects.select_related().all()
4371 serializer_class = ControllerUserSerializer
4372 id_serializer_class = ControllerUserIdSerializer
4373 filter_backends = (filters.DjangoFilterBackend,)
4374 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
4376 def get_serializer_class(self):
4377 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4379 return self.id_serializer_class
4381 return self.serializer_class
4383 def get_queryset(self):
4384 return ControllerUser.select_by_user(self.request.user)
4386 def create(self, request, *args, **kwargs):
4387 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4388 if not (serializer.is_valid()):
4389 response = {"error": "validation",
4390 "specific_error": "not serializer.is_valid()",
\r
4391 "reasons": serializer.errors}
\r
4392 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4393 obj = serializer.object
4394 obj.caller = request.user
4395 if obj.can_update(request.user):
4396 return super(ControllerUserList, self).create(request, *args, **kwargs)
4398 raise Exception("failed obj.can_update")
4400 ret = super(ControllerUserList, self).create(request, *args, **kwargs)
4401 if (ret.status_code%100 != 200):
4402 raise Exception(ret.data)
4407 class ControllerUserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4408 queryset = ControllerUser.objects.select_related().all()
4409 serializer_class = ControllerUserSerializer
4410 id_serializer_class = ControllerUserIdSerializer
4412 def get_serializer_class(self):
4413 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4415 return self.id_serializer_class
4417 return self.serializer_class
4419 def get_queryset(self):
4420 return ControllerUser.select_by_user(self.request.user)
4422 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4424 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4428 class ReservedResourceList(generics.ListCreateAPIView):
4429 queryset = ReservedResource.objects.select_related().all()
4430 serializer_class = ReservedResourceSerializer
4431 id_serializer_class = ReservedResourceIdSerializer
4432 filter_backends = (filters.DjangoFilterBackend,)
4433 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
4435 def get_serializer_class(self):
4436 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4438 return self.id_serializer_class
4440 return self.serializer_class
4442 def get_queryset(self):
4443 return ReservedResource.select_by_user(self.request.user)
4445 def create(self, request, *args, **kwargs):
4446 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4447 if not (serializer.is_valid()):
4448 response = {"error": "validation",
4449 "specific_error": "not serializer.is_valid()",
\r
4450 "reasons": serializer.errors}
\r
4451 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4452 obj = serializer.object
4453 obj.caller = request.user
4454 if obj.can_update(request.user):
4455 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4457 raise Exception("failed obj.can_update")
4459 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4460 if (ret.status_code%100 != 200):
4461 raise Exception(ret.data)
4466 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4467 queryset = ReservedResource.objects.select_related().all()
4468 serializer_class = ReservedResourceSerializer
4469 id_serializer_class = ReservedResourceIdSerializer
4471 def get_serializer_class(self):
4472 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4474 return self.id_serializer_class
4476 return self.serializer_class
4478 def get_queryset(self):
4479 return ReservedResource.select_by_user(self.request.user)
4481 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4483 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4487 class PaymentList(generics.ListCreateAPIView):
4488 queryset = Payment.objects.select_related().all()
4489 serializer_class = PaymentSerializer
4490 id_serializer_class = PaymentIdSerializer
4491 filter_backends = (filters.DjangoFilterBackend,)
4492 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
4494 def get_serializer_class(self):
4495 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4497 return self.id_serializer_class
4499 return self.serializer_class
4501 def get_queryset(self):
4502 return Payment.select_by_user(self.request.user)
4504 def create(self, request, *args, **kwargs):
4505 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4506 if not (serializer.is_valid()):
4507 response = {"error": "validation",
4508 "specific_error": "not serializer.is_valid()",
\r
4509 "reasons": serializer.errors}
\r
4510 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4511 obj = serializer.object
4512 obj.caller = request.user
4513 if obj.can_update(request.user):
4514 return super(PaymentList, self).create(request, *args, **kwargs)
4516 raise Exception("failed obj.can_update")
4518 ret = super(PaymentList, self).create(request, *args, **kwargs)
4519 if (ret.status_code%100 != 200):
4520 raise Exception(ret.data)
4525 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4526 queryset = Payment.objects.select_related().all()
4527 serializer_class = PaymentSerializer
4528 id_serializer_class = PaymentIdSerializer
4530 def get_serializer_class(self):
4531 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4533 return self.id_serializer_class
4535 return self.serializer_class
4537 def get_queryset(self):
4538 return Payment.select_by_user(self.request.user)
4540 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4542 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4546 class NetworkSliceList(generics.ListCreateAPIView):
4547 queryset = NetworkSlice.objects.select_related().all()
4548 serializer_class = NetworkSliceSerializer
4549 id_serializer_class = NetworkSliceIdSerializer
4550 filter_backends = (filters.DjangoFilterBackend,)
4551 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
4553 def get_serializer_class(self):
4554 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4556 return self.id_serializer_class
4558 return self.serializer_class
4560 def get_queryset(self):
4561 return NetworkSlice.select_by_user(self.request.user)
4563 def create(self, request, *args, **kwargs):
4564 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4565 if not (serializer.is_valid()):
4566 response = {"error": "validation",
4567 "specific_error": "not serializer.is_valid()",
\r
4568 "reasons": serializer.errors}
\r
4569 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4570 obj = serializer.object
4571 obj.caller = request.user
4572 if obj.can_update(request.user):
4573 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4575 raise Exception("failed obj.can_update")
4577 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4578 if (ret.status_code%100 != 200):
4579 raise Exception(ret.data)
4584 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4585 queryset = NetworkSlice.objects.select_related().all()
4586 serializer_class = NetworkSliceSerializer
4587 id_serializer_class = NetworkSliceIdSerializer
4589 def get_serializer_class(self):
4590 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4592 return self.id_serializer_class
4594 return self.serializer_class
4596 def get_queryset(self):
4597 return NetworkSlice.select_by_user(self.request.user)
4599 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4601 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4605 class UserDashboardViewList(generics.ListCreateAPIView):
4606 queryset = UserDashboardView.objects.select_related().all()
4607 serializer_class = UserDashboardViewSerializer
4608 id_serializer_class = UserDashboardViewIdSerializer
4609 filter_backends = (filters.DjangoFilterBackend,)
4610 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4612 def get_serializer_class(self):
4613 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4615 return self.id_serializer_class
4617 return self.serializer_class
4619 def get_queryset(self):
4620 return UserDashboardView.select_by_user(self.request.user)
4622 def create(self, request, *args, **kwargs):
4623 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4624 if not (serializer.is_valid()):
4625 response = {"error": "validation",
4626 "specific_error": "not serializer.is_valid()",
\r
4627 "reasons": serializer.errors}
\r
4628 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4629 obj = serializer.object
4630 obj.caller = request.user
4631 if obj.can_update(request.user):
4632 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4634 raise Exception("failed obj.can_update")
4636 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4637 if (ret.status_code%100 != 200):
4638 raise Exception(ret.data)
4643 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4644 queryset = UserDashboardView.objects.select_related().all()
4645 serializer_class = UserDashboardViewSerializer
4646 id_serializer_class = UserDashboardViewIdSerializer
4648 def get_serializer_class(self):
4649 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4651 return self.id_serializer_class
4653 return self.serializer_class
4655 def get_queryset(self):
4656 return UserDashboardView.select_by_user(self.request.user)
4658 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4660 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4664 class ControllerList(generics.ListCreateAPIView):
4665 queryset = Controller.objects.select_related().all()
4666 serializer_class = ControllerSerializer
4667 id_serializer_class = ControllerIdSerializer
4668 filter_backends = (filters.DjangoFilterBackend,)
4669 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
4671 def get_serializer_class(self):
4672 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4674 return self.id_serializer_class
4676 return self.serializer_class
4678 def get_queryset(self):
4679 return Controller.select_by_user(self.request.user)
4681 def create(self, request, *args, **kwargs):
4682 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4683 if not (serializer.is_valid()):
4684 response = {"error": "validation",
4685 "specific_error": "not serializer.is_valid()",
\r
4686 "reasons": serializer.errors}
\r
4687 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4688 obj = serializer.object
4689 obj.caller = request.user
4690 if obj.can_update(request.user):
4691 return super(ControllerList, self).create(request, *args, **kwargs)
4693 raise Exception("failed obj.can_update")
4695 ret = super(ControllerList, self).create(request, *args, **kwargs)
4696 if (ret.status_code%100 != 200):
4697 raise Exception(ret.data)
4702 class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4703 queryset = Controller.objects.select_related().all()
4704 serializer_class = ControllerSerializer
4705 id_serializer_class = ControllerIdSerializer
4707 def get_serializer_class(self):
4708 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4710 return self.id_serializer_class
4712 return self.serializer_class
4714 def get_queryset(self):
4715 return Controller.select_by_user(self.request.user)
4717 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4719 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4723 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4724 queryset = PlanetStackPrivilege.objects.select_related().all()
4725 serializer_class = PlanetStackPrivilegeSerializer
4726 id_serializer_class = PlanetStackPrivilegeIdSerializer
4727 filter_backends = (filters.DjangoFilterBackend,)
4728 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4730 def get_serializer_class(self):
4731 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4733 return self.id_serializer_class
4735 return self.serializer_class
4737 def get_queryset(self):
4738 return PlanetStackPrivilege.select_by_user(self.request.user)
4740 def create(self, request, *args, **kwargs):
4741 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4742 if not (serializer.is_valid()):
4743 response = {"error": "validation",
4744 "specific_error": "not serializer.is_valid()",
\r
4745 "reasons": serializer.errors}
\r
4746 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4747 obj = serializer.object
4748 obj.caller = request.user
4749 if obj.can_update(request.user):
4750 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4752 raise Exception("failed obj.can_update")
4754 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4755 if (ret.status_code%100 != 200):
4756 raise Exception(ret.data)
4761 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4762 queryset = PlanetStackPrivilege.objects.select_related().all()
4763 serializer_class = PlanetStackPrivilegeSerializer
4764 id_serializer_class = PlanetStackPrivilegeIdSerializer
4766 def get_serializer_class(self):
4767 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4769 return self.id_serializer_class
4771 return self.serializer_class
4773 def get_queryset(self):
4774 return PlanetStackPrivilege.select_by_user(self.request.user)
4776 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4778 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4782 class UserList(generics.ListCreateAPIView):
4783 queryset = User.objects.select_related().all()
4784 serializer_class = UserSerializer
4785 id_serializer_class = UserIdSerializer
4786 filter_backends = (filters.DjangoFilterBackend,)
4787 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',)
4789 def get_serializer_class(self):
4790 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4792 return self.id_serializer_class
4794 return self.serializer_class
4796 def get_queryset(self):
4797 return User.select_by_user(self.request.user)
4799 def create(self, request, *args, **kwargs):
4800 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4801 if not (serializer.is_valid()):
4802 response = {"error": "validation",
4803 "specific_error": "not serializer.is_valid()",
\r
4804 "reasons": serializer.errors}
\r
4805 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4806 obj = serializer.object
4807 obj.caller = request.user
4808 if obj.can_update(request.user):
4809 return super(UserList, self).create(request, *args, **kwargs)
4811 raise Exception("failed obj.can_update")
4813 ret = super(UserList, self).create(request, *args, **kwargs)
4814 if (ret.status_code%100 != 200):
4815 raise Exception(ret.data)
4820 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4821 queryset = User.objects.select_related().all()
4822 serializer_class = UserSerializer
4823 id_serializer_class = UserIdSerializer
4825 def get_serializer_class(self):
4826 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4828 return self.id_serializer_class
4830 return self.serializer_class
4832 def get_queryset(self):
4833 return User.select_by_user(self.request.user)
4835 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4837 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4841 class DeploymentList(generics.ListCreateAPIView):
4842 queryset = Deployment.objects.select_related().all()
4843 serializer_class = DeploymentSerializer
4844 id_serializer_class = DeploymentIdSerializer
4845 filter_backends = (filters.DjangoFilterBackend,)
4846 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','images','sites','flavors',)
4848 def get_serializer_class(self):
4849 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4851 return self.id_serializer_class
4853 return self.serializer_class
4855 def get_queryset(self):
4856 return Deployment.select_by_user(self.request.user)
4858 def create(self, request, *args, **kwargs):
4859 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4860 if not (serializer.is_valid()):
4861 response = {"error": "validation",
4862 "specific_error": "not serializer.is_valid()",
\r
4863 "reasons": serializer.errors}
\r
4864 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4865 obj = serializer.object
4866 obj.caller = request.user
4867 if obj.can_update(request.user):
4868 return super(DeploymentList, self).create(request, *args, **kwargs)
4870 raise Exception("failed obj.can_update")
4872 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4873 if (ret.status_code%100 != 200):
4874 raise Exception(ret.data)
4879 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4880 queryset = Deployment.objects.select_related().all()
4881 serializer_class = DeploymentSerializer
4882 id_serializer_class = DeploymentIdSerializer
4884 def get_serializer_class(self):
4885 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4887 return self.id_serializer_class
4889 return self.serializer_class
4891 def get_queryset(self):
4892 return Deployment.select_by_user(self.request.user)
4894 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4896 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4900 class ReservationList(generics.ListCreateAPIView):
4901 queryset = Reservation.objects.select_related().all()
4902 serializer_class = ReservationSerializer
4903 id_serializer_class = ReservationIdSerializer
4904 filter_backends = (filters.DjangoFilterBackend,)
4905 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4907 def get_serializer_class(self):
4908 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4910 return self.id_serializer_class
4912 return self.serializer_class
4914 def get_queryset(self):
4915 return Reservation.select_by_user(self.request.user)
4917 def create(self, request, *args, **kwargs):
4918 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4919 if not (serializer.is_valid()):
4920 response = {"error": "validation",
4921 "specific_error": "not serializer.is_valid()",
\r
4922 "reasons": serializer.errors}
\r
4923 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4924 obj = serializer.object
4925 obj.caller = request.user
4926 if obj.can_update(request.user):
4927 return super(ReservationList, self).create(request, *args, **kwargs)
4929 raise Exception("failed obj.can_update")
4931 ret = super(ReservationList, self).create(request, *args, **kwargs)
4932 if (ret.status_code%100 != 200):
4933 raise Exception(ret.data)
4938 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4939 queryset = Reservation.objects.select_related().all()
4940 serializer_class = ReservationSerializer
4941 id_serializer_class = ReservationIdSerializer
4943 def get_serializer_class(self):
4944 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4946 return self.id_serializer_class
4948 return self.serializer_class
4950 def get_queryset(self):
4951 return Reservation.select_by_user(self.request.user)
4953 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4955 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4959 class SitePrivilegeList(generics.ListCreateAPIView):
4960 queryset = SitePrivilege.objects.select_related().all()
4961 serializer_class = SitePrivilegeSerializer
4962 id_serializer_class = SitePrivilegeIdSerializer
4963 filter_backends = (filters.DjangoFilterBackend,)
4964 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4966 def get_serializer_class(self):
4967 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4969 return self.id_serializer_class
4971 return self.serializer_class
4973 def get_queryset(self):
4974 return SitePrivilege.select_by_user(self.request.user)
4976 def create(self, request, *args, **kwargs):
4977 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4978 if not (serializer.is_valid()):
4979 response = {"error": "validation",
4980 "specific_error": "not serializer.is_valid()",
\r
4981 "reasons": serializer.errors}
\r
4982 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4983 obj = serializer.object
4984 obj.caller = request.user
4985 if obj.can_update(request.user):
4986 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4988 raise Exception("failed obj.can_update")
4990 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4991 if (ret.status_code%100 != 200):
4992 raise Exception(ret.data)
4997 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4998 queryset = SitePrivilege.objects.select_related().all()
4999 serializer_class = SitePrivilegeSerializer
5000 id_serializer_class = SitePrivilegeIdSerializer
5002 def get_serializer_class(self):
5003 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5005 return self.id_serializer_class
5007 return self.serializer_class
5009 def get_queryset(self):
5010 return SitePrivilege.select_by_user(self.request.user)
5012 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5014 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5018 class ControllerSliceList(generics.ListCreateAPIView):
5019 queryset = ControllerSlice.objects.select_related().all()
5020 serializer_class = ControllerSliceSerializer
5021 id_serializer_class = ControllerSliceIdSerializer
5022 filter_backends = (filters.DjangoFilterBackend,)
5023 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
5025 def get_serializer_class(self):
5026 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5028 return self.id_serializer_class
5030 return self.serializer_class
5032 def get_queryset(self):
5033 return ControllerSlice.select_by_user(self.request.user)
5035 def create(self, request, *args, **kwargs):
5036 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5037 if not (serializer.is_valid()):
5038 response = {"error": "validation",
5039 "specific_error": "not serializer.is_valid()",
\r
5040 "reasons": serializer.errors}
\r
5041 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5042 obj = serializer.object
5043 obj.caller = request.user
5044 if obj.can_update(request.user):
5045 return super(ControllerSliceList, self).create(request, *args, **kwargs)
5047 raise Exception("failed obj.can_update")
5049 ret = super(ControllerSliceList, self).create(request, *args, **kwargs)
5050 if (ret.status_code%100 != 200):
5051 raise Exception(ret.data)
5056 class ControllerSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5057 queryset = ControllerSlice.objects.select_related().all()
5058 serializer_class = ControllerSliceSerializer
5059 id_serializer_class = ControllerSliceIdSerializer
5061 def get_serializer_class(self):
5062 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5064 return self.id_serializer_class
5066 return self.serializer_class
5068 def get_queryset(self):
5069 return ControllerSlice.select_by_user(self.request.user)
5071 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5073 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5077 class ControllerDashboardViewList(generics.ListCreateAPIView):
5078 queryset = ControllerDashboardView.objects.select_related().all()
5079 serializer_class = ControllerDashboardViewSerializer
5080 id_serializer_class = ControllerDashboardViewIdSerializer
5081 filter_backends = (filters.DjangoFilterBackend,)
5082 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
5084 def get_serializer_class(self):
5085 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5087 return self.id_serializer_class
5089 return self.serializer_class
5091 def get_queryset(self):
5092 return ControllerDashboardView.select_by_user(self.request.user)
5094 def create(self, request, *args, **kwargs):
5095 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5096 if not (serializer.is_valid()):
5097 response = {"error": "validation",
5098 "specific_error": "not serializer.is_valid()",
\r
5099 "reasons": serializer.errors}
\r
5100 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5101 obj = serializer.object
5102 obj.caller = request.user
5103 if obj.can_update(request.user):
5104 return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
5106 raise Exception("failed obj.can_update")
5108 ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
5109 if (ret.status_code%100 != 200):
5110 raise Exception(ret.data)
5115 class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5116 queryset = ControllerDashboardView.objects.select_related().all()
5117 serializer_class = ControllerDashboardViewSerializer
5118 id_serializer_class = ControllerDashboardViewIdSerializer
5120 def get_serializer_class(self):
5121 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5123 return self.id_serializer_class
5125 return self.serializer_class
5127 def get_queryset(self):
5128 return ControllerDashboardView.select_by_user(self.request.user)
5130 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5132 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5136 class AccountList(generics.ListCreateAPIView):
5137 queryset = Account.objects.select_related().all()
5138 serializer_class = AccountSerializer
5139 id_serializer_class = AccountIdSerializer
5140 filter_backends = (filters.DjangoFilterBackend,)
5141 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
5143 def get_serializer_class(self):
5144 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5146 return self.id_serializer_class
5148 return self.serializer_class
5150 def get_queryset(self):
5151 return Account.select_by_user(self.request.user)
5153 def create(self, request, *args, **kwargs):
5154 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5155 if not (serializer.is_valid()):
5156 response = {"error": "validation",
5157 "specific_error": "not serializer.is_valid()",
\r
5158 "reasons": serializer.errors}
\r
5159 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5160 obj = serializer.object
5161 obj.caller = request.user
5162 if obj.can_update(request.user):
5163 return super(AccountList, self).create(request, *args, **kwargs)
5165 raise Exception("failed obj.can_update")
5167 ret = super(AccountList, self).create(request, *args, **kwargs)
5168 if (ret.status_code%100 != 200):
5169 raise Exception(ret.data)
5174 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5175 queryset = Account.objects.select_related().all()
5176 serializer_class = AccountSerializer
5177 id_serializer_class = AccountIdSerializer
5179 def get_serializer_class(self):
5180 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5182 return self.id_serializer_class
5184 return self.serializer_class
5186 def get_queryset(self):
5187 return Account.select_by_user(self.request.user)
5189 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5191 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5195 class ControllerRoleList(generics.ListCreateAPIView):
5196 queryset = ControllerRole.objects.select_related().all()
5197 serializer_class = ControllerRoleSerializer
5198 id_serializer_class = ControllerRoleIdSerializer
5199 filter_backends = (filters.DjangoFilterBackend,)
5200 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5202 def get_serializer_class(self):
5203 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5205 return self.id_serializer_class
5207 return self.serializer_class
5209 def get_queryset(self):
5210 return ControllerRole.select_by_user(self.request.user)
5212 def create(self, request, *args, **kwargs):
5213 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5214 if not (serializer.is_valid()):
5215 response = {"error": "validation",
5216 "specific_error": "not serializer.is_valid()",
\r
5217 "reasons": serializer.errors}
\r
5218 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5219 obj = serializer.object
5220 obj.caller = request.user
5221 if obj.can_update(request.user):
5222 return super(ControllerRoleList, self).create(request, *args, **kwargs)
5224 raise Exception("failed obj.can_update")
5226 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
5227 if (ret.status_code%100 != 200):
5228 raise Exception(ret.data)
5233 class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5234 queryset = ControllerRole.objects.select_related().all()
5235 serializer_class = ControllerRoleSerializer
5236 id_serializer_class = ControllerRoleIdSerializer
5238 def get_serializer_class(self):
5239 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5241 return self.id_serializer_class
5243 return self.serializer_class
5245 def get_queryset(self):
5246 return ControllerRole.select_by_user(self.request.user)
5248 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5250 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5254 class NetworkParameterTypeList(generics.ListCreateAPIView):
5255 queryset = NetworkParameterType.objects.select_related().all()
5256 serializer_class = NetworkParameterTypeSerializer
5257 id_serializer_class = NetworkParameterTypeIdSerializer
5258 filter_backends = (filters.DjangoFilterBackend,)
5259 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
5261 def get_serializer_class(self):
5262 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5264 return self.id_serializer_class
5266 return self.serializer_class
5268 def get_queryset(self):
5269 return NetworkParameterType.select_by_user(self.request.user)
5271 def create(self, request, *args, **kwargs):
5272 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5273 if not (serializer.is_valid()):
5274 response = {"error": "validation",
5275 "specific_error": "not serializer.is_valid()",
\r
5276 "reasons": serializer.errors}
\r
5277 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5278 obj = serializer.object
5279 obj.caller = request.user
5280 if obj.can_update(request.user):
5281 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5283 raise Exception("failed obj.can_update")
5285 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5286 if (ret.status_code%100 != 200):
5287 raise Exception(ret.data)
5292 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5293 queryset = NetworkParameterType.objects.select_related().all()
5294 serializer_class = NetworkParameterTypeSerializer
5295 id_serializer_class = NetworkParameterTypeIdSerializer
5297 def get_serializer_class(self):
5298 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5300 return self.id_serializer_class
5302 return self.serializer_class
5304 def get_queryset(self):
5305 return NetworkParameterType.select_by_user(self.request.user)
5307 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5309 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5313 class SiteCredentialList(generics.ListCreateAPIView):
5314 queryset = SiteCredential.objects.select_related().all()
5315 serializer_class = SiteCredentialSerializer
5316 id_serializer_class = SiteCredentialIdSerializer
5317 filter_backends = (filters.DjangoFilterBackend,)
5318 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
5320 def get_serializer_class(self):
5321 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5323 return self.id_serializer_class
5325 return self.serializer_class
5327 def get_queryset(self):
5328 return SiteCredential.select_by_user(self.request.user)
5330 def create(self, request, *args, **kwargs):
5331 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5332 if not (serializer.is_valid()):
5333 response = {"error": "validation",
5334 "specific_error": "not serializer.is_valid()",
\r
5335 "reasons": serializer.errors}
\r
5336 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5337 obj = serializer.object
5338 obj.caller = request.user
5339 if obj.can_update(request.user):
5340 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5342 raise Exception("failed obj.can_update")
5344 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5345 if (ret.status_code%100 != 200):
5346 raise Exception(ret.data)
5351 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5352 queryset = SiteCredential.objects.select_related().all()
5353 serializer_class = SiteCredentialSerializer
5354 id_serializer_class = SiteCredentialIdSerializer
5356 def get_serializer_class(self):
5357 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5359 return self.id_serializer_class
5361 return self.serializer_class
5363 def get_queryset(self):
5364 return SiteCredential.select_by_user(self.request.user)
5366 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5368 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5372 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5373 queryset = DeploymentPrivilege.objects.select_related().all()
5374 serializer_class = DeploymentPrivilegeSerializer
5375 id_serializer_class = DeploymentPrivilegeIdSerializer
5376 filter_backends = (filters.DjangoFilterBackend,)
5377 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5379 def get_serializer_class(self):
5380 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5382 return self.id_serializer_class
5384 return self.serializer_class
5386 def get_queryset(self):
5387 return DeploymentPrivilege.select_by_user(self.request.user)
5389 def create(self, request, *args, **kwargs):
5390 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5391 if not (serializer.is_valid()):
5392 response = {"error": "validation",
5393 "specific_error": "not serializer.is_valid()",
\r
5394 "reasons": serializer.errors}
\r
5395 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5396 obj = serializer.object
5397 obj.caller = request.user
5398 if obj.can_update(request.user):
5399 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5401 raise Exception("failed obj.can_update")
5403 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5404 if (ret.status_code%100 != 200):
5405 raise Exception(ret.data)
5410 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5411 queryset = DeploymentPrivilege.objects.select_related().all()
5412 serializer_class = DeploymentPrivilegeSerializer
5413 id_serializer_class = DeploymentPrivilegeIdSerializer
5415 def get_serializer_class(self):
5416 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5418 return self.id_serializer_class
5420 return self.serializer_class
5422 def get_queryset(self):
5423 return DeploymentPrivilege.select_by_user(self.request.user)
5425 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5427 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5431 class ControllerSlicePrivilegeList(generics.ListCreateAPIView):
5432 queryset = ControllerSlicePrivilege.objects.select_related().all()
5433 serializer_class = ControllerSlicePrivilegeSerializer
5434 id_serializer_class = ControllerSlicePrivilegeIdSerializer
5435 filter_backends = (filters.DjangoFilterBackend,)
5436 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice_privilege','role_id',)
5438 def get_serializer_class(self):
5439 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5441 return self.id_serializer_class
5443 return self.serializer_class
5445 def get_queryset(self):
5446 return ControllerSlicePrivilege.select_by_user(self.request.user)
5448 def create(self, request, *args, **kwargs):
5449 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5450 if not (serializer.is_valid()):
5451 response = {"error": "validation",
5452 "specific_error": "not serializer.is_valid()",
\r
5453 "reasons": serializer.errors}
\r
5454 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5455 obj = serializer.object
5456 obj.caller = request.user
5457 if obj.can_update(request.user):
5458 return super(ControllerSlicePrivilegeList, self).create(request, *args, **kwargs)
5460 raise Exception("failed obj.can_update")
5462 ret = super(ControllerSlicePrivilegeList, self).create(request, *args, **kwargs)
5463 if (ret.status_code%100 != 200):
5464 raise Exception(ret.data)
5469 class ControllerSlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5470 queryset = ControllerSlicePrivilege.objects.select_related().all()
5471 serializer_class = ControllerSlicePrivilegeSerializer
5472 id_serializer_class = ControllerSlicePrivilegeIdSerializer
5474 def get_serializer_class(self):
5475 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5477 return self.id_serializer_class
5479 return self.serializer_class
5481 def get_queryset(self):
5482 return ControllerSlicePrivilege.select_by_user(self.request.user)
5484 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5486 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5490 class SiteDeploymentList(generics.ListCreateAPIView):
5491 queryset = SiteDeployment.objects.select_related().all()
5492 serializer_class = SiteDeploymentSerializer
5493 id_serializer_class = SiteDeploymentIdSerializer
5494 filter_backends = (filters.DjangoFilterBackend,)
5495 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
5497 def get_serializer_class(self):
5498 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5500 return self.id_serializer_class
5502 return self.serializer_class
5504 def get_queryset(self):
5505 return SiteDeployment.select_by_user(self.request.user)
5507 def create(self, request, *args, **kwargs):
5508 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5509 if not (serializer.is_valid()):
5510 response = {"error": "validation",
5511 "specific_error": "not serializer.is_valid()",
\r
5512 "reasons": serializer.errors}
\r
5513 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5514 obj = serializer.object
5515 obj.caller = request.user
5516 if obj.can_update(request.user):
5517 return super(SiteDeploymentList, self).create(request, *args, **kwargs)
5519 raise Exception("failed obj.can_update")
5521 ret = super(SiteDeploymentList, self).create(request, *args, **kwargs)
5522 if (ret.status_code%100 != 200):
5523 raise Exception(ret.data)
5528 class SiteDeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5529 queryset = SiteDeployment.objects.select_related().all()
5530 serializer_class = SiteDeploymentSerializer
5531 id_serializer_class = SiteDeploymentIdSerializer
5533 def get_serializer_class(self):
5534 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5536 return self.id_serializer_class
5538 return self.serializer_class
5540 def get_queryset(self):
5541 return SiteDeployment.select_by_user(self.request.user)
5543 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5545 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5549 class DeploymentRoleList(generics.ListCreateAPIView):
5550 queryset = DeploymentRole.objects.select_related().all()
5551 serializer_class = DeploymentRoleSerializer
5552 id_serializer_class = DeploymentRoleIdSerializer
5553 filter_backends = (filters.DjangoFilterBackend,)
5554 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5556 def get_serializer_class(self):
5557 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5559 return self.id_serializer_class
5561 return self.serializer_class
5563 def get_queryset(self):
5564 return DeploymentRole.select_by_user(self.request.user)
5566 def create(self, request, *args, **kwargs):
5567 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5568 if not (serializer.is_valid()):
5569 response = {"error": "validation",
5570 "specific_error": "not serializer.is_valid()",
\r
5571 "reasons": serializer.errors}
\r
5572 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5573 obj = serializer.object
5574 obj.caller = request.user
5575 if obj.can_update(request.user):
5576 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5578 raise Exception("failed obj.can_update")
5580 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5581 if (ret.status_code%100 != 200):
5582 raise Exception(ret.data)
5587 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5588 queryset = DeploymentRole.objects.select_related().all()
5589 serializer_class = DeploymentRoleSerializer
5590 id_serializer_class = DeploymentRoleIdSerializer
5592 def get_serializer_class(self):
5593 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5595 return self.id_serializer_class
5597 return self.serializer_class
5599 def get_queryset(self):
5600 return DeploymentRole.select_by_user(self.request.user)
5602 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5604 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5608 class UserCredentialList(generics.ListCreateAPIView):
5609 queryset = UserCredential.objects.select_related().all()
5610 serializer_class = UserCredentialSerializer
5611 id_serializer_class = UserCredentialIdSerializer
5612 filter_backends = (filters.DjangoFilterBackend,)
5613 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5615 def get_serializer_class(self):
5616 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5618 return self.id_serializer_class
5620 return self.serializer_class
5622 def get_queryset(self):
5623 return UserCredential.select_by_user(self.request.user)
5625 def create(self, request, *args, **kwargs):
5626 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5627 if not (serializer.is_valid()):
5628 response = {"error": "validation",
5629 "specific_error": "not serializer.is_valid()",
\r
5630 "reasons": serializer.errors}
\r
5631 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5632 obj = serializer.object
5633 obj.caller = request.user
5634 if obj.can_update(request.user):
5635 return super(UserCredentialList, self).create(request, *args, **kwargs)
5637 raise Exception("failed obj.can_update")
5639 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5640 if (ret.status_code%100 != 200):
5641 raise Exception(ret.data)
5646 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5647 queryset = UserCredential.objects.select_related().all()
5648 serializer_class = UserCredentialSerializer
5649 id_serializer_class = UserCredentialIdSerializer
5651 def get_serializer_class(self):
5652 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5654 return self.id_serializer_class
5656 return self.serializer_class
5658 def get_queryset(self):
5659 return UserCredential.select_by_user(self.request.user)
5661 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5663 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5667 class SliceTagList(generics.ListCreateAPIView):
5668 queryset = SliceTag.objects.select_related().all()
5669 serializer_class = SliceTagSerializer
5670 id_serializer_class = SliceTagIdSerializer
5671 filter_backends = (filters.DjangoFilterBackend,)
5672 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5674 def get_serializer_class(self):
5675 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5677 return self.id_serializer_class
5679 return self.serializer_class
5681 def get_queryset(self):
5682 return SliceTag.select_by_user(self.request.user)
5684 def create(self, request, *args, **kwargs):
5685 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5686 if not (serializer.is_valid()):
5687 response = {"error": "validation",
5688 "specific_error": "not serializer.is_valid()",
\r
5689 "reasons": serializer.errors}
\r
5690 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5691 obj = serializer.object
5692 obj.caller = request.user
5693 if obj.can_update(request.user):
5694 return super(SliceTagList, self).create(request, *args, **kwargs)
5696 raise Exception("failed obj.can_update")
5698 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5699 if (ret.status_code%100 != 200):
5700 raise Exception(ret.data)
5705 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5706 queryset = SliceTag.objects.select_related().all()
5707 serializer_class = SliceTagSerializer
5708 id_serializer_class = SliceTagIdSerializer
5710 def get_serializer_class(self):
5711 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5713 return self.id_serializer_class
5715 return self.serializer_class
5717 def get_queryset(self):
5718 return SliceTag.select_by_user(self.request.user)
5720 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5722 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5726 class NetworkTemplateList(generics.ListCreateAPIView):
5727 queryset = NetworkTemplate.objects.select_related().all()
5728 serializer_class = NetworkTemplateSerializer
5729 id_serializer_class = NetworkTemplateIdSerializer
5730 filter_backends = (filters.DjangoFilterBackend,)
5731 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',)
5733 def get_serializer_class(self):
5734 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5736 return self.id_serializer_class
5738 return self.serializer_class
5740 def get_queryset(self):
5741 return NetworkTemplate.select_by_user(self.request.user)
5743 def create(self, request, *args, **kwargs):
5744 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5745 if not (serializer.is_valid()):
5746 response = {"error": "validation",
5747 "specific_error": "not serializer.is_valid()",
\r
5748 "reasons": serializer.errors}
\r
5749 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5750 obj = serializer.object
5751 obj.caller = request.user
5752 if obj.can_update(request.user):
5753 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
5755 raise Exception("failed obj.can_update")
5757 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
5758 if (ret.status_code%100 != 200):
5759 raise Exception(ret.data)
5764 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5765 queryset = NetworkTemplate.objects.select_related().all()
5766 serializer_class = NetworkTemplateSerializer
5767 id_serializer_class = NetworkTemplateIdSerializer
5769 def get_serializer_class(self):
5770 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5772 return self.id_serializer_class
5774 return self.serializer_class
5776 def get_queryset(self):
5777 return NetworkTemplate.select_by_user(self.request.user)
5779 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5781 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5785 class RouterList(generics.ListCreateAPIView):
5786 queryset = Router.objects.select_related().all()
5787 serializer_class = RouterSerializer
5788 id_serializer_class = RouterIdSerializer
5789 filter_backends = (filters.DjangoFilterBackend,)
5790 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
5792 def get_serializer_class(self):
5793 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5795 return self.id_serializer_class
5797 return self.serializer_class
5799 def get_queryset(self):
5800 return Router.select_by_user(self.request.user)
5802 def create(self, request, *args, **kwargs):
5803 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5804 if not (serializer.is_valid()):
5805 response = {"error": "validation",
5806 "specific_error": "not serializer.is_valid()",
\r
5807 "reasons": serializer.errors}
\r
5808 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5809 obj = serializer.object
5810 obj.caller = request.user
5811 if obj.can_update(request.user):
5812 return super(RouterList, self).create(request, *args, **kwargs)
5814 raise Exception("failed obj.can_update")
5816 ret = super(RouterList, self).create(request, *args, **kwargs)
5817 if (ret.status_code%100 != 200):
5818 raise Exception(ret.data)
5823 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5824 queryset = Router.objects.select_related().all()
5825 serializer_class = RouterSerializer
5826 id_serializer_class = RouterIdSerializer
5828 def get_serializer_class(self):
5829 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5831 return self.id_serializer_class
5833 return self.serializer_class
5835 def get_queryset(self):
5836 return Router.select_by_user(self.request.user)
5838 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5840 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5844 class ServiceResourceList(generics.ListCreateAPIView):
5845 queryset = ServiceResource.objects.select_related().all()
5846 serializer_class = ServiceResourceSerializer
5847 id_serializer_class = ServiceResourceIdSerializer
5848 filter_backends = (filters.DjangoFilterBackend,)
5849 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5851 def get_serializer_class(self):
5852 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5854 return self.id_serializer_class
5856 return self.serializer_class
5858 def get_queryset(self):
5859 return ServiceResource.select_by_user(self.request.user)
5861 def create(self, request, *args, **kwargs):
5862 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5863 if not (serializer.is_valid()):
5864 response = {"error": "validation",
5865 "specific_error": "not serializer.is_valid()",
\r
5866 "reasons": serializer.errors}
\r
5867 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5868 obj = serializer.object
5869 obj.caller = request.user
5870 if obj.can_update(request.user):
5871 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5873 raise Exception("failed obj.can_update")
5875 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5876 if (ret.status_code%100 != 200):
5877 raise Exception(ret.data)
5882 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5883 queryset = ServiceResource.objects.select_related().all()
5884 serializer_class = ServiceResourceSerializer
5885 id_serializer_class = ServiceResourceIdSerializer
5887 def get_serializer_class(self):
5888 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5890 return self.id_serializer_class
5892 return self.serializer_class
5894 def get_queryset(self):
5895 return ServiceResource.select_by_user(self.request.user)
5897 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5899 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView