1 from rest_framework.decorators import api_view
2 from rest_framework.response import Response
3 from rest_framework.reverse import reverse
4 from rest_framework import serializers
5 from rest_framework import generics
6 from rest_framework import status
7 from rest_framework.generics import GenericAPIView
8 from core.models import *
9 from django.forms import widgets
10 from rest_framework import filters
11 from django.conf.urls import patterns, url
13 if hasattr(serializers, "ReadOnlyField"):
15 IdField = serializers.ReadOnlyField
18 IdField = serializers.Field
21 Schema of the generator object:
22 all: Set of all Model objects
23 all_if(regex): Set of Model objects that match regex
26 plural: English plural of object name
27 camel: CamelCase version of object name
28 refs: list of references to other Model objects
29 props: list of properties minus refs
31 TODO: Deal with subnets
34 def get_REST_patterns():
36 url(r'^plstackapi/$', api_root),
38 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
39 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
41 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
42 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
44 url(r'plstackapi/controllerimages/$', ControllerImagesList.as_view(), name='controllerimages-list'),
45 url(r'plstackapi/controllerimages/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerImagesDetail.as_view(), name ='controllerimages-detail'),
47 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
48 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
50 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
51 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
53 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
54 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
56 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
57 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
59 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
60 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
62 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
63 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
65 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
66 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
68 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
69 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
71 url(r'plstackapi/controllerprivileges/$', ControllerPrivilegeList.as_view(), name='controllerprivilege-list'),
72 url(r'plstackapi/controllerprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerPrivilegeDetail.as_view(), name ='controllerprivilege-detail'),
74 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
75 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
77 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
78 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
80 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
81 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
83 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
84 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
86 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
87 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
89 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
90 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
92 url(r'plstackapi/controllernetworks/$', ControllerNetworksList.as_view(), name='controllernetworks-list'),
93 url(r'plstackapi/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworksDetail.as_view(), name ='controllernetworks-detail'),
95 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
96 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
98 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
99 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
101 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
102 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
104 url(r'plstackapi/controllersitedeploymentses/$', ControllerSiteDeploymentsList.as_view(), name='controllersitedeployments-list'),
105 url(r'plstackapi/controllersitedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSiteDeploymentsDetail.as_view(), name ='controllersitedeployments-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/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
123 url(r'plstackapi/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
125 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
126 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
128 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
129 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
131 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
132 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
134 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
135 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
137 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
138 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
140 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
141 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
143 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
144 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
146 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
147 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
149 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
150 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
152 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
153 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
155 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
156 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
158 url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
159 url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
161 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
162 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
164 url(r'plstackapi/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
165 url(r'plstackapi/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
167 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
168 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
170 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
171 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
173 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
174 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
176 url(r'plstackapi/controllerusers/$', ControllerUsersList.as_view(), name='controllerusers-list'),
177 url(r'plstackapi/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUsersDetail.as_view(), name ='controllerusers-detail'),
179 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
180 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
182 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
183 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
185 url(r'plstackapi/sitedeployments/$', SiteDeploymentsList.as_view(), name='sitedeployments-list'),
186 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentsDetail.as_view(), name ='sitedeployments-detail'),
188 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
189 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
191 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
192 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
194 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
195 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
197 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
198 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
200 url(r'plstackapi/controllerslices/$', ControllerSlicesList.as_view(), name='controllerslices-list'),
201 url(r'plstackapi/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSlicesDetail.as_view(), name ='controllerslices-detail'),
206 def api_root(request, format=None):
208 'flavors': reverse('flavor-list', request=request, format=format),
209 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
210 'controllerimageses': reverse('controllerimages-list', request=request, format=format),
211 'images': reverse('image-list', request=request, format=format),
212 'networkparameters': reverse('networkparameter-list', request=request, format=format),
213 'sites': reverse('site-list', request=request, format=format),
214 'sliceroles': reverse('slicerole-list', request=request, format=format),
215 'tags': reverse('tag-list', request=request, format=format),
216 'invoices': reverse('invoice-list', request=request, format=format),
217 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
218 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
219 'controllerprivileges': reverse('controllerprivilege-list', request=request, format=format),
220 'networkslivers': reverse('networksliver-list', request=request, format=format),
221 'projects': reverse('project-list', request=request, format=format),
222 'slices': reverse('slice-list', request=request, format=format),
223 'networks': reverse('network-list', request=request, format=format),
224 'services': reverse('service-list', request=request, format=format),
225 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
226 'controllernetworkses': reverse('controllernetworks-list', request=request, format=format),
227 'charges': reverse('charge-list', request=request, format=format),
228 'roles': reverse('role-list', request=request, format=format),
229 'usableobjects': reverse('usableobject-list', request=request, format=format),
230 'controllersitedeploymentses': reverse('controllersitedeployments-list', request=request, format=format),
231 'siteroles': reverse('siterole-list', request=request, format=format),
232 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
233 'slivers': reverse('sliver-list', request=request, format=format),
234 'nodes': reverse('node-list', request=request, format=format),
235 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
236 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
237 'reservedresources': reverse('reservedresource-list', request=request, format=format),
238 'payments': reverse('payment-list', request=request, format=format),
239 'networkslices': reverse('networkslice-list', request=request, format=format),
240 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
241 'controllers': reverse('controller-list', request=request, format=format),
242 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
243 'users': reverse('user-list', request=request, format=format),
244 'deployments': reverse('deployment-list', request=request, format=format),
245 'reservations': reverse('reservation-list', request=request, format=format),
246 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
247 'planetstacks': reverse('planetstack-list', request=request, format=format),
248 'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
249 'accounts': reverse('account-list', request=request, format=format),
250 'controllerroles': reverse('controllerrole-list', request=request, format=format),
251 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
252 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
253 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
254 'controlleruserses': reverse('controllerusers-list', request=request, format=format),
255 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
256 'usercredentials': reverse('usercredential-list', request=request, format=format),
257 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
258 'slicetags': reverse('slicetag-list', request=request, format=format),
259 'networktemplates': reverse('networktemplate-list', request=request, format=format),
260 'routers': reverse('router-list', request=request, format=format),
261 'serviceresources': reverse('serviceresource-list', request=request, format=format),
262 'controllersliceses': reverse('controllerslices-list', request=request, format=format),
266 # Based on serializers.py
268 class XOSModelSerializer(serializers.ModelSerializer):
269 def save_object(self, obj, **kwargs):
271 """ rest_framework can't deal with ManyToMany relations that have a
272 through table. In plstackapi, most of the through tables we have
273 use defaults or blank fields, so there's no reason why we shouldn't
274 be able to save these objects.
276 So, let's strip out these m2m relations, and deal with them ourself.
278 obj._complex_m2m_data={};
\r
279 if getattr(obj, '_m2m_data', None):
\r
280 for relatedObject in obj._meta.get_all_related_many_to_many_objects():
\r
281 if (relatedObject.field.rel.through._meta.auto_created):
\r
282 # These are non-trough ManyToMany relations and
\r
283 # can be updated just fine
\r
285 fieldName = relatedObject.get_accessor_name()
\r
286 if fieldName in obj._m2m_data.keys():
\r
287 obj._complex_m2m_data[fieldName] = (relatedObject, obj._m2m_data[fieldName])
\r
288 del obj._m2m_data[fieldName]
\r
290 serializers.ModelSerializer.save_object(self, obj, **kwargs);
292 for (accessor, stuff) in obj._complex_m2m_data.items():
293 (relatedObject, data) = stuff
294 through = relatedObject.field.rel.through
295 local_fieldName = relatedObject.field.m2m_reverse_field_name()
296 remote_fieldName = relatedObject.field.m2m_field_name()
298 # get the current set of existing relations
299 existing = through.objects.filter(**{local_fieldName: obj});
301 data_ids = [item.id for item in data]
302 existing_ids = [getattr(item,remote_fieldName).id for item in existing]
304 #print "data_ids", data_ids
305 #print "existing_ids", existing_ids
307 # remove relations that are in 'existing' but not in 'data'
308 for item in list(existing):
309 if (getattr(item,remote_fieldName).id not in data_ids):
310 print "delete", getattr(item,remote_fieldName)
311 item.delete() #(purge=True)
313 # add relations that are in 'data' but not in 'existing'
315 if (item.id not in existing_ids):
317 newModel = through(**{local_fieldName: obj, remote_fieldName: item})
322 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
326 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
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()
340 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
342 class FlavorIdSerializer(XOSModelSerializer):
346 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
349 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
350 validators = serializers.SerializerMethodField("getValidators")
351 def getHumanReadableName(self, obj):
\r
353 def getValidators(self, obj):
\r
355 return obj.getValidators()
360 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
365 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
368 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
369 validators = serializers.SerializerMethodField("getValidators")
370 def getHumanReadableName(self, obj):
\r
372 def getValidators(self, obj):
374 return obj.getValidators()
378 model = ServiceAttribute
379 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
381 class ServiceAttributeIdSerializer(XOSModelSerializer):
384 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
385 validators = serializers.SerializerMethodField("getValidators")
386 def getHumanReadableName(self, obj):
\r
388 def getValidators(self, obj):
\r
390 return obj.getValidators()
394 model = ServiceAttribute
395 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
400 class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
403 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
404 validators = serializers.SerializerMethodField("getValidators")
405 def getHumanReadableName(self, obj):
\r
407 def getValidators(self, obj):
409 return obj.getValidators()
413 model = ControllerImages
414 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
416 class ControllerImagesIdSerializer(XOSModelSerializer):
419 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
420 validators = serializers.SerializerMethodField("getValidators")
421 def getHumanReadableName(self, obj):
\r
423 def getValidators(self, obj):
\r
425 return obj.getValidators()
429 model = ControllerImages
430 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
435 class ImageSerializer(serializers.HyperlinkedModelSerializer):
439 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
442 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
443 validators = serializers.SerializerMethodField("getValidators")
444 def getHumanReadableName(self, obj):
\r
446 def getValidators(self, obj):
448 return obj.getValidators()
453 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
455 class ImageIdSerializer(XOSModelSerializer):
459 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
462 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
463 validators = serializers.SerializerMethodField("getValidators")
464 def getHumanReadableName(self, obj):
\r
466 def getValidators(self, obj):
\r
468 return obj.getValidators()
473 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
478 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
481 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
482 validators = serializers.SerializerMethodField("getValidators")
483 def getHumanReadableName(self, obj):
\r
485 def getValidators(self, obj):
487 return obj.getValidators()
491 model = NetworkParameter
492 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
494 class NetworkParameterIdSerializer(XOSModelSerializer):
497 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
498 validators = serializers.SerializerMethodField("getValidators")
499 def getHumanReadableName(self, obj):
\r
501 def getValidators(self, obj):
\r
503 return obj.getValidators()
507 model = NetworkParameter
508 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
513 class SiteSerializer(serializers.HyperlinkedModelSerializer):
517 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
520 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
521 validators = serializers.SerializerMethodField("getValidators")
522 def getHumanReadableName(self, obj):
\r
524 def getValidators(self, obj):
526 return obj.getValidators()
531 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
533 class SiteIdSerializer(XOSModelSerializer):
537 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
540 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
541 validators = serializers.SerializerMethodField("getValidators")
542 def getHumanReadableName(self, obj):
\r
544 def getValidators(self, obj):
\r
546 return obj.getValidators()
551 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
556 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
559 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
560 validators = serializers.SerializerMethodField("getValidators")
561 def getHumanReadableName(self, obj):
\r
563 def getValidators(self, obj):
565 return obj.getValidators()
570 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
572 class SliceRoleIdSerializer(XOSModelSerializer):
575 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
576 validators = serializers.SerializerMethodField("getValidators")
577 def getHumanReadableName(self, obj):
\r
579 def getValidators(self, obj):
\r
581 return obj.getValidators()
586 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
591 class TagSerializer(serializers.HyperlinkedModelSerializer):
594 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
595 validators = serializers.SerializerMethodField("getValidators")
596 def getHumanReadableName(self, obj):
\r
598 def getValidators(self, obj):
600 return obj.getValidators()
605 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
607 class TagIdSerializer(XOSModelSerializer):
610 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
611 validators = serializers.SerializerMethodField("getValidators")
612 def getHumanReadableName(self, obj):
\r
614 def getValidators(self, obj):
\r
616 return obj.getValidators()
621 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
626 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
629 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
630 validators = serializers.SerializerMethodField("getValidators")
631 def getHumanReadableName(self, obj):
\r
633 def getValidators(self, obj):
635 return obj.getValidators()
640 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
642 class InvoiceIdSerializer(XOSModelSerializer):
645 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
646 validators = serializers.SerializerMethodField("getValidators")
647 def getHumanReadableName(self, obj):
\r
649 def getValidators(self, obj):
\r
651 return obj.getValidators()
656 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
661 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
664 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
665 validators = serializers.SerializerMethodField("getValidators")
666 def getHumanReadableName(self, obj):
\r
668 def getValidators(self, obj):
670 return obj.getValidators()
674 model = SlicePrivilege
675 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
677 class SlicePrivilegeIdSerializer(XOSModelSerializer):
680 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
681 validators = serializers.SerializerMethodField("getValidators")
682 def getHumanReadableName(self, obj):
\r
684 def getValidators(self, obj):
\r
686 return obj.getValidators()
690 model = SlicePrivilege
691 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
696 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
699 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
700 validators = serializers.SerializerMethodField("getValidators")
701 def getHumanReadableName(self, obj):
\r
703 def getValidators(self, obj):
705 return obj.getValidators()
709 model = PlanetStackRole
710 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
712 class PlanetStackRoleIdSerializer(XOSModelSerializer):
715 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
716 validators = serializers.SerializerMethodField("getValidators")
717 def getHumanReadableName(self, obj):
\r
719 def getValidators(self, obj):
\r
721 return obj.getValidators()
725 model = PlanetStackRole
726 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
731 class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
734 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
735 validators = serializers.SerializerMethodField("getValidators")
736 def getHumanReadableName(self, obj):
\r
738 def getValidators(self, obj):
740 return obj.getValidators()
744 model = ControllerPrivilege
745 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
747 class ControllerPrivilegeIdSerializer(XOSModelSerializer):
750 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
751 validators = serializers.SerializerMethodField("getValidators")
752 def getHumanReadableName(self, obj):
\r
754 def getValidators(self, obj):
\r
756 return obj.getValidators()
760 model = ControllerPrivilege
761 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
766 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
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()
779 model = NetworkSliver
780 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
782 class NetworkSliverIdSerializer(XOSModelSerializer):
785 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
786 validators = serializers.SerializerMethodField("getValidators")
787 def getHumanReadableName(self, obj):
\r
789 def getValidators(self, obj):
\r
791 return obj.getValidators()
795 model = NetworkSliver
796 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
801 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
804 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
805 validators = serializers.SerializerMethodField("getValidators")
806 def getHumanReadableName(self, obj):
\r
808 def getValidators(self, obj):
810 return obj.getValidators()
815 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
817 class ProjectIdSerializer(XOSModelSerializer):
820 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
821 validators = serializers.SerializerMethodField("getValidators")
822 def getHumanReadableName(self, obj):
\r
824 def getValidators(self, obj):
\r
826 return obj.getValidators()
831 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
836 class SliceSerializer(serializers.HyperlinkedModelSerializer):
840 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
844 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
847 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
848 validators = serializers.SerializerMethodField("getValidators")
849 def getHumanReadableName(self, obj):
\r
851 def getValidators(self, obj):
853 return obj.getValidators()
858 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
860 class SliceIdSerializer(XOSModelSerializer):
864 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
868 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
871 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
872 validators = serializers.SerializerMethodField("getValidators")
873 def getHumanReadableName(self, obj):
\r
875 def getValidators(self, obj):
\r
877 return obj.getValidators()
882 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
887 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
891 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
895 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
899 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
903 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
907 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
910 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
911 validators = serializers.SerializerMethodField("getValidators")
912 def getHumanReadableName(self, obj):
\r
914 def getValidators(self, obj):
916 return obj.getValidators()
921 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
923 class NetworkIdSerializer(XOSModelSerializer):
927 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
931 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
935 slivers = serializers.PrimaryKeyRelatedField(many=True, queryset = Sliver.objects.all())
939 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
943 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
946 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
947 validators = serializers.SerializerMethodField("getValidators")
948 def getHumanReadableName(self, obj):
\r
950 def getValidators(self, obj):
\r
952 return obj.getValidators()
957 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
962 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
965 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
966 validators = serializers.SerializerMethodField("getValidators")
967 def getHumanReadableName(self, obj):
\r
969 def getValidators(self, obj):
971 return obj.getValidators()
976 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
978 class ServiceIdSerializer(XOSModelSerializer):
981 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
982 validators = serializers.SerializerMethodField("getValidators")
983 def getHumanReadableName(self, obj):
\r
985 def getValidators(self, obj):
\r
987 return obj.getValidators()
992 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
997 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
1000 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1001 validators = serializers.SerializerMethodField("getValidators")
1002 def getHumanReadableName(self, obj):
\r
1004 def getValidators(self, obj):
1006 return obj.getValidators()
1010 model = ServiceClass
1011 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1013 class ServiceClassIdSerializer(XOSModelSerializer):
1016 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1017 validators = serializers.SerializerMethodField("getValidators")
1018 def getHumanReadableName(self, obj):
\r
1020 def getValidators(self, obj):
\r
1022 return obj.getValidators()
1026 model = ServiceClass
1027 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1032 class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
1035 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1036 validators = serializers.SerializerMethodField("getValidators")
1037 def getHumanReadableName(self, obj):
\r
1039 def getValidators(self, obj):
1041 return obj.getValidators()
1045 model = ControllerNetworks
1046 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1048 class ControllerNetworksIdSerializer(XOSModelSerializer):
1051 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1052 validators = serializers.SerializerMethodField("getValidators")
1053 def getHumanReadableName(self, obj):
\r
1055 def getValidators(self, obj):
\r
1057 return obj.getValidators()
1061 model = ControllerNetworks
1062 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1067 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
1070 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1071 validators = serializers.SerializerMethodField("getValidators")
1072 def getHumanReadableName(self, obj):
\r
1074 def getValidators(self, obj):
1076 return obj.getValidators()
1081 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1083 class ChargeIdSerializer(XOSModelSerializer):
1086 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1087 validators = serializers.SerializerMethodField("getValidators")
1088 def getHumanReadableName(self, obj):
\r
1090 def getValidators(self, obj):
\r
1092 return obj.getValidators()
1097 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1102 class RoleSerializer(serializers.HyperlinkedModelSerializer):
1105 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1106 validators = serializers.SerializerMethodField("getValidators")
1107 def getHumanReadableName(self, obj):
\r
1109 def getValidators(self, obj):
1111 return obj.getValidators()
1116 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1118 class RoleIdSerializer(XOSModelSerializer):
1121 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1122 validators = serializers.SerializerMethodField("getValidators")
1123 def getHumanReadableName(self, obj):
\r
1125 def getValidators(self, obj):
\r
1127 return obj.getValidators()
1132 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1137 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
1140 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1141 validators = serializers.SerializerMethodField("getValidators")
1142 def getHumanReadableName(self, obj):
\r
1144 def getValidators(self, obj):
1146 return obj.getValidators()
1150 model = UsableObject
1151 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1153 class UsableObjectIdSerializer(XOSModelSerializer):
1156 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1157 validators = serializers.SerializerMethodField("getValidators")
1158 def getHumanReadableName(self, obj):
\r
1160 def getValidators(self, obj):
\r
1162 return obj.getValidators()
1166 model = UsableObject
1167 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1172 class ControllerSiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1175 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1176 validators = serializers.SerializerMethodField("getValidators")
1177 def getHumanReadableName(self, obj):
\r
1179 def getValidators(self, obj):
1181 return obj.getValidators()
1185 model = ControllerSiteDeployments
1186 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1188 class ControllerSiteDeploymentsIdSerializer(XOSModelSerializer):
1191 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1192 validators = serializers.SerializerMethodField("getValidators")
1193 def getHumanReadableName(self, obj):
\r
1195 def getValidators(self, obj):
\r
1197 return obj.getValidators()
1201 model = ControllerSiteDeployments
1202 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1207 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
1210 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1211 validators = serializers.SerializerMethodField("getValidators")
1212 def getHumanReadableName(self, obj):
\r
1214 def getValidators(self, obj):
1216 return obj.getValidators()
1221 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1223 class SiteRoleIdSerializer(XOSModelSerializer):
1226 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1227 validators = serializers.SerializerMethodField("getValidators")
1228 def getHumanReadableName(self, obj):
\r
1230 def getValidators(self, obj):
\r
1232 return obj.getValidators()
1237 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1242 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
1245 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1246 validators = serializers.SerializerMethodField("getValidators")
1247 def getHumanReadableName(self, obj):
\r
1249 def getValidators(self, obj):
1251 return obj.getValidators()
1255 model = SliceCredential
1256 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1258 class SliceCredentialIdSerializer(XOSModelSerializer):
1261 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1262 validators = serializers.SerializerMethodField("getValidators")
1263 def getHumanReadableName(self, obj):
\r
1265 def getValidators(self, obj):
\r
1267 return obj.getValidators()
1271 model = SliceCredential
1272 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1277 class SliverSerializer(serializers.HyperlinkedModelSerializer):
1281 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1284 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1285 validators = serializers.SerializerMethodField("getValidators")
1286 def getHumanReadableName(self, obj):
\r
1288 def getValidators(self, obj):
1290 return obj.getValidators()
1295 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
1297 class SliverIdSerializer(XOSModelSerializer):
1301 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
1304 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1305 validators = serializers.SerializerMethodField("getValidators")
1306 def getHumanReadableName(self, obj):
\r
1308 def getValidators(self, obj):
\r
1310 return obj.getValidators()
1315 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
1320 class NodeSerializer(serializers.HyperlinkedModelSerializer):
1323 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1324 validators = serializers.SerializerMethodField("getValidators")
1325 def getHumanReadableName(self, obj):
\r
1327 def getValidators(self, obj):
1329 return obj.getValidators()
1334 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1336 class NodeIdSerializer(XOSModelSerializer):
1339 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1340 validators = serializers.SerializerMethodField("getValidators")
1341 def getHumanReadableName(self, obj):
\r
1343 def getValidators(self, obj):
\r
1345 return obj.getValidators()
1350 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1355 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1359 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1362 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1363 validators = serializers.SerializerMethodField("getValidators")
1364 def getHumanReadableName(self, obj):
\r
1366 def getValidators(self, obj):
1368 return obj.getValidators()
1372 model = DashboardView
1373 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1375 class DashboardViewIdSerializer(XOSModelSerializer):
1379 controllers = serializers.PrimaryKeyRelatedField(many=True, queryset = Controller.objects.all())
1382 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1383 validators = serializers.SerializerMethodField("getValidators")
1384 def getHumanReadableName(self, obj):
\r
1386 def getValidators(self, obj):
\r
1388 return obj.getValidators()
1392 model = DashboardView
1393 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1398 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1401 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1402 validators = serializers.SerializerMethodField("getValidators")
1403 def getHumanReadableName(self, obj):
\r
1405 def getValidators(self, obj):
1407 return obj.getValidators()
1411 model = ImageDeployments
1412 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1414 class ImageDeploymentsIdSerializer(XOSModelSerializer):
1417 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1418 validators = serializers.SerializerMethodField("getValidators")
1419 def getHumanReadableName(self, obj):
\r
1421 def getValidators(self, obj):
\r
1423 return obj.getValidators()
1427 model = ImageDeployments
1428 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1433 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
1436 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1437 validators = serializers.SerializerMethodField("getValidators")
1438 def getHumanReadableName(self, obj):
\r
1440 def getValidators(self, obj):
1442 return obj.getValidators()
1446 model = ReservedResource
1447 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1449 class ReservedResourceIdSerializer(XOSModelSerializer):
1452 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1453 validators = serializers.SerializerMethodField("getValidators")
1454 def getHumanReadableName(self, obj):
\r
1456 def getValidators(self, obj):
\r
1458 return obj.getValidators()
1462 model = ReservedResource
1463 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1468 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
1471 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1472 validators = serializers.SerializerMethodField("getValidators")
1473 def getHumanReadableName(self, obj):
\r
1475 def getValidators(self, obj):
1477 return obj.getValidators()
1482 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1484 class PaymentIdSerializer(XOSModelSerializer):
1487 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1488 validators = serializers.SerializerMethodField("getValidators")
1489 def getHumanReadableName(self, obj):
\r
1491 def getValidators(self, obj):
\r
1493 return obj.getValidators()
1498 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1503 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1506 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1507 validators = serializers.SerializerMethodField("getValidators")
1508 def getHumanReadableName(self, obj):
\r
1510 def getValidators(self, obj):
1512 return obj.getValidators()
1516 model = NetworkSlice
1517 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1519 class NetworkSliceIdSerializer(XOSModelSerializer):
1522 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1523 validators = serializers.SerializerMethodField("getValidators")
1524 def getHumanReadableName(self, obj):
\r
1526 def getValidators(self, obj):
\r
1528 return obj.getValidators()
1532 model = NetworkSlice
1533 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1538 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1541 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1542 validators = serializers.SerializerMethodField("getValidators")
1543 def getHumanReadableName(self, obj):
\r
1545 def getValidators(self, obj):
1547 return obj.getValidators()
1551 model = UserDashboardView
1552 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1554 class UserDashboardViewIdSerializer(XOSModelSerializer):
1557 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1558 validators = serializers.SerializerMethodField("getValidators")
1559 def getHumanReadableName(self, obj):
\r
1561 def getValidators(self, obj):
\r
1563 return obj.getValidators()
1567 model = UserDashboardView
1568 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1573 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
1577 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
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()
1591 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1593 class ControllerIdSerializer(XOSModelSerializer):
1597 dashboardviews = serializers.PrimaryKeyRelatedField(many=True, queryset = DashboardView.objects.all())
1600 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1601 validators = serializers.SerializerMethodField("getValidators")
1602 def getHumanReadableName(self, obj):
\r
1604 def getValidators(self, obj):
\r
1606 return obj.getValidators()
1611 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1616 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1619 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1620 validators = serializers.SerializerMethodField("getValidators")
1621 def getHumanReadableName(self, obj):
\r
1623 def getValidators(self, obj):
1625 return obj.getValidators()
1629 model = PlanetStackPrivilege
1630 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1632 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
1635 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1636 validators = serializers.SerializerMethodField("getValidators")
1637 def getHumanReadableName(self, obj):
\r
1639 def getValidators(self, obj):
\r
1641 return obj.getValidators()
1645 model = PlanetStackPrivilege
1646 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1651 class UserSerializer(serializers.HyperlinkedModelSerializer):
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','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',)
1667 class UserIdSerializer(XOSModelSerializer):
1670 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1671 validators = serializers.SerializerMethodField("getValidators")
1672 def getHumanReadableName(self, obj):
\r
1674 def getValidators(self, obj):
\r
1676 return obj.getValidators()
1681 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',)
1686 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1690 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1694 images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
1698 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1701 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1702 validators = serializers.SerializerMethodField("getValidators")
1703 def getHumanReadableName(self, obj):
\r
1705 def getValidators(self, obj):
1707 return obj.getValidators()
1712 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1714 class DeploymentIdSerializer(XOSModelSerializer):
1718 flavors = serializers.PrimaryKeyRelatedField(many=True, queryset = Flavor.objects.all())
1722 images = serializers.PrimaryKeyRelatedField(many=True, queryset = Image.objects.all())
1726 sites = serializers.PrimaryKeyRelatedField(many=True, queryset = Site.objects.all())
1729 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1730 validators = serializers.SerializerMethodField("getValidators")
1731 def getHumanReadableName(self, obj):
\r
1733 def getValidators(self, obj):
\r
1735 return obj.getValidators()
1740 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1745 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1748 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1749 validators = serializers.SerializerMethodField("getValidators")
1750 def getHumanReadableName(self, obj):
\r
1752 def getValidators(self, obj):
1754 return obj.getValidators()
1759 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1761 class ReservationIdSerializer(XOSModelSerializer):
1764 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1765 validators = serializers.SerializerMethodField("getValidators")
1766 def getHumanReadableName(self, obj):
\r
1768 def getValidators(self, obj):
\r
1770 return obj.getValidators()
1775 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1780 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1783 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1784 validators = serializers.SerializerMethodField("getValidators")
1785 def getHumanReadableName(self, obj):
\r
1787 def getValidators(self, obj):
1789 return obj.getValidators()
1793 model = SitePrivilege
1794 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1796 class SitePrivilegeIdSerializer(XOSModelSerializer):
1799 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1800 validators = serializers.SerializerMethodField("getValidators")
1801 def getHumanReadableName(self, obj):
\r
1803 def getValidators(self, obj):
\r
1805 return obj.getValidators()
1809 model = SitePrivilege
1810 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1815 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1818 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1819 validators = serializers.SerializerMethodField("getValidators")
1820 def getHumanReadableName(self, obj):
\r
1822 def getValidators(self, obj):
1824 return obj.getValidators()
1829 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1831 class PlanetStackIdSerializer(XOSModelSerializer):
1834 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1835 validators = serializers.SerializerMethodField("getValidators")
1836 def getHumanReadableName(self, obj):
\r
1838 def getValidators(self, obj):
\r
1840 return obj.getValidators()
1845 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1850 class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1853 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1854 validators = serializers.SerializerMethodField("getValidators")
1855 def getHumanReadableName(self, obj):
\r
1857 def getValidators(self, obj):
1859 return obj.getValidators()
1863 model = ControllerDashboardView
1864 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1866 class ControllerDashboardViewIdSerializer(XOSModelSerializer):
1869 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1870 validators = serializers.SerializerMethodField("getValidators")
1871 def getHumanReadableName(self, obj):
\r
1873 def getValidators(self, obj):
\r
1875 return obj.getValidators()
1879 model = ControllerDashboardView
1880 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1885 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1888 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1889 validators = serializers.SerializerMethodField("getValidators")
1890 def getHumanReadableName(self, obj):
\r
1892 def getValidators(self, obj):
1894 return obj.getValidators()
1899 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1901 class AccountIdSerializer(XOSModelSerializer):
1904 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1905 validators = serializers.SerializerMethodField("getValidators")
1906 def getHumanReadableName(self, obj):
\r
1908 def getValidators(self, obj):
\r
1910 return obj.getValidators()
1915 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1920 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
1923 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1924 validators = serializers.SerializerMethodField("getValidators")
1925 def getHumanReadableName(self, obj):
\r
1927 def getValidators(self, obj):
1929 return obj.getValidators()
1933 model = ControllerRole
1934 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1936 class ControllerRoleIdSerializer(XOSModelSerializer):
1939 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1940 validators = serializers.SerializerMethodField("getValidators")
1941 def getHumanReadableName(self, obj):
\r
1943 def getValidators(self, obj):
\r
1945 return obj.getValidators()
1949 model = ControllerRole
1950 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1955 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1958 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1959 validators = serializers.SerializerMethodField("getValidators")
1960 def getHumanReadableName(self, obj):
\r
1962 def getValidators(self, obj):
1964 return obj.getValidators()
1968 model = NetworkParameterType
1969 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1971 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
1974 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1975 validators = serializers.SerializerMethodField("getValidators")
1976 def getHumanReadableName(self, obj):
\r
1978 def getValidators(self, obj):
\r
1980 return obj.getValidators()
1984 model = NetworkParameterType
1985 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1990 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1993 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1994 validators = serializers.SerializerMethodField("getValidators")
1995 def getHumanReadableName(self, obj):
\r
1997 def getValidators(self, obj):
1999 return obj.getValidators()
2003 model = SiteCredential
2004 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2006 class SiteCredentialIdSerializer(XOSModelSerializer):
2009 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2010 validators = serializers.SerializerMethodField("getValidators")
2011 def getHumanReadableName(self, obj):
\r
2013 def getValidators(self, obj):
\r
2015 return obj.getValidators()
2019 model = SiteCredential
2020 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2025 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
2028 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2029 validators = serializers.SerializerMethodField("getValidators")
2030 def getHumanReadableName(self, obj):
\r
2032 def getValidators(self, obj):
2034 return obj.getValidators()
2038 model = DeploymentPrivilege
2039 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2041 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
2044 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2045 validators = serializers.SerializerMethodField("getValidators")
2046 def getHumanReadableName(self, obj):
\r
2048 def getValidators(self, obj):
\r
2050 return obj.getValidators()
2054 model = DeploymentPrivilege
2055 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2060 class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
2063 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2064 validators = serializers.SerializerMethodField("getValidators")
2065 def getHumanReadableName(self, obj):
\r
2067 def getValidators(self, obj):
2069 return obj.getValidators()
2073 model = ControllerUsers
2074 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2076 class ControllerUsersIdSerializer(XOSModelSerializer):
2079 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2080 validators = serializers.SerializerMethodField("getValidators")
2081 def getHumanReadableName(self, obj):
\r
2083 def getValidators(self, obj):
\r
2085 return obj.getValidators()
2089 model = ControllerUsers
2090 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2095 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
2098 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2099 validators = serializers.SerializerMethodField("getValidators")
2100 def getHumanReadableName(self, obj):
\r
2102 def getValidators(self, obj):
2104 return obj.getValidators()
2108 model = DeploymentRole
2109 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2111 class DeploymentRoleIdSerializer(XOSModelSerializer):
2114 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2115 validators = serializers.SerializerMethodField("getValidators")
2116 def getHumanReadableName(self, obj):
\r
2118 def getValidators(self, obj):
\r
2120 return obj.getValidators()
2124 model = DeploymentRole
2125 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2130 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
2133 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2134 validators = serializers.SerializerMethodField("getValidators")
2135 def getHumanReadableName(self, obj):
\r
2137 def getValidators(self, obj):
2139 return obj.getValidators()
2143 model = UserCredential
2144 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2146 class UserCredentialIdSerializer(XOSModelSerializer):
2149 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2150 validators = serializers.SerializerMethodField("getValidators")
2151 def getHumanReadableName(self, obj):
\r
2153 def getValidators(self, obj):
\r
2155 return obj.getValidators()
2159 model = UserCredential
2160 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2165 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
2168 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2169 validators = serializers.SerializerMethodField("getValidators")
2170 def getHumanReadableName(self, obj):
\r
2172 def getValidators(self, obj):
2174 return obj.getValidators()
2178 model = SiteDeployments
2179 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2181 class SiteDeploymentsIdSerializer(XOSModelSerializer):
2184 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2185 validators = serializers.SerializerMethodField("getValidators")
2186 def getHumanReadableName(self, obj):
\r
2188 def getValidators(self, obj):
\r
2190 return obj.getValidators()
2194 model = SiteDeployments
2195 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2200 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
2203 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2204 validators = serializers.SerializerMethodField("getValidators")
2205 def getHumanReadableName(self, obj):
\r
2207 def getValidators(self, obj):
2209 return obj.getValidators()
2214 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2216 class SliceTagIdSerializer(XOSModelSerializer):
2219 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2220 validators = serializers.SerializerMethodField("getValidators")
2221 def getHumanReadableName(self, obj):
\r
2223 def getValidators(self, obj):
\r
2225 return obj.getValidators()
2230 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2235 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
2238 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2239 validators = serializers.SerializerMethodField("getValidators")
2240 def getHumanReadableName(self, obj):
\r
2242 def getValidators(self, obj):
2244 return obj.getValidators()
2248 model = NetworkTemplate
2249 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
2251 class NetworkTemplateIdSerializer(XOSModelSerializer):
2254 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2255 validators = serializers.SerializerMethodField("getValidators")
2256 def getHumanReadableName(self, obj):
\r
2258 def getValidators(self, obj):
\r
2260 return obj.getValidators()
2264 model = NetworkTemplate
2265 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
2270 class RouterSerializer(serializers.HyperlinkedModelSerializer):
2274 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2278 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2281 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2282 validators = serializers.SerializerMethodField("getValidators")
2283 def getHumanReadableName(self, obj):
\r
2285 def getValidators(self, obj):
2287 return obj.getValidators()
2292 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2294 class RouterIdSerializer(XOSModelSerializer):
2298 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2302 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
2305 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2306 validators = serializers.SerializerMethodField("getValidators")
2307 def getHumanReadableName(self, obj):
\r
2309 def getValidators(self, obj):
\r
2311 return obj.getValidators()
2316 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2321 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
2324 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2325 validators = serializers.SerializerMethodField("getValidators")
2326 def getHumanReadableName(self, obj):
\r
2328 def getValidators(self, obj):
2330 return obj.getValidators()
2334 model = ServiceResource
2335 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2337 class ServiceResourceIdSerializer(XOSModelSerializer):
2340 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2341 validators = serializers.SerializerMethodField("getValidators")
2342 def getHumanReadableName(self, obj):
\r
2344 def getValidators(self, obj):
\r
2346 return obj.getValidators()
2350 model = ServiceResource
2351 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2356 class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
2359 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2360 validators = serializers.SerializerMethodField("getValidators")
2361 def getHumanReadableName(self, obj):
\r
2363 def getValidators(self, obj):
2365 return obj.getValidators()
2369 model = ControllerSlices
2370 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2372 class ControllerSlicesIdSerializer(XOSModelSerializer):
2375 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2376 validators = serializers.SerializerMethodField("getValidators")
2377 def getHumanReadableName(self, obj):
\r
2379 def getValidators(self, obj):
\r
2381 return obj.getValidators()
2385 model = ControllerSlices
2386 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2391 serializerLookUp = {
2393 Flavor: FlavorSerializer,
2395 ServiceAttribute: ServiceAttributeSerializer,
2397 ControllerImages: ControllerImagesSerializer,
2399 Image: ImageSerializer,
2401 NetworkParameter: NetworkParameterSerializer,
2403 Site: SiteSerializer,
2405 SliceRole: SliceRoleSerializer,
2409 Invoice: InvoiceSerializer,
2411 SlicePrivilege: SlicePrivilegeSerializer,
2413 PlanetStackRole: PlanetStackRoleSerializer,
2415 ControllerPrivilege: ControllerPrivilegeSerializer,
2417 NetworkSliver: NetworkSliverSerializer,
2419 Project: ProjectSerializer,
2421 Slice: SliceSerializer,
2423 Network: NetworkSerializer,
2425 Service: ServiceSerializer,
2427 ServiceClass: ServiceClassSerializer,
2429 ControllerNetworks: ControllerNetworksSerializer,
2431 Charge: ChargeSerializer,
2433 Role: RoleSerializer,
2435 UsableObject: UsableObjectSerializer,
2437 ControllerSiteDeployments: ControllerSiteDeploymentsSerializer,
2439 SiteRole: SiteRoleSerializer,
2441 SliceCredential: SliceCredentialSerializer,
2443 Sliver: SliverSerializer,
2445 Node: NodeSerializer,
2447 DashboardView: DashboardViewSerializer,
2449 ImageDeployments: ImageDeploymentsSerializer,
2451 ReservedResource: ReservedResourceSerializer,
2453 Payment: PaymentSerializer,
2455 NetworkSlice: NetworkSliceSerializer,
2457 UserDashboardView: UserDashboardViewSerializer,
2459 Controller: ControllerSerializer,
2461 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
2463 User: UserSerializer,
2465 Deployment: DeploymentSerializer,
2467 Reservation: ReservationSerializer,
2469 SitePrivilege: SitePrivilegeSerializer,
2471 PlanetStack: PlanetStackSerializer,
2473 ControllerDashboardView: ControllerDashboardViewSerializer,
2475 Account: AccountSerializer,
2477 ControllerRole: ControllerRoleSerializer,
2479 NetworkParameterType: NetworkParameterTypeSerializer,
2481 SiteCredential: SiteCredentialSerializer,
2483 DeploymentPrivilege: DeploymentPrivilegeSerializer,
2485 ControllerUsers: ControllerUsersSerializer,
2487 DeploymentRole: DeploymentRoleSerializer,
2489 UserCredential: UserCredentialSerializer,
2491 SiteDeployments: SiteDeploymentsSerializer,
2493 SliceTag: SliceTagSerializer,
2495 NetworkTemplate: NetworkTemplateSerializer,
2497 Router: RouterSerializer,
2499 ServiceResource: ServiceResourceSerializer,
2501 ControllerSlices: ControllerSlicesSerializer,
2506 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2508 # To handle fine-grained field permissions, we have to check can_update
2509 # the object has been updated but before it has been saved.
2511 def update(self, request, *args, **kwargs):
\r
2512 partial = kwargs.pop('partial', False)
\r
2513 self.object = self.get_object_or_none()
\r
2515 serializer = self.get_serializer(self.object, data=request.DATA,
\r
2516 files=request.FILES, partial=partial)
\r
2518 if not serializer.is_valid():
\r
2519 response = {"error": "validation",
\r
2520 "specific_error": "not serializer.is_valid()",
\r
2521 "reasons": serializer.errors}
\r
2522 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2525 self.pre_save(serializer.object)
\r
2526 except ValidationError as err:
\r
2527 # full_clean on model instance may be called in pre_save,
\r
2528 # so we have to handle eventual errors.
\r
2529 response = {"error": "validation",
\r
2530 "specific_error": "ValidationError in pre_save",
\r
2531 "reasons": err.message_dict}
\r
2532 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2534 if serializer.object is not None:
\r
2535 if not serializer.object.can_update(request.user):
\r
2536 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
2538 if self.object is None:
\r
2539 self.object = serializer.save(force_insert=True)
\r
2540 self.post_save(self.object, created=True)
\r
2541 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
2543 self.object = serializer.save(force_update=True)
\r
2544 self.post_save(self.object, created=False)
\r
2545 return Response(serializer.data, status=status.HTTP_200_OK)
2547 def destroy(self, request, *args, **kwargs):
2548 obj = self.get_object()
2549 if obj.can_update(request.user):
2550 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
2552 return Response(status=status.HTTP_400_BAD_REQUEST)
2555 # Based on core/views/*.py
2558 class FlavorList(generics.ListCreateAPIView):
2559 queryset = Flavor.objects.select_related().all()
2560 serializer_class = FlavorSerializer
2561 id_serializer_class = FlavorIdSerializer
2562 filter_backends = (filters.DjangoFilterBackend,)
2563 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
2565 def get_serializer_class(self):
2566 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2568 return self.id_serializer_class
2570 return self.serializer_class
2572 def get_queryset(self):
2573 return Flavor.select_by_user(self.request.user)
2575 def create(self, request, *args, **kwargs):
2576 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2577 if not (serializer.is_valid()):
2578 response = {"error": "validation",
2579 "specific_error": "not serializer.is_valid()",
\r
2580 "reasons": serializer.errors}
\r
2581 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2582 obj = serializer.object
2583 obj.caller = request.user
2584 if obj.can_update(request.user):
2585 return super(FlavorList, self).create(request, *args, **kwargs)
2587 raise Exception("failed obj.can_update")
2589 ret = super(FlavorList, self).create(request, *args, **kwargs)
2590 if (ret.status_code%100 != 200):
2591 raise Exception(ret.data)
2596 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2597 queryset = Flavor.objects.select_related().all()
2598 serializer_class = FlavorSerializer
2599 id_serializer_class = FlavorIdSerializer
2601 def get_serializer_class(self):
2602 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2604 return self.id_serializer_class
2606 return self.serializer_class
2608 def get_queryset(self):
2609 return Flavor.select_by_user(self.request.user)
2611 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2613 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2617 class ServiceAttributeList(generics.ListCreateAPIView):
2618 queryset = ServiceAttribute.objects.select_related().all()
2619 serializer_class = ServiceAttributeSerializer
2620 id_serializer_class = ServiceAttributeIdSerializer
2621 filter_backends = (filters.DjangoFilterBackend,)
2622 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
2624 def get_serializer_class(self):
2625 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2627 return self.id_serializer_class
2629 return self.serializer_class
2631 def get_queryset(self):
2632 return ServiceAttribute.select_by_user(self.request.user)
2634 def create(self, request, *args, **kwargs):
2635 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2636 if not (serializer.is_valid()):
2637 response = {"error": "validation",
2638 "specific_error": "not serializer.is_valid()",
\r
2639 "reasons": serializer.errors}
\r
2640 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2641 obj = serializer.object
2642 obj.caller = request.user
2643 if obj.can_update(request.user):
2644 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2646 raise Exception("failed obj.can_update")
2648 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2649 if (ret.status_code%100 != 200):
2650 raise Exception(ret.data)
2655 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2656 queryset = ServiceAttribute.objects.select_related().all()
2657 serializer_class = ServiceAttributeSerializer
2658 id_serializer_class = ServiceAttributeIdSerializer
2660 def get_serializer_class(self):
2661 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2663 return self.id_serializer_class
2665 return self.serializer_class
2667 def get_queryset(self):
2668 return ServiceAttribute.select_by_user(self.request.user)
2670 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2672 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2676 class ControllerImagesList(generics.ListCreateAPIView):
2677 queryset = ControllerImages.objects.select_related().all()
2678 serializer_class = ControllerImagesSerializer
2679 id_serializer_class = ControllerImagesIdSerializer
2680 filter_backends = (filters.DjangoFilterBackend,)
2681 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
2683 def get_serializer_class(self):
2684 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2686 return self.id_serializer_class
2688 return self.serializer_class
2690 def get_queryset(self):
2691 return ControllerImages.select_by_user(self.request.user)
2693 def create(self, request, *args, **kwargs):
2694 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2695 if not (serializer.is_valid()):
2696 response = {"error": "validation",
2697 "specific_error": "not serializer.is_valid()",
\r
2698 "reasons": serializer.errors}
\r
2699 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2700 obj = serializer.object
2701 obj.caller = request.user
2702 if obj.can_update(request.user):
2703 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2705 raise Exception("failed obj.can_update")
2707 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2708 if (ret.status_code%100 != 200):
2709 raise Exception(ret.data)
2714 class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2715 queryset = ControllerImages.objects.select_related().all()
2716 serializer_class = ControllerImagesSerializer
2717 id_serializer_class = ControllerImagesIdSerializer
2719 def get_serializer_class(self):
2720 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2722 return self.id_serializer_class
2724 return self.serializer_class
2726 def get_queryset(self):
2727 return ControllerImages.select_by_user(self.request.user)
2729 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2731 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2735 class ImageList(generics.ListCreateAPIView):
2736 queryset = Image.objects.select_related().all()
2737 serializer_class = ImageSerializer
2738 id_serializer_class = ImageIdSerializer
2739 filter_backends = (filters.DjangoFilterBackend,)
2740 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
2742 def get_serializer_class(self):
2743 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2745 return self.id_serializer_class
2747 return self.serializer_class
2749 def get_queryset(self):
2750 return Image.select_by_user(self.request.user)
2752 def create(self, request, *args, **kwargs):
2753 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2754 if not (serializer.is_valid()):
2755 response = {"error": "validation",
2756 "specific_error": "not serializer.is_valid()",
\r
2757 "reasons": serializer.errors}
\r
2758 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2759 obj = serializer.object
2760 obj.caller = request.user
2761 if obj.can_update(request.user):
2762 return super(ImageList, self).create(request, *args, **kwargs)
2764 raise Exception("failed obj.can_update")
2766 ret = super(ImageList, self).create(request, *args, **kwargs)
2767 if (ret.status_code%100 != 200):
2768 raise Exception(ret.data)
2773 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2774 queryset = Image.objects.select_related().all()
2775 serializer_class = ImageSerializer
2776 id_serializer_class = ImageIdSerializer
2778 def get_serializer_class(self):
2779 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2781 return self.id_serializer_class
2783 return self.serializer_class
2785 def get_queryset(self):
2786 return Image.select_by_user(self.request.user)
2788 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2790 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2794 class NetworkParameterList(generics.ListCreateAPIView):
2795 queryset = NetworkParameter.objects.select_related().all()
2796 serializer_class = NetworkParameterSerializer
2797 id_serializer_class = NetworkParameterIdSerializer
2798 filter_backends = (filters.DjangoFilterBackend,)
2799 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
2801 def get_serializer_class(self):
2802 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2804 return self.id_serializer_class
2806 return self.serializer_class
2808 def get_queryset(self):
2809 return NetworkParameter.select_by_user(self.request.user)
2811 def create(self, request, *args, **kwargs):
2812 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2813 if not (serializer.is_valid()):
2814 response = {"error": "validation",
2815 "specific_error": "not serializer.is_valid()",
\r
2816 "reasons": serializer.errors}
\r
2817 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2818 obj = serializer.object
2819 obj.caller = request.user
2820 if obj.can_update(request.user):
2821 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2823 raise Exception("failed obj.can_update")
2825 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2826 if (ret.status_code%100 != 200):
2827 raise Exception(ret.data)
2832 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2833 queryset = NetworkParameter.objects.select_related().all()
2834 serializer_class = NetworkParameterSerializer
2835 id_serializer_class = NetworkParameterIdSerializer
2837 def get_serializer_class(self):
2838 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2840 return self.id_serializer_class
2842 return self.serializer_class
2844 def get_queryset(self):
2845 return NetworkParameter.select_by_user(self.request.user)
2847 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2849 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2853 class SiteList(generics.ListCreateAPIView):
2854 queryset = Site.objects.select_related().all()
2855 serializer_class = SiteSerializer
2856 id_serializer_class = SiteIdSerializer
2857 filter_backends = (filters.DjangoFilterBackend,)
2858 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
2860 def get_serializer_class(self):
2861 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2863 return self.id_serializer_class
2865 return self.serializer_class
2867 def get_queryset(self):
2868 return Site.select_by_user(self.request.user)
2870 def create(self, request, *args, **kwargs):
2871 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2872 if not (serializer.is_valid()):
2873 response = {"error": "validation",
2874 "specific_error": "not serializer.is_valid()",
\r
2875 "reasons": serializer.errors}
\r
2876 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2877 obj = serializer.object
2878 obj.caller = request.user
2879 if obj.can_update(request.user):
2880 return super(SiteList, self).create(request, *args, **kwargs)
2882 raise Exception("failed obj.can_update")
2884 ret = super(SiteList, self).create(request, *args, **kwargs)
2885 if (ret.status_code%100 != 200):
2886 raise Exception(ret.data)
2891 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2892 queryset = Site.objects.select_related().all()
2893 serializer_class = SiteSerializer
2894 id_serializer_class = SiteIdSerializer
2896 def get_serializer_class(self):
2897 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2899 return self.id_serializer_class
2901 return self.serializer_class
2903 def get_queryset(self):
2904 return Site.select_by_user(self.request.user)
2906 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2908 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2912 class SliceRoleList(generics.ListCreateAPIView):
2913 queryset = SliceRole.objects.select_related().all()
2914 serializer_class = SliceRoleSerializer
2915 id_serializer_class = SliceRoleIdSerializer
2916 filter_backends = (filters.DjangoFilterBackend,)
2917 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2919 def get_serializer_class(self):
2920 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2922 return self.id_serializer_class
2924 return self.serializer_class
2926 def get_queryset(self):
2927 return SliceRole.select_by_user(self.request.user)
2929 def create(self, request, *args, **kwargs):
2930 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2931 if not (serializer.is_valid()):
2932 response = {"error": "validation",
2933 "specific_error": "not serializer.is_valid()",
\r
2934 "reasons": serializer.errors}
\r
2935 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2936 obj = serializer.object
2937 obj.caller = request.user
2938 if obj.can_update(request.user):
2939 return super(SliceRoleList, self).create(request, *args, **kwargs)
2941 raise Exception("failed obj.can_update")
2943 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2944 if (ret.status_code%100 != 200):
2945 raise Exception(ret.data)
2950 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2951 queryset = SliceRole.objects.select_related().all()
2952 serializer_class = SliceRoleSerializer
2953 id_serializer_class = SliceRoleIdSerializer
2955 def get_serializer_class(self):
2956 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2958 return self.id_serializer_class
2960 return self.serializer_class
2962 def get_queryset(self):
2963 return SliceRole.select_by_user(self.request.user)
2965 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2967 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2971 class TagList(generics.ListCreateAPIView):
2972 queryset = Tag.objects.select_related().all()
2973 serializer_class = TagSerializer
2974 id_serializer_class = TagIdSerializer
2975 filter_backends = (filters.DjangoFilterBackend,)
2976 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
2978 def get_serializer_class(self):
2979 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2981 return self.id_serializer_class
2983 return self.serializer_class
2985 def get_queryset(self):
2986 return Tag.select_by_user(self.request.user)
2988 def create(self, request, *args, **kwargs):
2989 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2990 if not (serializer.is_valid()):
2991 response = {"error": "validation",
2992 "specific_error": "not serializer.is_valid()",
\r
2993 "reasons": serializer.errors}
\r
2994 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2995 obj = serializer.object
2996 obj.caller = request.user
2997 if obj.can_update(request.user):
2998 return super(TagList, self).create(request, *args, **kwargs)
3000 raise Exception("failed obj.can_update")
3002 ret = super(TagList, self).create(request, *args, **kwargs)
3003 if (ret.status_code%100 != 200):
3004 raise Exception(ret.data)
3009 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3010 queryset = Tag.objects.select_related().all()
3011 serializer_class = TagSerializer
3012 id_serializer_class = TagIdSerializer
3014 def get_serializer_class(self):
3015 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3017 return self.id_serializer_class
3019 return self.serializer_class
3021 def get_queryset(self):
3022 return Tag.select_by_user(self.request.user)
3024 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3026 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3030 class InvoiceList(generics.ListCreateAPIView):
3031 queryset = Invoice.objects.select_related().all()
3032 serializer_class = InvoiceSerializer
3033 id_serializer_class = InvoiceIdSerializer
3034 filter_backends = (filters.DjangoFilterBackend,)
3035 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
3037 def get_serializer_class(self):
3038 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3040 return self.id_serializer_class
3042 return self.serializer_class
3044 def get_queryset(self):
3045 return Invoice.select_by_user(self.request.user)
3047 def create(self, request, *args, **kwargs):
3048 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3049 if not (serializer.is_valid()):
3050 response = {"error": "validation",
3051 "specific_error": "not serializer.is_valid()",
\r
3052 "reasons": serializer.errors}
\r
3053 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3054 obj = serializer.object
3055 obj.caller = request.user
3056 if obj.can_update(request.user):
3057 return super(InvoiceList, self).create(request, *args, **kwargs)
3059 raise Exception("failed obj.can_update")
3061 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3062 if (ret.status_code%100 != 200):
3063 raise Exception(ret.data)
3068 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3069 queryset = Invoice.objects.select_related().all()
3070 serializer_class = InvoiceSerializer
3071 id_serializer_class = InvoiceIdSerializer
3073 def get_serializer_class(self):
3074 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3076 return self.id_serializer_class
3078 return self.serializer_class
3080 def get_queryset(self):
3081 return Invoice.select_by_user(self.request.user)
3083 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3085 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3089 class SlicePrivilegeList(generics.ListCreateAPIView):
3090 queryset = SlicePrivilege.objects.select_related().all()
3091 serializer_class = SlicePrivilegeSerializer
3092 id_serializer_class = SlicePrivilegeIdSerializer
3093 filter_backends = (filters.DjangoFilterBackend,)
3094 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
3096 def get_serializer_class(self):
3097 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3099 return self.id_serializer_class
3101 return self.serializer_class
3103 def get_queryset(self):
3104 return SlicePrivilege.select_by_user(self.request.user)
3106 def create(self, request, *args, **kwargs):
3107 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3108 if not (serializer.is_valid()):
3109 response = {"error": "validation",
3110 "specific_error": "not serializer.is_valid()",
\r
3111 "reasons": serializer.errors}
\r
3112 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3113 obj = serializer.object
3114 obj.caller = request.user
3115 if obj.can_update(request.user):
3116 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3118 raise Exception("failed obj.can_update")
3120 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3121 if (ret.status_code%100 != 200):
3122 raise Exception(ret.data)
3127 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3128 queryset = SlicePrivilege.objects.select_related().all()
3129 serializer_class = SlicePrivilegeSerializer
3130 id_serializer_class = SlicePrivilegeIdSerializer
3132 def get_serializer_class(self):
3133 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3135 return self.id_serializer_class
3137 return self.serializer_class
3139 def get_queryset(self):
3140 return SlicePrivilege.select_by_user(self.request.user)
3142 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3144 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3148 class PlanetStackRoleList(generics.ListCreateAPIView):
3149 queryset = PlanetStackRole.objects.select_related().all()
3150 serializer_class = PlanetStackRoleSerializer
3151 id_serializer_class = PlanetStackRoleIdSerializer
3152 filter_backends = (filters.DjangoFilterBackend,)
3153 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3155 def get_serializer_class(self):
3156 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3158 return self.id_serializer_class
3160 return self.serializer_class
3162 def get_queryset(self):
3163 return PlanetStackRole.select_by_user(self.request.user)
3165 def create(self, request, *args, **kwargs):
3166 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3167 if not (serializer.is_valid()):
3168 response = {"error": "validation",
3169 "specific_error": "not serializer.is_valid()",
\r
3170 "reasons": serializer.errors}
\r
3171 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3172 obj = serializer.object
3173 obj.caller = request.user
3174 if obj.can_update(request.user):
3175 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3177 raise Exception("failed obj.can_update")
3179 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3180 if (ret.status_code%100 != 200):
3181 raise Exception(ret.data)
3186 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3187 queryset = PlanetStackRole.objects.select_related().all()
3188 serializer_class = PlanetStackRoleSerializer
3189 id_serializer_class = PlanetStackRoleIdSerializer
3191 def get_serializer_class(self):
3192 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3194 return self.id_serializer_class
3196 return self.serializer_class
3198 def get_queryset(self):
3199 return PlanetStackRole.select_by_user(self.request.user)
3201 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3203 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3207 class ControllerPrivilegeList(generics.ListCreateAPIView):
3208 queryset = ControllerPrivilege.objects.select_related().all()
3209 serializer_class = ControllerPrivilegeSerializer
3210 id_serializer_class = ControllerPrivilegeIdSerializer
3211 filter_backends = (filters.DjangoFilterBackend,)
3212 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','role',)
3214 def get_serializer_class(self):
3215 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3217 return self.id_serializer_class
3219 return self.serializer_class
3221 def get_queryset(self):
3222 return ControllerPrivilege.select_by_user(self.request.user)
3224 def create(self, request, *args, **kwargs):
3225 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3226 if not (serializer.is_valid()):
3227 response = {"error": "validation",
3228 "specific_error": "not serializer.is_valid()",
\r
3229 "reasons": serializer.errors}
\r
3230 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3231 obj = serializer.object
3232 obj.caller = request.user
3233 if obj.can_update(request.user):
3234 return super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3236 raise Exception("failed obj.can_update")
3238 ret = super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3239 if (ret.status_code%100 != 200):
3240 raise Exception(ret.data)
3245 class ControllerPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3246 queryset = ControllerPrivilege.objects.select_related().all()
3247 serializer_class = ControllerPrivilegeSerializer
3248 id_serializer_class = ControllerPrivilegeIdSerializer
3250 def get_serializer_class(self):
3251 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3253 return self.id_serializer_class
3255 return self.serializer_class
3257 def get_queryset(self):
3258 return ControllerPrivilege.select_by_user(self.request.user)
3260 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3262 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3266 class NetworkSliverList(generics.ListCreateAPIView):
3267 queryset = NetworkSliver.objects.select_related().all()
3268 serializer_class = NetworkSliverSerializer
3269 id_serializer_class = NetworkSliverIdSerializer
3270 filter_backends = (filters.DjangoFilterBackend,)
3271 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
3273 def get_serializer_class(self):
3274 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3276 return self.id_serializer_class
3278 return self.serializer_class
3280 def get_queryset(self):
3281 return NetworkSliver.select_by_user(self.request.user)
3283 def create(self, request, *args, **kwargs):
3284 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3285 if not (serializer.is_valid()):
3286 response = {"error": "validation",
3287 "specific_error": "not serializer.is_valid()",
\r
3288 "reasons": serializer.errors}
\r
3289 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3290 obj = serializer.object
3291 obj.caller = request.user
3292 if obj.can_update(request.user):
3293 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3295 raise Exception("failed obj.can_update")
3297 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3298 if (ret.status_code%100 != 200):
3299 raise Exception(ret.data)
3304 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3305 queryset = NetworkSliver.objects.select_related().all()
3306 serializer_class = NetworkSliverSerializer
3307 id_serializer_class = NetworkSliverIdSerializer
3309 def get_serializer_class(self):
3310 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3312 return self.id_serializer_class
3314 return self.serializer_class
3316 def get_queryset(self):
3317 return NetworkSliver.select_by_user(self.request.user)
3319 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3321 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3325 class ProjectList(generics.ListCreateAPIView):
3326 queryset = Project.objects.select_related().all()
3327 serializer_class = ProjectSerializer
3328 id_serializer_class = ProjectIdSerializer
3329 filter_backends = (filters.DjangoFilterBackend,)
3330 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3332 def get_serializer_class(self):
3333 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3335 return self.id_serializer_class
3337 return self.serializer_class
3339 def get_queryset(self):
3340 return Project.select_by_user(self.request.user)
3342 def create(self, request, *args, **kwargs):
3343 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3344 if not (serializer.is_valid()):
3345 response = {"error": "validation",
3346 "specific_error": "not serializer.is_valid()",
\r
3347 "reasons": serializer.errors}
\r
3348 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3349 obj = serializer.object
3350 obj.caller = request.user
3351 if obj.can_update(request.user):
3352 return super(ProjectList, self).create(request, *args, **kwargs)
3354 raise Exception("failed obj.can_update")
3356 ret = super(ProjectList, self).create(request, *args, **kwargs)
3357 if (ret.status_code%100 != 200):
3358 raise Exception(ret.data)
3363 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3364 queryset = Project.objects.select_related().all()
3365 serializer_class = ProjectSerializer
3366 id_serializer_class = ProjectIdSerializer
3368 def get_serializer_class(self):
3369 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3371 return self.id_serializer_class
3373 return self.serializer_class
3375 def get_queryset(self):
3376 return Project.select_by_user(self.request.user)
3378 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3380 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3384 class SliceList(generics.ListCreateAPIView):
3385 queryset = Slice.objects.select_related().all()
3386 serializer_class = SliceSerializer
3387 id_serializer_class = SliceIdSerializer
3388 filter_backends = (filters.DjangoFilterBackend,)
3389 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
3391 def get_serializer_class(self):
3392 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3394 return self.id_serializer_class
3396 return self.serializer_class
3398 def get_queryset(self):
3399 return Slice.select_by_user(self.request.user)
3401 def create(self, request, *args, **kwargs):
3402 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3403 if not (serializer.is_valid()):
3404 response = {"error": "validation",
3405 "specific_error": "not serializer.is_valid()",
\r
3406 "reasons": serializer.errors}
\r
3407 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3408 obj = serializer.object
3409 obj.caller = request.user
3410 if obj.can_update(request.user):
3411 return super(SliceList, self).create(request, *args, **kwargs)
3413 raise Exception("failed obj.can_update")
3415 ret = super(SliceList, self).create(request, *args, **kwargs)
3416 if (ret.status_code%100 != 200):
3417 raise Exception(ret.data)
3422 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3423 queryset = Slice.objects.select_related().all()
3424 serializer_class = SliceSerializer
3425 id_serializer_class = SliceIdSerializer
3427 def get_serializer_class(self):
3428 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3430 return self.id_serializer_class
3432 return self.serializer_class
3434 def get_queryset(self):
3435 return Slice.select_by_user(self.request.user)
3437 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3439 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3443 class NetworkList(generics.ListCreateAPIView):
3444 queryset = Network.objects.select_related().all()
3445 serializer_class = NetworkSerializer
3446 id_serializer_class = NetworkIdSerializer
3447 filter_backends = (filters.DjangoFilterBackend,)
3448 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
3450 def get_serializer_class(self):
3451 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3453 return self.id_serializer_class
3455 return self.serializer_class
3457 def get_queryset(self):
3458 return Network.select_by_user(self.request.user)
3460 def create(self, request, *args, **kwargs):
3461 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3462 if not (serializer.is_valid()):
3463 response = {"error": "validation",
3464 "specific_error": "not serializer.is_valid()",
\r
3465 "reasons": serializer.errors}
\r
3466 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3467 obj = serializer.object
3468 obj.caller = request.user
3469 if obj.can_update(request.user):
3470 return super(NetworkList, self).create(request, *args, **kwargs)
3472 raise Exception("failed obj.can_update")
3474 ret = super(NetworkList, self).create(request, *args, **kwargs)
3475 if (ret.status_code%100 != 200):
3476 raise Exception(ret.data)
3481 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3482 queryset = Network.objects.select_related().all()
3483 serializer_class = NetworkSerializer
3484 id_serializer_class = NetworkIdSerializer
3486 def get_serializer_class(self):
3487 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3489 return self.id_serializer_class
3491 return self.serializer_class
3493 def get_queryset(self):
3494 return Network.select_by_user(self.request.user)
3496 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3498 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3502 class ServiceList(generics.ListCreateAPIView):
3503 queryset = Service.objects.select_related().all()
3504 serializer_class = ServiceSerializer
3505 id_serializer_class = ServiceIdSerializer
3506 filter_backends = (filters.DjangoFilterBackend,)
3507 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
3509 def get_serializer_class(self):
3510 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3512 return self.id_serializer_class
3514 return self.serializer_class
3516 def get_queryset(self):
3517 return Service.select_by_user(self.request.user)
3519 def create(self, request, *args, **kwargs):
3520 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3521 if not (serializer.is_valid()):
3522 response = {"error": "validation",
3523 "specific_error": "not serializer.is_valid()",
\r
3524 "reasons": serializer.errors}
\r
3525 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3526 obj = serializer.object
3527 obj.caller = request.user
3528 if obj.can_update(request.user):
3529 return super(ServiceList, self).create(request, *args, **kwargs)
3531 raise Exception("failed obj.can_update")
3533 ret = super(ServiceList, self).create(request, *args, **kwargs)
3534 if (ret.status_code%100 != 200):
3535 raise Exception(ret.data)
3540 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3541 queryset = Service.objects.select_related().all()
3542 serializer_class = ServiceSerializer
3543 id_serializer_class = ServiceIdSerializer
3545 def get_serializer_class(self):
3546 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3548 return self.id_serializer_class
3550 return self.serializer_class
3552 def get_queryset(self):
3553 return Service.select_by_user(self.request.user)
3555 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3557 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3561 class ServiceClassList(generics.ListCreateAPIView):
3562 queryset = ServiceClass.objects.select_related().all()
3563 serializer_class = ServiceClassSerializer
3564 id_serializer_class = ServiceClassIdSerializer
3565 filter_backends = (filters.DjangoFilterBackend,)
3566 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
3568 def get_serializer_class(self):
3569 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3571 return self.id_serializer_class
3573 return self.serializer_class
3575 def get_queryset(self):
3576 return ServiceClass.select_by_user(self.request.user)
3578 def create(self, request, *args, **kwargs):
3579 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3580 if not (serializer.is_valid()):
3581 response = {"error": "validation",
3582 "specific_error": "not serializer.is_valid()",
\r
3583 "reasons": serializer.errors}
\r
3584 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3585 obj = serializer.object
3586 obj.caller = request.user
3587 if obj.can_update(request.user):
3588 return super(ServiceClassList, self).create(request, *args, **kwargs)
3590 raise Exception("failed obj.can_update")
3592 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3593 if (ret.status_code%100 != 200):
3594 raise Exception(ret.data)
3599 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3600 queryset = ServiceClass.objects.select_related().all()
3601 serializer_class = ServiceClassSerializer
3602 id_serializer_class = ServiceClassIdSerializer
3604 def get_serializer_class(self):
3605 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3607 return self.id_serializer_class
3609 return self.serializer_class
3611 def get_queryset(self):
3612 return ServiceClass.select_by_user(self.request.user)
3614 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3616 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3620 class ControllerNetworksList(generics.ListCreateAPIView):
3621 queryset = ControllerNetworks.objects.select_related().all()
3622 serializer_class = ControllerNetworksSerializer
3623 id_serializer_class = ControllerNetworksIdSerializer
3624 filter_backends = (filters.DjangoFilterBackend,)
3625 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
3627 def get_serializer_class(self):
3628 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3630 return self.id_serializer_class
3632 return self.serializer_class
3634 def get_queryset(self):
3635 return ControllerNetworks.select_by_user(self.request.user)
3637 def create(self, request, *args, **kwargs):
3638 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3639 if not (serializer.is_valid()):
3640 response = {"error": "validation",
3641 "specific_error": "not serializer.is_valid()",
\r
3642 "reasons": serializer.errors}
\r
3643 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3644 obj = serializer.object
3645 obj.caller = request.user
3646 if obj.can_update(request.user):
3647 return super(ControllerNetworksList, self).create(request, *args, **kwargs)
3649 raise Exception("failed obj.can_update")
3651 ret = super(ControllerNetworksList, self).create(request, *args, **kwargs)
3652 if (ret.status_code%100 != 200):
3653 raise Exception(ret.data)
3658 class ControllerNetworksDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3659 queryset = ControllerNetworks.objects.select_related().all()
3660 serializer_class = ControllerNetworksSerializer
3661 id_serializer_class = ControllerNetworksIdSerializer
3663 def get_serializer_class(self):
3664 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3666 return self.id_serializer_class
3668 return self.serializer_class
3670 def get_queryset(self):
3671 return ControllerNetworks.select_by_user(self.request.user)
3673 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3675 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3679 class ChargeList(generics.ListCreateAPIView):
3680 queryset = Charge.objects.select_related().all()
3681 serializer_class = ChargeSerializer
3682 id_serializer_class = ChargeIdSerializer
3683 filter_backends = (filters.DjangoFilterBackend,)
3684 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3686 def get_serializer_class(self):
3687 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3689 return self.id_serializer_class
3691 return self.serializer_class
3693 def get_queryset(self):
3694 return Charge.select_by_user(self.request.user)
3696 def create(self, request, *args, **kwargs):
3697 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3698 if not (serializer.is_valid()):
3699 response = {"error": "validation",
3700 "specific_error": "not serializer.is_valid()",
\r
3701 "reasons": serializer.errors}
\r
3702 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3703 obj = serializer.object
3704 obj.caller = request.user
3705 if obj.can_update(request.user):
3706 return super(ChargeList, self).create(request, *args, **kwargs)
3708 raise Exception("failed obj.can_update")
3710 ret = super(ChargeList, self).create(request, *args, **kwargs)
3711 if (ret.status_code%100 != 200):
3712 raise Exception(ret.data)
3717 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3718 queryset = Charge.objects.select_related().all()
3719 serializer_class = ChargeSerializer
3720 id_serializer_class = ChargeIdSerializer
3722 def get_serializer_class(self):
3723 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3725 return self.id_serializer_class
3727 return self.serializer_class
3729 def get_queryset(self):
3730 return Charge.select_by_user(self.request.user)
3732 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3734 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3738 class RoleList(generics.ListCreateAPIView):
3739 queryset = Role.objects.select_related().all()
3740 serializer_class = RoleSerializer
3741 id_serializer_class = RoleIdSerializer
3742 filter_backends = (filters.DjangoFilterBackend,)
3743 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3745 def get_serializer_class(self):
3746 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3748 return self.id_serializer_class
3750 return self.serializer_class
3752 def get_queryset(self):
3753 return Role.select_by_user(self.request.user)
3755 def create(self, request, *args, **kwargs):
3756 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3757 if not (serializer.is_valid()):
3758 response = {"error": "validation",
3759 "specific_error": "not serializer.is_valid()",
\r
3760 "reasons": serializer.errors}
\r
3761 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3762 obj = serializer.object
3763 obj.caller = request.user
3764 if obj.can_update(request.user):
3765 return super(RoleList, self).create(request, *args, **kwargs)
3767 raise Exception("failed obj.can_update")
3769 ret = super(RoleList, self).create(request, *args, **kwargs)
3770 if (ret.status_code%100 != 200):
3771 raise Exception(ret.data)
3776 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3777 queryset = Role.objects.select_related().all()
3778 serializer_class = RoleSerializer
3779 id_serializer_class = RoleIdSerializer
3781 def get_serializer_class(self):
3782 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3784 return self.id_serializer_class
3786 return self.serializer_class
3788 def get_queryset(self):
3789 return Role.select_by_user(self.request.user)
3791 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3793 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3797 class UsableObjectList(generics.ListCreateAPIView):
3798 queryset = UsableObject.objects.select_related().all()
3799 serializer_class = UsableObjectSerializer
3800 id_serializer_class = UsableObjectIdSerializer
3801 filter_backends = (filters.DjangoFilterBackend,)
3802 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3804 def get_serializer_class(self):
3805 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3807 return self.id_serializer_class
3809 return self.serializer_class
3811 def get_queryset(self):
3812 return UsableObject.select_by_user(self.request.user)
3814 def create(self, request, *args, **kwargs):
3815 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3816 if not (serializer.is_valid()):
3817 response = {"error": "validation",
3818 "specific_error": "not serializer.is_valid()",
\r
3819 "reasons": serializer.errors}
\r
3820 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3821 obj = serializer.object
3822 obj.caller = request.user
3823 if obj.can_update(request.user):
3824 return super(UsableObjectList, self).create(request, *args, **kwargs)
3826 raise Exception("failed obj.can_update")
3828 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3829 if (ret.status_code%100 != 200):
3830 raise Exception(ret.data)
3835 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3836 queryset = UsableObject.objects.select_related().all()
3837 serializer_class = UsableObjectSerializer
3838 id_serializer_class = UsableObjectIdSerializer
3840 def get_serializer_class(self):
3841 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3843 return self.id_serializer_class
3845 return self.serializer_class
3847 def get_queryset(self):
3848 return UsableObject.select_by_user(self.request.user)
3850 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3852 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3856 class ControllerSiteDeploymentsList(generics.ListCreateAPIView):
3857 queryset = ControllerSiteDeployments.objects.select_related().all()
3858 serializer_class = ControllerSiteDeploymentsSerializer
3859 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3860 filter_backends = (filters.DjangoFilterBackend,)
3861 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
3863 def get_serializer_class(self):
3864 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3866 return self.id_serializer_class
3868 return self.serializer_class
3870 def get_queryset(self):
3871 return ControllerSiteDeployments.select_by_user(self.request.user)
3873 def create(self, request, *args, **kwargs):
3874 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3875 if not (serializer.is_valid()):
3876 response = {"error": "validation",
3877 "specific_error": "not serializer.is_valid()",
\r
3878 "reasons": serializer.errors}
\r
3879 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3880 obj = serializer.object
3881 obj.caller = request.user
3882 if obj.can_update(request.user):
3883 return super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3885 raise Exception("failed obj.can_update")
3887 ret = super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3888 if (ret.status_code%100 != 200):
3889 raise Exception(ret.data)
3894 class ControllerSiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3895 queryset = ControllerSiteDeployments.objects.select_related().all()
3896 serializer_class = ControllerSiteDeploymentsSerializer
3897 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3899 def get_serializer_class(self):
3900 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3902 return self.id_serializer_class
3904 return self.serializer_class
3906 def get_queryset(self):
3907 return ControllerSiteDeployments.select_by_user(self.request.user)
3909 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3911 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3915 class SiteRoleList(generics.ListCreateAPIView):
3916 queryset = SiteRole.objects.select_related().all()
3917 serializer_class = SiteRoleSerializer
3918 id_serializer_class = SiteRoleIdSerializer
3919 filter_backends = (filters.DjangoFilterBackend,)
3920 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3922 def get_serializer_class(self):
3923 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3925 return self.id_serializer_class
3927 return self.serializer_class
3929 def get_queryset(self):
3930 return SiteRole.select_by_user(self.request.user)
3932 def create(self, request, *args, **kwargs):
3933 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3934 if not (serializer.is_valid()):
3935 response = {"error": "validation",
3936 "specific_error": "not serializer.is_valid()",
\r
3937 "reasons": serializer.errors}
\r
3938 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3939 obj = serializer.object
3940 obj.caller = request.user
3941 if obj.can_update(request.user):
3942 return super(SiteRoleList, self).create(request, *args, **kwargs)
3944 raise Exception("failed obj.can_update")
3946 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3947 if (ret.status_code%100 != 200):
3948 raise Exception(ret.data)
3953 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3954 queryset = SiteRole.objects.select_related().all()
3955 serializer_class = SiteRoleSerializer
3956 id_serializer_class = SiteRoleIdSerializer
3958 def get_serializer_class(self):
3959 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3961 return self.id_serializer_class
3963 return self.serializer_class
3965 def get_queryset(self):
3966 return SiteRole.select_by_user(self.request.user)
3968 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3970 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3974 class SliceCredentialList(generics.ListCreateAPIView):
3975 queryset = SliceCredential.objects.select_related().all()
3976 serializer_class = SliceCredentialSerializer
3977 id_serializer_class = SliceCredentialIdSerializer
3978 filter_backends = (filters.DjangoFilterBackend,)
3979 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
3981 def get_serializer_class(self):
3982 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3984 return self.id_serializer_class
3986 return self.serializer_class
3988 def get_queryset(self):
3989 return SliceCredential.select_by_user(self.request.user)
3991 def create(self, request, *args, **kwargs):
3992 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3993 if not (serializer.is_valid()):
3994 response = {"error": "validation",
3995 "specific_error": "not serializer.is_valid()",
\r
3996 "reasons": serializer.errors}
\r
3997 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3998 obj = serializer.object
3999 obj.caller = request.user
4000 if obj.can_update(request.user):
4001 return super(SliceCredentialList, self).create(request, *args, **kwargs)
4003 raise Exception("failed obj.can_update")
4005 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
4006 if (ret.status_code%100 != 200):
4007 raise Exception(ret.data)
4012 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4013 queryset = SliceCredential.objects.select_related().all()
4014 serializer_class = SliceCredentialSerializer
4015 id_serializer_class = SliceCredentialIdSerializer
4017 def get_serializer_class(self):
4018 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4020 return self.id_serializer_class
4022 return self.serializer_class
4024 def get_queryset(self):
4025 return SliceCredential.select_by_user(self.request.user)
4027 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4029 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4033 class SliverList(generics.ListCreateAPIView):
4034 queryset = Sliver.objects.select_related().all()
4035 serializer_class = SliverSerializer
4036 id_serializer_class = SliverIdSerializer
4037 filter_backends = (filters.DjangoFilterBackend,)
4038 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
4040 def get_serializer_class(self):
4041 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4043 return self.id_serializer_class
4045 return self.serializer_class
4047 def get_queryset(self):
4048 return Sliver.select_by_user(self.request.user)
4050 def create(self, request, *args, **kwargs):
4051 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4052 if not (serializer.is_valid()):
4053 response = {"error": "validation",
4054 "specific_error": "not serializer.is_valid()",
\r
4055 "reasons": serializer.errors}
\r
4056 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4057 obj = serializer.object
4058 obj.caller = request.user
4059 if obj.can_update(request.user):
4060 return super(SliverList, self).create(request, *args, **kwargs)
4062 raise Exception("failed obj.can_update")
4064 ret = super(SliverList, self).create(request, *args, **kwargs)
4065 if (ret.status_code%100 != 200):
4066 raise Exception(ret.data)
4071 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4072 queryset = Sliver.objects.select_related().all()
4073 serializer_class = SliverSerializer
4074 id_serializer_class = SliverIdSerializer
4076 def get_serializer_class(self):
4077 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4079 return self.id_serializer_class
4081 return self.serializer_class
4083 def get_queryset(self):
4084 return Sliver.select_by_user(self.request.user)
4086 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4088 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4092 class NodeList(generics.ListCreateAPIView):
4093 queryset = Node.objects.select_related().all()
4094 serializer_class = NodeSerializer
4095 id_serializer_class = NodeIdSerializer
4096 filter_backends = (filters.DjangoFilterBackend,)
4097 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
4099 def get_serializer_class(self):
4100 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4102 return self.id_serializer_class
4104 return self.serializer_class
4106 def get_queryset(self):
4107 return Node.select_by_user(self.request.user)
4109 def create(self, request, *args, **kwargs):
4110 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4111 if not (serializer.is_valid()):
4112 response = {"error": "validation",
4113 "specific_error": "not serializer.is_valid()",
\r
4114 "reasons": serializer.errors}
\r
4115 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4116 obj = serializer.object
4117 obj.caller = request.user
4118 if obj.can_update(request.user):
4119 return super(NodeList, self).create(request, *args, **kwargs)
4121 raise Exception("failed obj.can_update")
4123 ret = super(NodeList, self).create(request, *args, **kwargs)
4124 if (ret.status_code%100 != 200):
4125 raise Exception(ret.data)
4130 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4131 queryset = Node.objects.select_related().all()
4132 serializer_class = NodeSerializer
4133 id_serializer_class = NodeIdSerializer
4135 def get_serializer_class(self):
4136 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4138 return self.id_serializer_class
4140 return self.serializer_class
4142 def get_queryset(self):
4143 return Node.select_by_user(self.request.user)
4145 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4147 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4151 class DashboardViewList(generics.ListCreateAPIView):
4152 queryset = DashboardView.objects.select_related().all()
4153 serializer_class = DashboardViewSerializer
4154 id_serializer_class = DashboardViewIdSerializer
4155 filter_backends = (filters.DjangoFilterBackend,)
4156 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
4158 def get_serializer_class(self):
4159 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4161 return self.id_serializer_class
4163 return self.serializer_class
4165 def get_queryset(self):
4166 return DashboardView.select_by_user(self.request.user)
4168 def create(self, request, *args, **kwargs):
4169 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4170 if not (serializer.is_valid()):
4171 response = {"error": "validation",
4172 "specific_error": "not serializer.is_valid()",
\r
4173 "reasons": serializer.errors}
\r
4174 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4175 obj = serializer.object
4176 obj.caller = request.user
4177 if obj.can_update(request.user):
4178 return super(DashboardViewList, self).create(request, *args, **kwargs)
4180 raise Exception("failed obj.can_update")
4182 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4183 if (ret.status_code%100 != 200):
4184 raise Exception(ret.data)
4189 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4190 queryset = DashboardView.objects.select_related().all()
4191 serializer_class = DashboardViewSerializer
4192 id_serializer_class = DashboardViewIdSerializer
4194 def get_serializer_class(self):
4195 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4197 return self.id_serializer_class
4199 return self.serializer_class
4201 def get_queryset(self):
4202 return DashboardView.select_by_user(self.request.user)
4204 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4206 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4210 class ImageDeploymentsList(generics.ListCreateAPIView):
4211 queryset = ImageDeployments.objects.select_related().all()
4212 serializer_class = ImageDeploymentsSerializer
4213 id_serializer_class = ImageDeploymentsIdSerializer
4214 filter_backends = (filters.DjangoFilterBackend,)
4215 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment',)
4217 def get_serializer_class(self):
4218 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4220 return self.id_serializer_class
4222 return self.serializer_class
4224 def get_queryset(self):
4225 return ImageDeployments.select_by_user(self.request.user)
4227 def create(self, request, *args, **kwargs):
4228 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4229 if not (serializer.is_valid()):
4230 response = {"error": "validation",
4231 "specific_error": "not serializer.is_valid()",
\r
4232 "reasons": serializer.errors}
\r
4233 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4234 obj = serializer.object
4235 obj.caller = request.user
4236 if obj.can_update(request.user):
4237 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4239 raise Exception("failed obj.can_update")
4241 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4242 if (ret.status_code%100 != 200):
4243 raise Exception(ret.data)
4248 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4249 queryset = ImageDeployments.objects.select_related().all()
4250 serializer_class = ImageDeploymentsSerializer
4251 id_serializer_class = ImageDeploymentsIdSerializer
4253 def get_serializer_class(self):
4254 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4256 return self.id_serializer_class
4258 return self.serializer_class
4260 def get_queryset(self):
4261 return ImageDeployments.select_by_user(self.request.user)
4263 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4265 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4269 class ReservedResourceList(generics.ListCreateAPIView):
4270 queryset = ReservedResource.objects.select_related().all()
4271 serializer_class = ReservedResourceSerializer
4272 id_serializer_class = ReservedResourceIdSerializer
4273 filter_backends = (filters.DjangoFilterBackend,)
4274 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
4276 def get_serializer_class(self):
4277 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4279 return self.id_serializer_class
4281 return self.serializer_class
4283 def get_queryset(self):
4284 return ReservedResource.select_by_user(self.request.user)
4286 def create(self, request, *args, **kwargs):
4287 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4288 if not (serializer.is_valid()):
4289 response = {"error": "validation",
4290 "specific_error": "not serializer.is_valid()",
\r
4291 "reasons": serializer.errors}
\r
4292 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4293 obj = serializer.object
4294 obj.caller = request.user
4295 if obj.can_update(request.user):
4296 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4298 raise Exception("failed obj.can_update")
4300 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4301 if (ret.status_code%100 != 200):
4302 raise Exception(ret.data)
4307 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4308 queryset = ReservedResource.objects.select_related().all()
4309 serializer_class = ReservedResourceSerializer
4310 id_serializer_class = ReservedResourceIdSerializer
4312 def get_serializer_class(self):
4313 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4315 return self.id_serializer_class
4317 return self.serializer_class
4319 def get_queryset(self):
4320 return ReservedResource.select_by_user(self.request.user)
4322 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4324 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4328 class PaymentList(generics.ListCreateAPIView):
4329 queryset = Payment.objects.select_related().all()
4330 serializer_class = PaymentSerializer
4331 id_serializer_class = PaymentIdSerializer
4332 filter_backends = (filters.DjangoFilterBackend,)
4333 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
4335 def get_serializer_class(self):
4336 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4338 return self.id_serializer_class
4340 return self.serializer_class
4342 def get_queryset(self):
4343 return Payment.select_by_user(self.request.user)
4345 def create(self, request, *args, **kwargs):
4346 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4347 if not (serializer.is_valid()):
4348 response = {"error": "validation",
4349 "specific_error": "not serializer.is_valid()",
\r
4350 "reasons": serializer.errors}
\r
4351 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4352 obj = serializer.object
4353 obj.caller = request.user
4354 if obj.can_update(request.user):
4355 return super(PaymentList, self).create(request, *args, **kwargs)
4357 raise Exception("failed obj.can_update")
4359 ret = super(PaymentList, self).create(request, *args, **kwargs)
4360 if (ret.status_code%100 != 200):
4361 raise Exception(ret.data)
4366 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4367 queryset = Payment.objects.select_related().all()
4368 serializer_class = PaymentSerializer
4369 id_serializer_class = PaymentIdSerializer
4371 def get_serializer_class(self):
4372 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4374 return self.id_serializer_class
4376 return self.serializer_class
4378 def get_queryset(self):
4379 return Payment.select_by_user(self.request.user)
4381 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4383 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4387 class NetworkSliceList(generics.ListCreateAPIView):
4388 queryset = NetworkSlice.objects.select_related().all()
4389 serializer_class = NetworkSliceSerializer
4390 id_serializer_class = NetworkSliceIdSerializer
4391 filter_backends = (filters.DjangoFilterBackend,)
4392 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
4394 def get_serializer_class(self):
4395 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4397 return self.id_serializer_class
4399 return self.serializer_class
4401 def get_queryset(self):
4402 return NetworkSlice.select_by_user(self.request.user)
4404 def create(self, request, *args, **kwargs):
4405 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4406 if not (serializer.is_valid()):
4407 response = {"error": "validation",
4408 "specific_error": "not serializer.is_valid()",
\r
4409 "reasons": serializer.errors}
\r
4410 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4411 obj = serializer.object
4412 obj.caller = request.user
4413 if obj.can_update(request.user):
4414 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4416 raise Exception("failed obj.can_update")
4418 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4419 if (ret.status_code%100 != 200):
4420 raise Exception(ret.data)
4425 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4426 queryset = NetworkSlice.objects.select_related().all()
4427 serializer_class = NetworkSliceSerializer
4428 id_serializer_class = NetworkSliceIdSerializer
4430 def get_serializer_class(self):
4431 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4433 return self.id_serializer_class
4435 return self.serializer_class
4437 def get_queryset(self):
4438 return NetworkSlice.select_by_user(self.request.user)
4440 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4442 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4446 class UserDashboardViewList(generics.ListCreateAPIView):
4447 queryset = UserDashboardView.objects.select_related().all()
4448 serializer_class = UserDashboardViewSerializer
4449 id_serializer_class = UserDashboardViewIdSerializer
4450 filter_backends = (filters.DjangoFilterBackend,)
4451 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4453 def get_serializer_class(self):
4454 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4456 return self.id_serializer_class
4458 return self.serializer_class
4460 def get_queryset(self):
4461 return UserDashboardView.select_by_user(self.request.user)
4463 def create(self, request, *args, **kwargs):
4464 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4465 if not (serializer.is_valid()):
4466 response = {"error": "validation",
4467 "specific_error": "not serializer.is_valid()",
\r
4468 "reasons": serializer.errors}
\r
4469 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4470 obj = serializer.object
4471 obj.caller = request.user
4472 if obj.can_update(request.user):
4473 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4475 raise Exception("failed obj.can_update")
4477 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4478 if (ret.status_code%100 != 200):
4479 raise Exception(ret.data)
4484 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4485 queryset = UserDashboardView.objects.select_related().all()
4486 serializer_class = UserDashboardViewSerializer
4487 id_serializer_class = UserDashboardViewIdSerializer
4489 def get_serializer_class(self):
4490 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4492 return self.id_serializer_class
4494 return self.serializer_class
4496 def get_queryset(self):
4497 return UserDashboardView.select_by_user(self.request.user)
4499 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4501 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4505 class ControllerList(generics.ListCreateAPIView):
4506 queryset = Controller.objects.select_related().all()
4507 serializer_class = ControllerSerializer
4508 id_serializer_class = ControllerIdSerializer
4509 filter_backends = (filters.DjangoFilterBackend,)
4510 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
4512 def get_serializer_class(self):
4513 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4515 return self.id_serializer_class
4517 return self.serializer_class
4519 def get_queryset(self):
4520 return Controller.select_by_user(self.request.user)
4522 def create(self, request, *args, **kwargs):
4523 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4524 if not (serializer.is_valid()):
4525 response = {"error": "validation",
4526 "specific_error": "not serializer.is_valid()",
\r
4527 "reasons": serializer.errors}
\r
4528 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4529 obj = serializer.object
4530 obj.caller = request.user
4531 if obj.can_update(request.user):
4532 return super(ControllerList, self).create(request, *args, **kwargs)
4534 raise Exception("failed obj.can_update")
4536 ret = super(ControllerList, self).create(request, *args, **kwargs)
4537 if (ret.status_code%100 != 200):
4538 raise Exception(ret.data)
4543 class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4544 queryset = Controller.objects.select_related().all()
4545 serializer_class = ControllerSerializer
4546 id_serializer_class = ControllerIdSerializer
4548 def get_serializer_class(self):
4549 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4551 return self.id_serializer_class
4553 return self.serializer_class
4555 def get_queryset(self):
4556 return Controller.select_by_user(self.request.user)
4558 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4560 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4564 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4565 queryset = PlanetStackPrivilege.objects.select_related().all()
4566 serializer_class = PlanetStackPrivilegeSerializer
4567 id_serializer_class = PlanetStackPrivilegeIdSerializer
4568 filter_backends = (filters.DjangoFilterBackend,)
4569 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4571 def get_serializer_class(self):
4572 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4574 return self.id_serializer_class
4576 return self.serializer_class
4578 def get_queryset(self):
4579 return PlanetStackPrivilege.select_by_user(self.request.user)
4581 def create(self, request, *args, **kwargs):
4582 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4583 if not (serializer.is_valid()):
4584 response = {"error": "validation",
4585 "specific_error": "not serializer.is_valid()",
\r
4586 "reasons": serializer.errors}
\r
4587 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4588 obj = serializer.object
4589 obj.caller = request.user
4590 if obj.can_update(request.user):
4591 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4593 raise Exception("failed obj.can_update")
4595 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4596 if (ret.status_code%100 != 200):
4597 raise Exception(ret.data)
4602 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4603 queryset = PlanetStackPrivilege.objects.select_related().all()
4604 serializer_class = PlanetStackPrivilegeSerializer
4605 id_serializer_class = PlanetStackPrivilegeIdSerializer
4607 def get_serializer_class(self):
4608 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4610 return self.id_serializer_class
4612 return self.serializer_class
4614 def get_queryset(self):
4615 return PlanetStackPrivilege.select_by_user(self.request.user)
4617 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4619 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4623 class UserList(generics.ListCreateAPIView):
4624 queryset = User.objects.select_related().all()
4625 serializer_class = UserSerializer
4626 id_serializer_class = UserIdSerializer
4627 filter_backends = (filters.DjangoFilterBackend,)
4628 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',)
4630 def get_serializer_class(self):
4631 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4633 return self.id_serializer_class
4635 return self.serializer_class
4637 def get_queryset(self):
4638 return User.select_by_user(self.request.user)
4640 def create(self, request, *args, **kwargs):
4641 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4642 if not (serializer.is_valid()):
4643 response = {"error": "validation",
4644 "specific_error": "not serializer.is_valid()",
\r
4645 "reasons": serializer.errors}
\r
4646 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4647 obj = serializer.object
4648 obj.caller = request.user
4649 if obj.can_update(request.user):
4650 return super(UserList, self).create(request, *args, **kwargs)
4652 raise Exception("failed obj.can_update")
4654 ret = super(UserList, self).create(request, *args, **kwargs)
4655 if (ret.status_code%100 != 200):
4656 raise Exception(ret.data)
4661 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4662 queryset = User.objects.select_related().all()
4663 serializer_class = UserSerializer
4664 id_serializer_class = UserIdSerializer
4666 def get_serializer_class(self):
4667 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4669 return self.id_serializer_class
4671 return self.serializer_class
4673 def get_queryset(self):
4674 return User.select_by_user(self.request.user)
4676 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4678 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4682 class DeploymentList(generics.ListCreateAPIView):
4683 queryset = Deployment.objects.select_related().all()
4684 serializer_class = DeploymentSerializer
4685 id_serializer_class = DeploymentIdSerializer
4686 filter_backends = (filters.DjangoFilterBackend,)
4687 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
4689 def get_serializer_class(self):
4690 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4692 return self.id_serializer_class
4694 return self.serializer_class
4696 def get_queryset(self):
4697 return Deployment.select_by_user(self.request.user)
4699 def create(self, request, *args, **kwargs):
4700 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4701 if not (serializer.is_valid()):
4702 response = {"error": "validation",
4703 "specific_error": "not serializer.is_valid()",
\r
4704 "reasons": serializer.errors}
\r
4705 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4706 obj = serializer.object
4707 obj.caller = request.user
4708 if obj.can_update(request.user):
4709 return super(DeploymentList, self).create(request, *args, **kwargs)
4711 raise Exception("failed obj.can_update")
4713 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4714 if (ret.status_code%100 != 200):
4715 raise Exception(ret.data)
4720 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4721 queryset = Deployment.objects.select_related().all()
4722 serializer_class = DeploymentSerializer
4723 id_serializer_class = DeploymentIdSerializer
4725 def get_serializer_class(self):
4726 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4728 return self.id_serializer_class
4730 return self.serializer_class
4732 def get_queryset(self):
4733 return Deployment.select_by_user(self.request.user)
4735 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4737 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4741 class ReservationList(generics.ListCreateAPIView):
4742 queryset = Reservation.objects.select_related().all()
4743 serializer_class = ReservationSerializer
4744 id_serializer_class = ReservationIdSerializer
4745 filter_backends = (filters.DjangoFilterBackend,)
4746 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4748 def get_serializer_class(self):
4749 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4751 return self.id_serializer_class
4753 return self.serializer_class
4755 def get_queryset(self):
4756 return Reservation.select_by_user(self.request.user)
4758 def create(self, request, *args, **kwargs):
4759 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4760 if not (serializer.is_valid()):
4761 response = {"error": "validation",
4762 "specific_error": "not serializer.is_valid()",
\r
4763 "reasons": serializer.errors}
\r
4764 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4765 obj = serializer.object
4766 obj.caller = request.user
4767 if obj.can_update(request.user):
4768 return super(ReservationList, self).create(request, *args, **kwargs)
4770 raise Exception("failed obj.can_update")
4772 ret = super(ReservationList, self).create(request, *args, **kwargs)
4773 if (ret.status_code%100 != 200):
4774 raise Exception(ret.data)
4779 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4780 queryset = Reservation.objects.select_related().all()
4781 serializer_class = ReservationSerializer
4782 id_serializer_class = ReservationIdSerializer
4784 def get_serializer_class(self):
4785 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4787 return self.id_serializer_class
4789 return self.serializer_class
4791 def get_queryset(self):
4792 return Reservation.select_by_user(self.request.user)
4794 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4796 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4800 class SitePrivilegeList(generics.ListCreateAPIView):
4801 queryset = SitePrivilege.objects.select_related().all()
4802 serializer_class = SitePrivilegeSerializer
4803 id_serializer_class = SitePrivilegeIdSerializer
4804 filter_backends = (filters.DjangoFilterBackend,)
4805 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4807 def get_serializer_class(self):
4808 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4810 return self.id_serializer_class
4812 return self.serializer_class
4814 def get_queryset(self):
4815 return SitePrivilege.select_by_user(self.request.user)
4817 def create(self, request, *args, **kwargs):
4818 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4819 if not (serializer.is_valid()):
4820 response = {"error": "validation",
4821 "specific_error": "not serializer.is_valid()",
\r
4822 "reasons": serializer.errors}
\r
4823 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4824 obj = serializer.object
4825 obj.caller = request.user
4826 if obj.can_update(request.user):
4827 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4829 raise Exception("failed obj.can_update")
4831 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4832 if (ret.status_code%100 != 200):
4833 raise Exception(ret.data)
4838 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4839 queryset = SitePrivilege.objects.select_related().all()
4840 serializer_class = SitePrivilegeSerializer
4841 id_serializer_class = SitePrivilegeIdSerializer
4843 def get_serializer_class(self):
4844 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4846 return self.id_serializer_class
4848 return self.serializer_class
4850 def get_queryset(self):
4851 return SitePrivilege.select_by_user(self.request.user)
4853 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4855 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4859 class PlanetStackList(generics.ListCreateAPIView):
4860 queryset = PlanetStack.objects.select_related().all()
4861 serializer_class = PlanetStackSerializer
4862 id_serializer_class = PlanetStackIdSerializer
4863 filter_backends = (filters.DjangoFilterBackend,)
4864 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
4866 def get_serializer_class(self):
4867 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4869 return self.id_serializer_class
4871 return self.serializer_class
4873 def get_queryset(self):
4874 return PlanetStack.select_by_user(self.request.user)
4876 def create(self, request, *args, **kwargs):
4877 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4878 if not (serializer.is_valid()):
4879 response = {"error": "validation",
4880 "specific_error": "not serializer.is_valid()",
\r
4881 "reasons": serializer.errors}
\r
4882 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4883 obj = serializer.object
4884 obj.caller = request.user
4885 if obj.can_update(request.user):
4886 return super(PlanetStackList, self).create(request, *args, **kwargs)
4888 raise Exception("failed obj.can_update")
4890 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
4891 if (ret.status_code%100 != 200):
4892 raise Exception(ret.data)
4897 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4898 queryset = PlanetStack.objects.select_related().all()
4899 serializer_class = PlanetStackSerializer
4900 id_serializer_class = PlanetStackIdSerializer
4902 def get_serializer_class(self):
4903 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4905 return self.id_serializer_class
4907 return self.serializer_class
4909 def get_queryset(self):
4910 return PlanetStack.select_by_user(self.request.user)
4912 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4914 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4918 class ControllerDashboardViewList(generics.ListCreateAPIView):
4919 queryset = ControllerDashboardView.objects.select_related().all()
4920 serializer_class = ControllerDashboardViewSerializer
4921 id_serializer_class = ControllerDashboardViewIdSerializer
4922 filter_backends = (filters.DjangoFilterBackend,)
4923 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
4925 def get_serializer_class(self):
4926 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4928 return self.id_serializer_class
4930 return self.serializer_class
4932 def get_queryset(self):
4933 return ControllerDashboardView.select_by_user(self.request.user)
4935 def create(self, request, *args, **kwargs):
4936 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4937 if not (serializer.is_valid()):
4938 response = {"error": "validation",
4939 "specific_error": "not serializer.is_valid()",
\r
4940 "reasons": serializer.errors}
\r
4941 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4942 obj = serializer.object
4943 obj.caller = request.user
4944 if obj.can_update(request.user):
4945 return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4947 raise Exception("failed obj.can_update")
4949 ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4950 if (ret.status_code%100 != 200):
4951 raise Exception(ret.data)
4956 class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4957 queryset = ControllerDashboardView.objects.select_related().all()
4958 serializer_class = ControllerDashboardViewSerializer
4959 id_serializer_class = ControllerDashboardViewIdSerializer
4961 def get_serializer_class(self):
4962 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4964 return self.id_serializer_class
4966 return self.serializer_class
4968 def get_queryset(self):
4969 return ControllerDashboardView.select_by_user(self.request.user)
4971 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4973 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4977 class AccountList(generics.ListCreateAPIView):
4978 queryset = Account.objects.select_related().all()
4979 serializer_class = AccountSerializer
4980 id_serializer_class = AccountIdSerializer
4981 filter_backends = (filters.DjangoFilterBackend,)
4982 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
4984 def get_serializer_class(self):
4985 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4987 return self.id_serializer_class
4989 return self.serializer_class
4991 def get_queryset(self):
4992 return Account.select_by_user(self.request.user)
4994 def create(self, request, *args, **kwargs):
4995 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4996 if not (serializer.is_valid()):
4997 response = {"error": "validation",
4998 "specific_error": "not serializer.is_valid()",
\r
4999 "reasons": serializer.errors}
\r
5000 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5001 obj = serializer.object
5002 obj.caller = request.user
5003 if obj.can_update(request.user):
5004 return super(AccountList, self).create(request, *args, **kwargs)
5006 raise Exception("failed obj.can_update")
5008 ret = super(AccountList, self).create(request, *args, **kwargs)
5009 if (ret.status_code%100 != 200):
5010 raise Exception(ret.data)
5015 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5016 queryset = Account.objects.select_related().all()
5017 serializer_class = AccountSerializer
5018 id_serializer_class = AccountIdSerializer
5020 def get_serializer_class(self):
5021 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5023 return self.id_serializer_class
5025 return self.serializer_class
5027 def get_queryset(self):
5028 return Account.select_by_user(self.request.user)
5030 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5032 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5036 class ControllerRoleList(generics.ListCreateAPIView):
5037 queryset = ControllerRole.objects.select_related().all()
5038 serializer_class = ControllerRoleSerializer
5039 id_serializer_class = ControllerRoleIdSerializer
5040 filter_backends = (filters.DjangoFilterBackend,)
5041 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5043 def get_serializer_class(self):
5044 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5046 return self.id_serializer_class
5048 return self.serializer_class
5050 def get_queryset(self):
5051 return ControllerRole.select_by_user(self.request.user)
5053 def create(self, request, *args, **kwargs):
5054 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5055 if not (serializer.is_valid()):
5056 response = {"error": "validation",
5057 "specific_error": "not serializer.is_valid()",
\r
5058 "reasons": serializer.errors}
\r
5059 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5060 obj = serializer.object
5061 obj.caller = request.user
5062 if obj.can_update(request.user):
5063 return super(ControllerRoleList, self).create(request, *args, **kwargs)
5065 raise Exception("failed obj.can_update")
5067 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
5068 if (ret.status_code%100 != 200):
5069 raise Exception(ret.data)
5074 class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5075 queryset = ControllerRole.objects.select_related().all()
5076 serializer_class = ControllerRoleSerializer
5077 id_serializer_class = ControllerRoleIdSerializer
5079 def get_serializer_class(self):
5080 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5082 return self.id_serializer_class
5084 return self.serializer_class
5086 def get_queryset(self):
5087 return ControllerRole.select_by_user(self.request.user)
5089 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5091 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5095 class NetworkParameterTypeList(generics.ListCreateAPIView):
5096 queryset = NetworkParameterType.objects.select_related().all()
5097 serializer_class = NetworkParameterTypeSerializer
5098 id_serializer_class = NetworkParameterTypeIdSerializer
5099 filter_backends = (filters.DjangoFilterBackend,)
5100 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
5102 def get_serializer_class(self):
5103 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5105 return self.id_serializer_class
5107 return self.serializer_class
5109 def get_queryset(self):
5110 return NetworkParameterType.select_by_user(self.request.user)
5112 def create(self, request, *args, **kwargs):
5113 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5114 if not (serializer.is_valid()):
5115 response = {"error": "validation",
5116 "specific_error": "not serializer.is_valid()",
\r
5117 "reasons": serializer.errors}
\r
5118 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5119 obj = serializer.object
5120 obj.caller = request.user
5121 if obj.can_update(request.user):
5122 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5124 raise Exception("failed obj.can_update")
5126 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5127 if (ret.status_code%100 != 200):
5128 raise Exception(ret.data)
5133 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5134 queryset = NetworkParameterType.objects.select_related().all()
5135 serializer_class = NetworkParameterTypeSerializer
5136 id_serializer_class = NetworkParameterTypeIdSerializer
5138 def get_serializer_class(self):
5139 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5141 return self.id_serializer_class
5143 return self.serializer_class
5145 def get_queryset(self):
5146 return NetworkParameterType.select_by_user(self.request.user)
5148 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5150 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5154 class SiteCredentialList(generics.ListCreateAPIView):
5155 queryset = SiteCredential.objects.select_related().all()
5156 serializer_class = SiteCredentialSerializer
5157 id_serializer_class = SiteCredentialIdSerializer
5158 filter_backends = (filters.DjangoFilterBackend,)
5159 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
5161 def get_serializer_class(self):
5162 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5164 return self.id_serializer_class
5166 return self.serializer_class
5168 def get_queryset(self):
5169 return SiteCredential.select_by_user(self.request.user)
5171 def create(self, request, *args, **kwargs):
5172 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5173 if not (serializer.is_valid()):
5174 response = {"error": "validation",
5175 "specific_error": "not serializer.is_valid()",
\r
5176 "reasons": serializer.errors}
\r
5177 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5178 obj = serializer.object
5179 obj.caller = request.user
5180 if obj.can_update(request.user):
5181 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5183 raise Exception("failed obj.can_update")
5185 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5186 if (ret.status_code%100 != 200):
5187 raise Exception(ret.data)
5192 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5193 queryset = SiteCredential.objects.select_related().all()
5194 serializer_class = SiteCredentialSerializer
5195 id_serializer_class = SiteCredentialIdSerializer
5197 def get_serializer_class(self):
5198 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5200 return self.id_serializer_class
5202 return self.serializer_class
5204 def get_queryset(self):
5205 return SiteCredential.select_by_user(self.request.user)
5207 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5209 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5213 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5214 queryset = DeploymentPrivilege.objects.select_related().all()
5215 serializer_class = DeploymentPrivilegeSerializer
5216 id_serializer_class = DeploymentPrivilegeIdSerializer
5217 filter_backends = (filters.DjangoFilterBackend,)
5218 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5220 def get_serializer_class(self):
5221 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5223 return self.id_serializer_class
5225 return self.serializer_class
5227 def get_queryset(self):
5228 return DeploymentPrivilege.select_by_user(self.request.user)
5230 def create(self, request, *args, **kwargs):
5231 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5232 if not (serializer.is_valid()):
5233 response = {"error": "validation",
5234 "specific_error": "not serializer.is_valid()",
\r
5235 "reasons": serializer.errors}
\r
5236 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5237 obj = serializer.object
5238 obj.caller = request.user
5239 if obj.can_update(request.user):
5240 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5242 raise Exception("failed obj.can_update")
5244 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5245 if (ret.status_code%100 != 200):
5246 raise Exception(ret.data)
5251 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5252 queryset = DeploymentPrivilege.objects.select_related().all()
5253 serializer_class = DeploymentPrivilegeSerializer
5254 id_serializer_class = DeploymentPrivilegeIdSerializer
5256 def get_serializer_class(self):
5257 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5259 return self.id_serializer_class
5261 return self.serializer_class
5263 def get_queryset(self):
5264 return DeploymentPrivilege.select_by_user(self.request.user)
5266 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5268 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5272 class ControllerUsersList(generics.ListCreateAPIView):
5273 queryset = ControllerUsers.objects.select_related().all()
5274 serializer_class = ControllerUsersSerializer
5275 id_serializer_class = ControllerUsersIdSerializer
5276 filter_backends = (filters.DjangoFilterBackend,)
5277 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
5279 def get_serializer_class(self):
5280 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5282 return self.id_serializer_class
5284 return self.serializer_class
5286 def get_queryset(self):
5287 return ControllerUsers.select_by_user(self.request.user)
5289 def create(self, request, *args, **kwargs):
5290 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5291 if not (serializer.is_valid()):
5292 response = {"error": "validation",
5293 "specific_error": "not serializer.is_valid()",
\r
5294 "reasons": serializer.errors}
\r
5295 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5296 obj = serializer.object
5297 obj.caller = request.user
5298 if obj.can_update(request.user):
5299 return super(ControllerUsersList, self).create(request, *args, **kwargs)
5301 raise Exception("failed obj.can_update")
5303 ret = super(ControllerUsersList, self).create(request, *args, **kwargs)
5304 if (ret.status_code%100 != 200):
5305 raise Exception(ret.data)
5310 class ControllerUsersDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5311 queryset = ControllerUsers.objects.select_related().all()
5312 serializer_class = ControllerUsersSerializer
5313 id_serializer_class = ControllerUsersIdSerializer
5315 def get_serializer_class(self):
5316 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5318 return self.id_serializer_class
5320 return self.serializer_class
5322 def get_queryset(self):
5323 return ControllerUsers.select_by_user(self.request.user)
5325 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5327 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5331 class DeploymentRoleList(generics.ListCreateAPIView):
5332 queryset = DeploymentRole.objects.select_related().all()
5333 serializer_class = DeploymentRoleSerializer
5334 id_serializer_class = DeploymentRoleIdSerializer
5335 filter_backends = (filters.DjangoFilterBackend,)
5336 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5338 def get_serializer_class(self):
5339 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5341 return self.id_serializer_class
5343 return self.serializer_class
5345 def get_queryset(self):
5346 return DeploymentRole.select_by_user(self.request.user)
5348 def create(self, request, *args, **kwargs):
5349 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5350 if not (serializer.is_valid()):
5351 response = {"error": "validation",
5352 "specific_error": "not serializer.is_valid()",
\r
5353 "reasons": serializer.errors}
\r
5354 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5355 obj = serializer.object
5356 obj.caller = request.user
5357 if obj.can_update(request.user):
5358 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5360 raise Exception("failed obj.can_update")
5362 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5363 if (ret.status_code%100 != 200):
5364 raise Exception(ret.data)
5369 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5370 queryset = DeploymentRole.objects.select_related().all()
5371 serializer_class = DeploymentRoleSerializer
5372 id_serializer_class = DeploymentRoleIdSerializer
5374 def get_serializer_class(self):
5375 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5377 return self.id_serializer_class
5379 return self.serializer_class
5381 def get_queryset(self):
5382 return DeploymentRole.select_by_user(self.request.user)
5384 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5386 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5390 class UserCredentialList(generics.ListCreateAPIView):
5391 queryset = UserCredential.objects.select_related().all()
5392 serializer_class = UserCredentialSerializer
5393 id_serializer_class = UserCredentialIdSerializer
5394 filter_backends = (filters.DjangoFilterBackend,)
5395 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5397 def get_serializer_class(self):
5398 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5400 return self.id_serializer_class
5402 return self.serializer_class
5404 def get_queryset(self):
5405 return UserCredential.select_by_user(self.request.user)
5407 def create(self, request, *args, **kwargs):
5408 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5409 if not (serializer.is_valid()):
5410 response = {"error": "validation",
5411 "specific_error": "not serializer.is_valid()",
\r
5412 "reasons": serializer.errors}
\r
5413 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5414 obj = serializer.object
5415 obj.caller = request.user
5416 if obj.can_update(request.user):
5417 return super(UserCredentialList, self).create(request, *args, **kwargs)
5419 raise Exception("failed obj.can_update")
5421 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5422 if (ret.status_code%100 != 200):
5423 raise Exception(ret.data)
5428 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5429 queryset = UserCredential.objects.select_related().all()
5430 serializer_class = UserCredentialSerializer
5431 id_serializer_class = UserCredentialIdSerializer
5433 def get_serializer_class(self):
5434 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5436 return self.id_serializer_class
5438 return self.serializer_class
5440 def get_queryset(self):
5441 return UserCredential.select_by_user(self.request.user)
5443 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5445 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5449 class SiteDeploymentsList(generics.ListCreateAPIView):
5450 queryset = SiteDeployments.objects.select_related().all()
5451 serializer_class = SiteDeploymentsSerializer
5452 id_serializer_class = SiteDeploymentsIdSerializer
5453 filter_backends = (filters.DjangoFilterBackend,)
5454 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
5456 def get_serializer_class(self):
5457 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5459 return self.id_serializer_class
5461 return self.serializer_class
5463 def get_queryset(self):
5464 return SiteDeployments.select_by_user(self.request.user)
5466 def create(self, request, *args, **kwargs):
5467 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5468 if not (serializer.is_valid()):
5469 response = {"error": "validation",
5470 "specific_error": "not serializer.is_valid()",
\r
5471 "reasons": serializer.errors}
\r
5472 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5473 obj = serializer.object
5474 obj.caller = request.user
5475 if obj.can_update(request.user):
5476 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5478 raise Exception("failed obj.can_update")
5480 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5481 if (ret.status_code%100 != 200):
5482 raise Exception(ret.data)
5487 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5488 queryset = SiteDeployments.objects.select_related().all()
5489 serializer_class = SiteDeploymentsSerializer
5490 id_serializer_class = SiteDeploymentsIdSerializer
5492 def get_serializer_class(self):
5493 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5495 return self.id_serializer_class
5497 return self.serializer_class
5499 def get_queryset(self):
5500 return SiteDeployments.select_by_user(self.request.user)
5502 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5504 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5508 class SliceTagList(generics.ListCreateAPIView):
5509 queryset = SliceTag.objects.select_related().all()
5510 serializer_class = SliceTagSerializer
5511 id_serializer_class = SliceTagIdSerializer
5512 filter_backends = (filters.DjangoFilterBackend,)
5513 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5515 def get_serializer_class(self):
5516 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5518 return self.id_serializer_class
5520 return self.serializer_class
5522 def get_queryset(self):
5523 return SliceTag.select_by_user(self.request.user)
5525 def create(self, request, *args, **kwargs):
5526 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5527 if not (serializer.is_valid()):
5528 response = {"error": "validation",
5529 "specific_error": "not serializer.is_valid()",
\r
5530 "reasons": serializer.errors}
\r
5531 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5532 obj = serializer.object
5533 obj.caller = request.user
5534 if obj.can_update(request.user):
5535 return super(SliceTagList, self).create(request, *args, **kwargs)
5537 raise Exception("failed obj.can_update")
5539 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5540 if (ret.status_code%100 != 200):
5541 raise Exception(ret.data)
5546 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5547 queryset = SliceTag.objects.select_related().all()
5548 serializer_class = SliceTagSerializer
5549 id_serializer_class = SliceTagIdSerializer
5551 def get_serializer_class(self):
5552 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5554 return self.id_serializer_class
5556 return self.serializer_class
5558 def get_queryset(self):
5559 return SliceTag.select_by_user(self.request.user)
5561 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5563 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5567 class NetworkTemplateList(generics.ListCreateAPIView):
5568 queryset = NetworkTemplate.objects.select_related().all()
5569 serializer_class = NetworkTemplateSerializer
5570 id_serializer_class = NetworkTemplateIdSerializer
5571 filter_backends = (filters.DjangoFilterBackend,)
5572 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
5574 def get_serializer_class(self):
5575 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5577 return self.id_serializer_class
5579 return self.serializer_class
5581 def get_queryset(self):
5582 return NetworkTemplate.select_by_user(self.request.user)
5584 def create(self, request, *args, **kwargs):
5585 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5586 if not (serializer.is_valid()):
5587 response = {"error": "validation",
5588 "specific_error": "not serializer.is_valid()",
\r
5589 "reasons": serializer.errors}
\r
5590 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5591 obj = serializer.object
5592 obj.caller = request.user
5593 if obj.can_update(request.user):
5594 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
5596 raise Exception("failed obj.can_update")
5598 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
5599 if (ret.status_code%100 != 200):
5600 raise Exception(ret.data)
5605 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5606 queryset = NetworkTemplate.objects.select_related().all()
5607 serializer_class = NetworkTemplateSerializer
5608 id_serializer_class = NetworkTemplateIdSerializer
5610 def get_serializer_class(self):
5611 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5613 return self.id_serializer_class
5615 return self.serializer_class
5617 def get_queryset(self):
5618 return NetworkTemplate.select_by_user(self.request.user)
5620 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5622 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5626 class RouterList(generics.ListCreateAPIView):
5627 queryset = Router.objects.select_related().all()
5628 serializer_class = RouterSerializer
5629 id_serializer_class = RouterIdSerializer
5630 filter_backends = (filters.DjangoFilterBackend,)
5631 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
5633 def get_serializer_class(self):
5634 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5636 return self.id_serializer_class
5638 return self.serializer_class
5640 def get_queryset(self):
5641 return Router.select_by_user(self.request.user)
5643 def create(self, request, *args, **kwargs):
5644 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5645 if not (serializer.is_valid()):
5646 response = {"error": "validation",
5647 "specific_error": "not serializer.is_valid()",
\r
5648 "reasons": serializer.errors}
\r
5649 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5650 obj = serializer.object
5651 obj.caller = request.user
5652 if obj.can_update(request.user):
5653 return super(RouterList, self).create(request, *args, **kwargs)
5655 raise Exception("failed obj.can_update")
5657 ret = super(RouterList, self).create(request, *args, **kwargs)
5658 if (ret.status_code%100 != 200):
5659 raise Exception(ret.data)
5664 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5665 queryset = Router.objects.select_related().all()
5666 serializer_class = RouterSerializer
5667 id_serializer_class = RouterIdSerializer
5669 def get_serializer_class(self):
5670 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5672 return self.id_serializer_class
5674 return self.serializer_class
5676 def get_queryset(self):
5677 return Router.select_by_user(self.request.user)
5679 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5681 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5685 class ServiceResourceList(generics.ListCreateAPIView):
5686 queryset = ServiceResource.objects.select_related().all()
5687 serializer_class = ServiceResourceSerializer
5688 id_serializer_class = ServiceResourceIdSerializer
5689 filter_backends = (filters.DjangoFilterBackend,)
5690 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5692 def get_serializer_class(self):
5693 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5695 return self.id_serializer_class
5697 return self.serializer_class
5699 def get_queryset(self):
5700 return ServiceResource.select_by_user(self.request.user)
5702 def create(self, request, *args, **kwargs):
5703 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5704 if not (serializer.is_valid()):
5705 response = {"error": "validation",
5706 "specific_error": "not serializer.is_valid()",
\r
5707 "reasons": serializer.errors}
\r
5708 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5709 obj = serializer.object
5710 obj.caller = request.user
5711 if obj.can_update(request.user):
5712 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5714 raise Exception("failed obj.can_update")
5716 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5717 if (ret.status_code%100 != 200):
5718 raise Exception(ret.data)
5723 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5724 queryset = ServiceResource.objects.select_related().all()
5725 serializer_class = ServiceResourceSerializer
5726 id_serializer_class = ServiceResourceIdSerializer
5728 def get_serializer_class(self):
5729 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5731 return self.id_serializer_class
5733 return self.serializer_class
5735 def get_queryset(self):
5736 return ServiceResource.select_by_user(self.request.user)
5738 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5740 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5744 class ControllerSlicesList(generics.ListCreateAPIView):
5745 queryset = ControllerSlices.objects.select_related().all()
5746 serializer_class = ControllerSlicesSerializer
5747 id_serializer_class = ControllerSlicesIdSerializer
5748 filter_backends = (filters.DjangoFilterBackend,)
5749 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
5751 def get_serializer_class(self):
5752 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5754 return self.id_serializer_class
5756 return self.serializer_class
5758 def get_queryset(self):
5759 return ControllerSlices.select_by_user(self.request.user)
5761 def create(self, request, *args, **kwargs):
5762 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5763 if not (serializer.is_valid()):
5764 response = {"error": "validation",
5765 "specific_error": "not serializer.is_valid()",
\r
5766 "reasons": serializer.errors}
\r
5767 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5768 obj = serializer.object
5769 obj.caller = request.user
5770 if obj.can_update(request.user):
5771 return super(ControllerSlicesList, self).create(request, *args, **kwargs)
5773 raise Exception("failed obj.can_update")
5775 ret = super(ControllerSlicesList, self).create(request, *args, **kwargs)
5776 if (ret.status_code%100 != 200):
5777 raise Exception(ret.data)
5782 class ControllerSlicesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5783 queryset = ControllerSlices.objects.select_related().all()
5784 serializer_class = ControllerSlicesSerializer
5785 id_serializer_class = ControllerSlicesIdSerializer
5787 def get_serializer_class(self):
5788 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5790 return self.id_serializer_class
5792 return self.serializer_class
5794 def get_queryset(self):
5795 return ControllerSlices.select_by_user(self.request.user)
5797 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5799 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView