1 from rest_framework.decorators import api_view
2 from rest_framework.response import Response
3 from rest_framework.reverse import reverse
4 from rest_framework import serializers
5 from rest_framework import generics
6 from rest_framework import status
7 from rest_framework.generics import GenericAPIView
8 from core.models import *
9 from django.forms import widgets
10 from rest_framework import filters
11 from django.conf.urls import patterns, url
14 Schema of the generator object:
15 all: Set of all Model objects
16 all_if(regex): Set of Model objects that match regex
19 plural: English plural of object name
20 camel: CamelCase version of object name
21 refs: list of references to other Model objects
22 props: list of properties minus refs
24 TODO: Deal with subnets
27 def get_REST_patterns():
29 url(r'^plstackapi/$', api_root),
31 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
32 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
34 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
35 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
37 url(r'plstackapi/controllerimages/$', ControllerImagesList.as_view(), name='controllerimages-list'),
38 url(r'plstackapi/controllerimages/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerImagesDetail.as_view(), name ='controllerimages-detail'),
40 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
41 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
43 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
44 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
46 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
47 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
49 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
50 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
52 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
53 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
55 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
56 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
58 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
59 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
61 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
62 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
64 url(r'plstackapi/controllerprivileges/$', ControllerPrivilegeList.as_view(), name='controllerprivilege-list'),
65 url(r'plstackapi/controllerprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerPrivilegeDetail.as_view(), name ='controllerprivilege-detail'),
67 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
68 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
70 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
71 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
73 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
74 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
76 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
77 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
79 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
80 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
82 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
83 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
85 url(r'plstackapi/controllernetworks/$', ControllerNetworksList.as_view(), name='controllernetworks-list'),
86 url(r'plstackapi/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworksDetail.as_view(), name ='controllernetworks-detail'),
88 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
89 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
91 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
92 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
94 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
95 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
97 url(r'plstackapi/controllersitedeploymentses/$', ControllerSiteDeploymentsList.as_view(), name='controllersitedeployments-list'),
98 url(r'plstackapi/controllersitedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSiteDeploymentsDetail.as_view(), name ='controllersitedeployments-detail'),
100 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
101 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
103 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
104 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
106 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
107 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
109 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
110 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
112 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
113 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
115 url(r'plstackapi/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
116 url(r'plstackapi/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
118 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
119 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
121 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
122 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
124 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
125 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
127 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
128 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
130 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
131 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
133 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
134 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
136 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
137 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
139 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
140 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
142 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
143 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
145 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
146 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
148 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
149 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
151 url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
152 url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
154 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
155 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
157 url(r'plstackapi/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
158 url(r'plstackapi/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
160 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
161 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
163 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
164 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
166 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
167 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
169 url(r'plstackapi/controllerusers/$', ControllerUsersList.as_view(), name='controllerusers-list'),
170 url(r'plstackapi/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUsersDetail.as_view(), name ='controllerusers-detail'),
172 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
173 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
175 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
176 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
178 url(r'plstackapi/sitedeployments/$', SiteDeploymentsList.as_view(), name='sitedeployments-list'),
179 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentsDetail.as_view(), name ='sitedeployments-detail'),
181 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
182 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
184 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
185 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
187 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
188 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
190 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
191 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
193 url(r'plstackapi/controllerslices/$', ControllerSlicesList.as_view(), name='controllerslices-list'),
194 url(r'plstackapi/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSlicesDetail.as_view(), name ='controllerslices-detail'),
199 def api_root(request, format=None):
201 'flavors': reverse('flavor-list', request=request, format=format),
202 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
203 'controllerimageses': reverse('controllerimages-list', request=request, format=format),
204 'images': reverse('image-list', request=request, format=format),
205 'networkparameters': reverse('networkparameter-list', request=request, format=format),
206 'sites': reverse('site-list', request=request, format=format),
207 'sliceroles': reverse('slicerole-list', request=request, format=format),
208 'tags': reverse('tag-list', request=request, format=format),
209 'invoices': reverse('invoice-list', request=request, format=format),
210 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
211 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
212 'controllerprivileges': reverse('controllerprivilege-list', request=request, format=format),
213 'networkslivers': reverse('networksliver-list', request=request, format=format),
214 'projects': reverse('project-list', request=request, format=format),
215 'slices': reverse('slice-list', request=request, format=format),
216 'networks': reverse('network-list', request=request, format=format),
217 'services': reverse('service-list', request=request, format=format),
218 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
219 'controllernetworkses': reverse('controllernetworks-list', request=request, format=format),
220 'charges': reverse('charge-list', request=request, format=format),
221 'roles': reverse('role-list', request=request, format=format),
222 'usableobjects': reverse('usableobject-list', request=request, format=format),
223 'controllersitedeploymentses': reverse('controllersitedeployments-list', request=request, format=format),
224 'siteroles': reverse('siterole-list', request=request, format=format),
225 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
226 'slivers': reverse('sliver-list', request=request, format=format),
227 'nodes': reverse('node-list', request=request, format=format),
228 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
229 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
230 'reservedresources': reverse('reservedresource-list', request=request, format=format),
231 'payments': reverse('payment-list', request=request, format=format),
232 'networkslices': reverse('networkslice-list', request=request, format=format),
233 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
234 'controllers': reverse('controller-list', request=request, format=format),
235 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
236 'users': reverse('user-list', request=request, format=format),
237 'deployments': reverse('deployment-list', request=request, format=format),
238 'reservations': reverse('reservation-list', request=request, format=format),
239 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
240 'planetstacks': reverse('planetstack-list', request=request, format=format),
241 'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
242 'accounts': reverse('account-list', request=request, format=format),
243 'controllerroles': reverse('controllerrole-list', request=request, format=format),
244 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
245 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
246 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
247 'controlleruserses': reverse('controllerusers-list', request=request, format=format),
248 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
249 'usercredentials': reverse('usercredential-list', request=request, format=format),
250 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
251 'slicetags': reverse('slicetag-list', request=request, format=format),
252 'networktemplates': reverse('networktemplate-list', request=request, format=format),
253 'routers': reverse('router-list', request=request, format=format),
254 'serviceresources': reverse('serviceresource-list', request=request, format=format),
255 'controllersliceses': reverse('controllerslices-list', request=request, format=format),
259 # Based on serializers.py
261 class XOSModelSerializer(serializers.ModelSerializer):
262 def save_object(self, obj, **kwargs):
264 """ rest_framework can't deal with ManyToMany relations that have a
265 through table. In plstackapi, most of the through tables we have
266 use defaults or blank fields, so there's no reason why we shouldn't
267 be able to save these objects.
269 So, let's strip out these m2m relations, and deal with them ourself.
271 obj._complex_m2m_data={};
\r
272 if getattr(obj, '_m2m_data', None):
\r
273 for relatedObject in obj._meta.get_all_related_many_to_many_objects():
\r
274 if (relatedObject.field.rel.through._meta.auto_created):
\r
275 # These are non-trough ManyToMany relations and
\r
276 # can be updated just fine
\r
278 fieldName = relatedObject.get_accessor_name()
\r
279 if fieldName in obj._m2m_data.keys():
\r
280 obj._complex_m2m_data[fieldName] = (relatedObject, obj._m2m_data[fieldName])
\r
281 del obj._m2m_data[fieldName]
\r
283 serializers.ModelSerializer.save_object(self, obj, **kwargs);
285 for (accessor, stuff) in obj._complex_m2m_data.items():
286 (relatedObject, data) = stuff
287 through = relatedObject.field.rel.through
288 local_fieldName = relatedObject.field.m2m_reverse_field_name()
289 remote_fieldName = relatedObject.field.m2m_field_name()
291 # get the current set of existing relations
292 existing = through.objects.filter(**{local_fieldName: obj});
294 data_ids = [item.id for item in data]
295 existing_ids = [getattr(item,remote_fieldName).id for item in existing]
297 #print "data_ids", data_ids
298 #print "existing_ids", existing_ids
300 # remove relations that are in 'existing' but not in 'data'
301 for item in list(existing):
302 if (getattr(item,remote_fieldName).id not in data_ids):
303 print "delete", getattr(item,remote_fieldName)
304 item.delete() #(purge=True)
306 # add relations that are in 'data' but not in 'existing'
308 if (item.id not in existing_ids):
310 newModel = through(**{local_fieldName: obj, remote_fieldName: item})
315 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
316 id = serializers.Field()
319 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
322 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
323 validators = serializers.SerializerMethodField("getValidators")
324 def getHumanReadableName(self, obj):
\r
326 def getValidators(self, obj):
328 return obj.getValidators()
333 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
335 class FlavorIdSerializer(XOSModelSerializer):
336 id = serializers.Field()
339 deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
342 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
343 validators = serializers.SerializerMethodField("getValidators")
344 def getHumanReadableName(self, obj):
\r
346 def getValidators(self, obj):
\r
348 return obj.getValidators()
353 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
358 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
359 id = serializers.Field()
361 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
362 validators = serializers.SerializerMethodField("getValidators")
363 def getHumanReadableName(self, obj):
\r
365 def getValidators(self, obj):
367 return obj.getValidators()
371 model = ServiceAttribute
372 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
374 class ServiceAttributeIdSerializer(XOSModelSerializer):
375 id = serializers.Field()
377 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
378 validators = serializers.SerializerMethodField("getValidators")
379 def getHumanReadableName(self, obj):
\r
381 def getValidators(self, obj):
\r
383 return obj.getValidators()
387 model = ServiceAttribute
388 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
393 class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
394 id = serializers.Field()
396 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
397 validators = serializers.SerializerMethodField("getValidators")
398 def getHumanReadableName(self, obj):
\r
400 def getValidators(self, obj):
402 return obj.getValidators()
406 model = ControllerImages
407 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
409 class ControllerImagesIdSerializer(XOSModelSerializer):
410 id = serializers.Field()
412 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
413 validators = serializers.SerializerMethodField("getValidators")
414 def getHumanReadableName(self, obj):
\r
416 def getValidators(self, obj):
\r
418 return obj.getValidators()
422 model = ControllerImages
423 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
428 class ImageSerializer(serializers.HyperlinkedModelSerializer):
429 id = serializers.Field()
432 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
435 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
436 validators = serializers.SerializerMethodField("getValidators")
437 def getHumanReadableName(self, obj):
\r
439 def getValidators(self, obj):
441 return obj.getValidators()
446 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
448 class ImageIdSerializer(XOSModelSerializer):
449 id = serializers.Field()
452 deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
455 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
456 validators = serializers.SerializerMethodField("getValidators")
457 def getHumanReadableName(self, obj):
\r
459 def getValidators(self, obj):
\r
461 return obj.getValidators()
466 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
471 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
472 id = serializers.Field()
474 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
475 validators = serializers.SerializerMethodField("getValidators")
476 def getHumanReadableName(self, obj):
\r
478 def getValidators(self, obj):
480 return obj.getValidators()
484 model = NetworkParameter
485 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
487 class NetworkParameterIdSerializer(XOSModelSerializer):
488 id = serializers.Field()
490 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
491 validators = serializers.SerializerMethodField("getValidators")
492 def getHumanReadableName(self, obj):
\r
494 def getValidators(self, obj):
\r
496 return obj.getValidators()
500 model = NetworkParameter
501 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
506 class SiteSerializer(serializers.HyperlinkedModelSerializer):
507 id = serializers.Field()
510 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
513 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
514 validators = serializers.SerializerMethodField("getValidators")
515 def getHumanReadableName(self, obj):
\r
517 def getValidators(self, obj):
519 return obj.getValidators()
524 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
526 class SiteIdSerializer(XOSModelSerializer):
527 id = serializers.Field()
530 deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
533 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
534 validators = serializers.SerializerMethodField("getValidators")
535 def getHumanReadableName(self, obj):
\r
537 def getValidators(self, obj):
\r
539 return obj.getValidators()
544 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
549 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
550 id = serializers.Field()
552 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
553 validators = serializers.SerializerMethodField("getValidators")
554 def getHumanReadableName(self, obj):
\r
556 def getValidators(self, obj):
558 return obj.getValidators()
563 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
565 class SliceRoleIdSerializer(XOSModelSerializer):
566 id = serializers.Field()
568 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
569 validators = serializers.SerializerMethodField("getValidators")
570 def getHumanReadableName(self, obj):
\r
572 def getValidators(self, obj):
\r
574 return obj.getValidators()
579 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
584 class TagSerializer(serializers.HyperlinkedModelSerializer):
585 id = serializers.Field()
587 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
588 validators = serializers.SerializerMethodField("getValidators")
589 def getHumanReadableName(self, obj):
\r
591 def getValidators(self, obj):
593 return obj.getValidators()
598 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
600 class TagIdSerializer(XOSModelSerializer):
601 id = serializers.Field()
603 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
604 validators = serializers.SerializerMethodField("getValidators")
605 def getHumanReadableName(self, obj):
\r
607 def getValidators(self, obj):
\r
609 return obj.getValidators()
614 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
619 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
620 id = serializers.Field()
622 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
623 validators = serializers.SerializerMethodField("getValidators")
624 def getHumanReadableName(self, obj):
\r
626 def getValidators(self, obj):
628 return obj.getValidators()
633 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
635 class InvoiceIdSerializer(XOSModelSerializer):
636 id = serializers.Field()
638 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
639 validators = serializers.SerializerMethodField("getValidators")
640 def getHumanReadableName(self, obj):
\r
642 def getValidators(self, obj):
\r
644 return obj.getValidators()
649 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
654 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
655 id = serializers.Field()
657 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
658 validators = serializers.SerializerMethodField("getValidators")
659 def getHumanReadableName(self, obj):
\r
661 def getValidators(self, obj):
663 return obj.getValidators()
667 model = SlicePrivilege
668 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
670 class SlicePrivilegeIdSerializer(XOSModelSerializer):
671 id = serializers.Field()
673 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
674 validators = serializers.SerializerMethodField("getValidators")
675 def getHumanReadableName(self, obj):
\r
677 def getValidators(self, obj):
\r
679 return obj.getValidators()
683 model = SlicePrivilege
684 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
689 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
690 id = serializers.Field()
692 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
693 validators = serializers.SerializerMethodField("getValidators")
694 def getHumanReadableName(self, obj):
\r
696 def getValidators(self, obj):
698 return obj.getValidators()
702 model = PlanetStackRole
703 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
705 class PlanetStackRoleIdSerializer(XOSModelSerializer):
706 id = serializers.Field()
708 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
709 validators = serializers.SerializerMethodField("getValidators")
710 def getHumanReadableName(self, obj):
\r
712 def getValidators(self, obj):
\r
714 return obj.getValidators()
718 model = PlanetStackRole
719 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
724 class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
725 id = serializers.Field()
727 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
728 validators = serializers.SerializerMethodField("getValidators")
729 def getHumanReadableName(self, obj):
\r
731 def getValidators(self, obj):
733 return obj.getValidators()
737 model = ControllerPrivilege
738 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
740 class ControllerPrivilegeIdSerializer(XOSModelSerializer):
741 id = serializers.Field()
743 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
744 validators = serializers.SerializerMethodField("getValidators")
745 def getHumanReadableName(self, obj):
\r
747 def getValidators(self, obj):
\r
749 return obj.getValidators()
753 model = ControllerPrivilege
754 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
759 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
760 id = serializers.Field()
762 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
763 validators = serializers.SerializerMethodField("getValidators")
764 def getHumanReadableName(self, obj):
\r
766 def getValidators(self, obj):
768 return obj.getValidators()
772 model = NetworkSliver
773 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
775 class NetworkSliverIdSerializer(XOSModelSerializer):
776 id = serializers.Field()
778 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
779 validators = serializers.SerializerMethodField("getValidators")
780 def getHumanReadableName(self, obj):
\r
782 def getValidators(self, obj):
\r
784 return obj.getValidators()
788 model = NetworkSliver
789 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
794 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
795 id = serializers.Field()
797 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
798 validators = serializers.SerializerMethodField("getValidators")
799 def getHumanReadableName(self, obj):
\r
801 def getValidators(self, obj):
803 return obj.getValidators()
808 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
810 class ProjectIdSerializer(XOSModelSerializer):
811 id = serializers.Field()
813 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
814 validators = serializers.SerializerMethodField("getValidators")
815 def getHumanReadableName(self, obj):
\r
817 def getValidators(self, obj):
\r
819 return obj.getValidators()
824 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
829 class SliceSerializer(serializers.HyperlinkedModelSerializer):
830 id = serializers.Field()
833 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
837 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
840 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
841 validators = serializers.SerializerMethodField("getValidators")
842 def getHumanReadableName(self, obj):
\r
844 def getValidators(self, obj):
846 return obj.getValidators()
851 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',)
853 class SliceIdSerializer(XOSModelSerializer):
854 id = serializers.Field()
857 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
861 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
864 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
865 validators = serializers.SerializerMethodField("getValidators")
866 def getHumanReadableName(self, obj):
\r
868 def getValidators(self, obj):
\r
870 return obj.getValidators()
875 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',)
880 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
881 id = serializers.Field()
884 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
888 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
892 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
896 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
900 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
903 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
904 validators = serializers.SerializerMethodField("getValidators")
905 def getHumanReadableName(self, obj):
\r
907 def getValidators(self, obj):
909 return obj.getValidators()
914 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',)
916 class NetworkIdSerializer(XOSModelSerializer):
917 id = serializers.Field()
920 slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
924 slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
928 slivers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='sliver-detail')
932 routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
936 routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
939 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
940 validators = serializers.SerializerMethodField("getValidators")
941 def getHumanReadableName(self, obj):
\r
943 def getValidators(self, obj):
\r
945 return obj.getValidators()
950 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',)
955 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
956 id = serializers.Field()
958 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
959 validators = serializers.SerializerMethodField("getValidators")
960 def getHumanReadableName(self, obj):
\r
962 def getValidators(self, obj):
964 return obj.getValidators()
969 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
971 class ServiceIdSerializer(XOSModelSerializer):
972 id = serializers.Field()
974 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
975 validators = serializers.SerializerMethodField("getValidators")
976 def getHumanReadableName(self, obj):
\r
978 def getValidators(self, obj):
\r
980 return obj.getValidators()
985 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
990 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
991 id = serializers.Field()
993 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
994 validators = serializers.SerializerMethodField("getValidators")
995 def getHumanReadableName(self, obj):
\r
997 def getValidators(self, obj):
999 return obj.getValidators()
1003 model = ServiceClass
1004 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1006 class ServiceClassIdSerializer(XOSModelSerializer):
1007 id = serializers.Field()
1009 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1010 validators = serializers.SerializerMethodField("getValidators")
1011 def getHumanReadableName(self, obj):
\r
1013 def getValidators(self, obj):
\r
1015 return obj.getValidators()
1019 model = ServiceClass
1020 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1025 class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
1026 id = serializers.Field()
1028 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1029 validators = serializers.SerializerMethodField("getValidators")
1030 def getHumanReadableName(self, obj):
\r
1032 def getValidators(self, obj):
1034 return obj.getValidators()
1038 model = ControllerNetworks
1039 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1041 class ControllerNetworksIdSerializer(XOSModelSerializer):
1042 id = serializers.Field()
1044 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1045 validators = serializers.SerializerMethodField("getValidators")
1046 def getHumanReadableName(self, obj):
\r
1048 def getValidators(self, obj):
\r
1050 return obj.getValidators()
1054 model = ControllerNetworks
1055 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1060 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
1061 id = serializers.Field()
1063 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1064 validators = serializers.SerializerMethodField("getValidators")
1065 def getHumanReadableName(self, obj):
\r
1067 def getValidators(self, obj):
1069 return obj.getValidators()
1074 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1076 class ChargeIdSerializer(XOSModelSerializer):
1077 id = serializers.Field()
1079 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1080 validators = serializers.SerializerMethodField("getValidators")
1081 def getHumanReadableName(self, obj):
\r
1083 def getValidators(self, obj):
\r
1085 return obj.getValidators()
1090 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1095 class RoleSerializer(serializers.HyperlinkedModelSerializer):
1096 id = serializers.Field()
1098 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1099 validators = serializers.SerializerMethodField("getValidators")
1100 def getHumanReadableName(self, obj):
\r
1102 def getValidators(self, obj):
1104 return obj.getValidators()
1109 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1111 class RoleIdSerializer(XOSModelSerializer):
1112 id = serializers.Field()
1114 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1115 validators = serializers.SerializerMethodField("getValidators")
1116 def getHumanReadableName(self, obj):
\r
1118 def getValidators(self, obj):
\r
1120 return obj.getValidators()
1125 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1130 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
1131 id = serializers.Field()
1133 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1134 validators = serializers.SerializerMethodField("getValidators")
1135 def getHumanReadableName(self, obj):
\r
1137 def getValidators(self, obj):
1139 return obj.getValidators()
1143 model = UsableObject
1144 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1146 class UsableObjectIdSerializer(XOSModelSerializer):
1147 id = serializers.Field()
1149 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1150 validators = serializers.SerializerMethodField("getValidators")
1151 def getHumanReadableName(self, obj):
\r
1153 def getValidators(self, obj):
\r
1155 return obj.getValidators()
1159 model = UsableObject
1160 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1165 class ControllerSiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1166 id = serializers.Field()
1168 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1169 validators = serializers.SerializerMethodField("getValidators")
1170 def getHumanReadableName(self, obj):
\r
1172 def getValidators(self, obj):
1174 return obj.getValidators()
1178 model = ControllerSiteDeployments
1179 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1181 class ControllerSiteDeploymentsIdSerializer(XOSModelSerializer):
1182 id = serializers.Field()
1184 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1185 validators = serializers.SerializerMethodField("getValidators")
1186 def getHumanReadableName(self, obj):
\r
1188 def getValidators(self, obj):
\r
1190 return obj.getValidators()
1194 model = ControllerSiteDeployments
1195 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1200 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
1201 id = serializers.Field()
1203 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1204 validators = serializers.SerializerMethodField("getValidators")
1205 def getHumanReadableName(self, obj):
\r
1207 def getValidators(self, obj):
1209 return obj.getValidators()
1214 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1216 class SiteRoleIdSerializer(XOSModelSerializer):
1217 id = serializers.Field()
1219 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1220 validators = serializers.SerializerMethodField("getValidators")
1221 def getHumanReadableName(self, obj):
\r
1223 def getValidators(self, obj):
\r
1225 return obj.getValidators()
1230 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1235 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
1236 id = serializers.Field()
1238 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1239 validators = serializers.SerializerMethodField("getValidators")
1240 def getHumanReadableName(self, obj):
\r
1242 def getValidators(self, obj):
1244 return obj.getValidators()
1248 model = SliceCredential
1249 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1251 class SliceCredentialIdSerializer(XOSModelSerializer):
1252 id = serializers.Field()
1254 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1255 validators = serializers.SerializerMethodField("getValidators")
1256 def getHumanReadableName(self, obj):
\r
1258 def getValidators(self, obj):
\r
1260 return obj.getValidators()
1264 model = SliceCredential
1265 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1270 class SliverSerializer(serializers.HyperlinkedModelSerializer):
1271 id = serializers.Field()
1274 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1277 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1278 validators = serializers.SerializerMethodField("getValidators")
1279 def getHumanReadableName(self, obj):
\r
1281 def getValidators(self, obj):
1283 return obj.getValidators()
1288 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',)
1290 class SliverIdSerializer(XOSModelSerializer):
1291 id = serializers.Field()
1294 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
1297 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1298 validators = serializers.SerializerMethodField("getValidators")
1299 def getHumanReadableName(self, obj):
\r
1301 def getValidators(self, obj):
\r
1303 return obj.getValidators()
1308 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',)
1313 class NodeSerializer(serializers.HyperlinkedModelSerializer):
1314 id = serializers.Field()
1316 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1317 validators = serializers.SerializerMethodField("getValidators")
1318 def getHumanReadableName(self, obj):
\r
1320 def getValidators(self, obj):
1322 return obj.getValidators()
1327 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1329 class NodeIdSerializer(XOSModelSerializer):
1330 id = serializers.Field()
1332 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1333 validators = serializers.SerializerMethodField("getValidators")
1334 def getHumanReadableName(self, obj):
\r
1336 def getValidators(self, obj):
\r
1338 return obj.getValidators()
1343 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1348 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1349 id = serializers.Field()
1352 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1355 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1356 validators = serializers.SerializerMethodField("getValidators")
1357 def getHumanReadableName(self, obj):
\r
1359 def getValidators(self, obj):
1361 return obj.getValidators()
1365 model = DashboardView
1366 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1368 class DashboardViewIdSerializer(XOSModelSerializer):
1369 id = serializers.Field()
1372 controllers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='controller-detail')
1375 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1376 validators = serializers.SerializerMethodField("getValidators")
1377 def getHumanReadableName(self, obj):
\r
1379 def getValidators(self, obj):
\r
1381 return obj.getValidators()
1385 model = DashboardView
1386 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1391 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1392 id = serializers.Field()
1394 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1395 validators = serializers.SerializerMethodField("getValidators")
1396 def getHumanReadableName(self, obj):
\r
1398 def getValidators(self, obj):
1400 return obj.getValidators()
1404 model = ImageDeployments
1405 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1407 class ImageDeploymentsIdSerializer(XOSModelSerializer):
1408 id = serializers.Field()
1410 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1411 validators = serializers.SerializerMethodField("getValidators")
1412 def getHumanReadableName(self, obj):
\r
1414 def getValidators(self, obj):
\r
1416 return obj.getValidators()
1420 model = ImageDeployments
1421 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1426 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
1427 id = serializers.Field()
1429 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1430 validators = serializers.SerializerMethodField("getValidators")
1431 def getHumanReadableName(self, obj):
\r
1433 def getValidators(self, obj):
1435 return obj.getValidators()
1439 model = ReservedResource
1440 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1442 class ReservedResourceIdSerializer(XOSModelSerializer):
1443 id = serializers.Field()
1445 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1446 validators = serializers.SerializerMethodField("getValidators")
1447 def getHumanReadableName(self, obj):
\r
1449 def getValidators(self, obj):
\r
1451 return obj.getValidators()
1455 model = ReservedResource
1456 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1461 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
1462 id = serializers.Field()
1464 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1465 validators = serializers.SerializerMethodField("getValidators")
1466 def getHumanReadableName(self, obj):
\r
1468 def getValidators(self, obj):
1470 return obj.getValidators()
1475 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1477 class PaymentIdSerializer(XOSModelSerializer):
1478 id = serializers.Field()
1480 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1481 validators = serializers.SerializerMethodField("getValidators")
1482 def getHumanReadableName(self, obj):
\r
1484 def getValidators(self, obj):
\r
1486 return obj.getValidators()
1491 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1496 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1497 id = serializers.Field()
1499 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1500 validators = serializers.SerializerMethodField("getValidators")
1501 def getHumanReadableName(self, obj):
\r
1503 def getValidators(self, obj):
1505 return obj.getValidators()
1509 model = NetworkSlice
1510 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1512 class NetworkSliceIdSerializer(XOSModelSerializer):
1513 id = serializers.Field()
1515 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1516 validators = serializers.SerializerMethodField("getValidators")
1517 def getHumanReadableName(self, obj):
\r
1519 def getValidators(self, obj):
\r
1521 return obj.getValidators()
1525 model = NetworkSlice
1526 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1531 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1532 id = serializers.Field()
1534 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1535 validators = serializers.SerializerMethodField("getValidators")
1536 def getHumanReadableName(self, obj):
\r
1538 def getValidators(self, obj):
1540 return obj.getValidators()
1544 model = UserDashboardView
1545 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1547 class UserDashboardViewIdSerializer(XOSModelSerializer):
1548 id = serializers.Field()
1550 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1551 validators = serializers.SerializerMethodField("getValidators")
1552 def getHumanReadableName(self, obj):
\r
1554 def getValidators(self, obj):
\r
1556 return obj.getValidators()
1560 model = UserDashboardView
1561 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1566 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
1567 id = serializers.Field()
1570 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
1573 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1574 validators = serializers.SerializerMethodField("getValidators")
1575 def getHumanReadableName(self, obj):
\r
1577 def getValidators(self, obj):
1579 return obj.getValidators()
1584 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1586 class ControllerIdSerializer(XOSModelSerializer):
1587 id = serializers.Field()
1590 dashboardviews = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='dashboardview-detail')
1593 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1594 validators = serializers.SerializerMethodField("getValidators")
1595 def getHumanReadableName(self, obj):
\r
1597 def getValidators(self, obj):
\r
1599 return obj.getValidators()
1604 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1609 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1610 id = serializers.Field()
1612 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1613 validators = serializers.SerializerMethodField("getValidators")
1614 def getHumanReadableName(self, obj):
\r
1616 def getValidators(self, obj):
1618 return obj.getValidators()
1622 model = PlanetStackPrivilege
1623 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1625 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
1626 id = serializers.Field()
1628 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1629 validators = serializers.SerializerMethodField("getValidators")
1630 def getHumanReadableName(self, obj):
\r
1632 def getValidators(self, obj):
\r
1634 return obj.getValidators()
1638 model = PlanetStackPrivilege
1639 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1644 class UserSerializer(serializers.HyperlinkedModelSerializer):
1645 id = serializers.Field()
1647 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1648 validators = serializers.SerializerMethodField("getValidators")
1649 def getHumanReadableName(self, obj):
\r
1651 def getValidators(self, obj):
1653 return obj.getValidators()
1658 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',)
1660 class UserIdSerializer(XOSModelSerializer):
1661 id = serializers.Field()
1663 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1664 validators = serializers.SerializerMethodField("getValidators")
1665 def getHumanReadableName(self, obj):
\r
1667 def getValidators(self, obj):
\r
1669 return obj.getValidators()
1674 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',)
1679 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1680 id = serializers.Field()
1683 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1687 images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
1691 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1694 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1695 validators = serializers.SerializerMethodField("getValidators")
1696 def getHumanReadableName(self, obj):
\r
1698 def getValidators(self, obj):
1700 return obj.getValidators()
1705 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1707 class DeploymentIdSerializer(XOSModelSerializer):
1708 id = serializers.Field()
1711 flavors = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='flavor-detail')
1715 images = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='image-detail')
1719 sites = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='site-detail')
1722 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1723 validators = serializers.SerializerMethodField("getValidators")
1724 def getHumanReadableName(self, obj):
\r
1726 def getValidators(self, obj):
\r
1728 return obj.getValidators()
1733 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
1738 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1739 id = serializers.Field()
1741 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1742 validators = serializers.SerializerMethodField("getValidators")
1743 def getHumanReadableName(self, obj):
\r
1745 def getValidators(self, obj):
1747 return obj.getValidators()
1752 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1754 class ReservationIdSerializer(XOSModelSerializer):
1755 id = serializers.Field()
1757 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1758 validators = serializers.SerializerMethodField("getValidators")
1759 def getHumanReadableName(self, obj):
\r
1761 def getValidators(self, obj):
\r
1763 return obj.getValidators()
1768 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1773 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1774 id = serializers.Field()
1776 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1777 validators = serializers.SerializerMethodField("getValidators")
1778 def getHumanReadableName(self, obj):
\r
1780 def getValidators(self, obj):
1782 return obj.getValidators()
1786 model = SitePrivilege
1787 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1789 class SitePrivilegeIdSerializer(XOSModelSerializer):
1790 id = serializers.Field()
1792 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1793 validators = serializers.SerializerMethodField("getValidators")
1794 def getHumanReadableName(self, obj):
\r
1796 def getValidators(self, obj):
\r
1798 return obj.getValidators()
1802 model = SitePrivilege
1803 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1808 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1809 id = serializers.Field()
1811 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1812 validators = serializers.SerializerMethodField("getValidators")
1813 def getHumanReadableName(self, obj):
\r
1815 def getValidators(self, obj):
1817 return obj.getValidators()
1822 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1824 class PlanetStackIdSerializer(XOSModelSerializer):
1825 id = serializers.Field()
1827 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1828 validators = serializers.SerializerMethodField("getValidators")
1829 def getHumanReadableName(self, obj):
\r
1831 def getValidators(self, obj):
\r
1833 return obj.getValidators()
1838 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1843 class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1844 id = serializers.Field()
1846 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1847 validators = serializers.SerializerMethodField("getValidators")
1848 def getHumanReadableName(self, obj):
\r
1850 def getValidators(self, obj):
1852 return obj.getValidators()
1856 model = ControllerDashboardView
1857 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1859 class ControllerDashboardViewIdSerializer(XOSModelSerializer):
1860 id = serializers.Field()
1862 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1863 validators = serializers.SerializerMethodField("getValidators")
1864 def getHumanReadableName(self, obj):
\r
1866 def getValidators(self, obj):
\r
1868 return obj.getValidators()
1872 model = ControllerDashboardView
1873 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
1878 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1879 id = serializers.Field()
1881 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1882 validators = serializers.SerializerMethodField("getValidators")
1883 def getHumanReadableName(self, obj):
\r
1885 def getValidators(self, obj):
1887 return obj.getValidators()
1892 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1894 class AccountIdSerializer(XOSModelSerializer):
1895 id = serializers.Field()
1897 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1898 validators = serializers.SerializerMethodField("getValidators")
1899 def getHumanReadableName(self, obj):
\r
1901 def getValidators(self, obj):
\r
1903 return obj.getValidators()
1908 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1913 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
1914 id = serializers.Field()
1916 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1917 validators = serializers.SerializerMethodField("getValidators")
1918 def getHumanReadableName(self, obj):
\r
1920 def getValidators(self, obj):
1922 return obj.getValidators()
1926 model = ControllerRole
1927 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1929 class ControllerRoleIdSerializer(XOSModelSerializer):
1930 id = serializers.Field()
1932 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1933 validators = serializers.SerializerMethodField("getValidators")
1934 def getHumanReadableName(self, obj):
\r
1936 def getValidators(self, obj):
\r
1938 return obj.getValidators()
1942 model = ControllerRole
1943 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1948 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1949 id = serializers.Field()
1951 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1952 validators = serializers.SerializerMethodField("getValidators")
1953 def getHumanReadableName(self, obj):
\r
1955 def getValidators(self, obj):
1957 return obj.getValidators()
1961 model = NetworkParameterType
1962 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1964 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
1965 id = serializers.Field()
1967 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1968 validators = serializers.SerializerMethodField("getValidators")
1969 def getHumanReadableName(self, obj):
\r
1971 def getValidators(self, obj):
\r
1973 return obj.getValidators()
1977 model = NetworkParameterType
1978 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1983 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1984 id = serializers.Field()
1986 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1987 validators = serializers.SerializerMethodField("getValidators")
1988 def getHumanReadableName(self, obj):
\r
1990 def getValidators(self, obj):
1992 return obj.getValidators()
1996 model = SiteCredential
1997 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1999 class SiteCredentialIdSerializer(XOSModelSerializer):
2000 id = serializers.Field()
2002 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2003 validators = serializers.SerializerMethodField("getValidators")
2004 def getHumanReadableName(self, obj):
\r
2006 def getValidators(self, obj):
\r
2008 return obj.getValidators()
2012 model = SiteCredential
2013 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2018 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
2019 id = serializers.Field()
2021 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2022 validators = serializers.SerializerMethodField("getValidators")
2023 def getHumanReadableName(self, obj):
\r
2025 def getValidators(self, obj):
2027 return obj.getValidators()
2031 model = DeploymentPrivilege
2032 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2034 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
2035 id = serializers.Field()
2037 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2038 validators = serializers.SerializerMethodField("getValidators")
2039 def getHumanReadableName(self, obj):
\r
2041 def getValidators(self, obj):
\r
2043 return obj.getValidators()
2047 model = DeploymentPrivilege
2048 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2053 class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
2054 id = serializers.Field()
2056 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2057 validators = serializers.SerializerMethodField("getValidators")
2058 def getHumanReadableName(self, obj):
\r
2060 def getValidators(self, obj):
2062 return obj.getValidators()
2066 model = ControllerUsers
2067 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2069 class ControllerUsersIdSerializer(XOSModelSerializer):
2070 id = serializers.Field()
2072 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2073 validators = serializers.SerializerMethodField("getValidators")
2074 def getHumanReadableName(self, obj):
\r
2076 def getValidators(self, obj):
\r
2078 return obj.getValidators()
2082 model = ControllerUsers
2083 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2088 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
2089 id = serializers.Field()
2091 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2092 validators = serializers.SerializerMethodField("getValidators")
2093 def getHumanReadableName(self, obj):
\r
2095 def getValidators(self, obj):
2097 return obj.getValidators()
2101 model = DeploymentRole
2102 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2104 class DeploymentRoleIdSerializer(XOSModelSerializer):
2105 id = serializers.Field()
2107 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2108 validators = serializers.SerializerMethodField("getValidators")
2109 def getHumanReadableName(self, obj):
\r
2111 def getValidators(self, obj):
\r
2113 return obj.getValidators()
2117 model = DeploymentRole
2118 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2123 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
2124 id = serializers.Field()
2126 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2127 validators = serializers.SerializerMethodField("getValidators")
2128 def getHumanReadableName(self, obj):
\r
2130 def getValidators(self, obj):
2132 return obj.getValidators()
2136 model = UserCredential
2137 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2139 class UserCredentialIdSerializer(XOSModelSerializer):
2140 id = serializers.Field()
2142 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2143 validators = serializers.SerializerMethodField("getValidators")
2144 def getHumanReadableName(self, obj):
\r
2146 def getValidators(self, obj):
\r
2148 return obj.getValidators()
2152 model = UserCredential
2153 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2158 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
2159 id = serializers.Field()
2161 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2162 validators = serializers.SerializerMethodField("getValidators")
2163 def getHumanReadableName(self, obj):
\r
2165 def getValidators(self, obj):
2167 return obj.getValidators()
2171 model = SiteDeployments
2172 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2174 class SiteDeploymentsIdSerializer(XOSModelSerializer):
2175 id = serializers.Field()
2177 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2178 validators = serializers.SerializerMethodField("getValidators")
2179 def getHumanReadableName(self, obj):
\r
2181 def getValidators(self, obj):
\r
2183 return obj.getValidators()
2187 model = SiteDeployments
2188 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2193 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
2194 id = serializers.Field()
2196 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2197 validators = serializers.SerializerMethodField("getValidators")
2198 def getHumanReadableName(self, obj):
\r
2200 def getValidators(self, obj):
2202 return obj.getValidators()
2207 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2209 class SliceTagIdSerializer(XOSModelSerializer):
2210 id = serializers.Field()
2212 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2213 validators = serializers.SerializerMethodField("getValidators")
2214 def getHumanReadableName(self, obj):
\r
2216 def getValidators(self, obj):
\r
2218 return obj.getValidators()
2223 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2228 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
2229 id = serializers.Field()
2231 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2232 validators = serializers.SerializerMethodField("getValidators")
2233 def getHumanReadableName(self, obj):
\r
2235 def getValidators(self, obj):
2237 return obj.getValidators()
2241 model = NetworkTemplate
2242 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
2244 class NetworkTemplateIdSerializer(XOSModelSerializer):
2245 id = serializers.Field()
2247 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2248 validators = serializers.SerializerMethodField("getValidators")
2249 def getHumanReadableName(self, obj):
\r
2251 def getValidators(self, obj):
\r
2253 return obj.getValidators()
2257 model = NetworkTemplate
2258 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
2263 class RouterSerializer(serializers.HyperlinkedModelSerializer):
2264 id = serializers.Field()
2267 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2271 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2274 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2275 validators = serializers.SerializerMethodField("getValidators")
2276 def getHumanReadableName(self, obj):
\r
2278 def getValidators(self, obj):
2280 return obj.getValidators()
2285 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2287 class RouterIdSerializer(XOSModelSerializer):
2288 id = serializers.Field()
2291 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
2295 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
2298 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2299 validators = serializers.SerializerMethodField("getValidators")
2300 def getHumanReadableName(self, obj):
\r
2302 def getValidators(self, obj):
\r
2304 return obj.getValidators()
2309 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2314 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
2315 id = serializers.Field()
2317 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2318 validators = serializers.SerializerMethodField("getValidators")
2319 def getHumanReadableName(self, obj):
\r
2321 def getValidators(self, obj):
2323 return obj.getValidators()
2327 model = ServiceResource
2328 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2330 class ServiceResourceIdSerializer(XOSModelSerializer):
2331 id = serializers.Field()
2333 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2334 validators = serializers.SerializerMethodField("getValidators")
2335 def getHumanReadableName(self, obj):
\r
2337 def getValidators(self, obj):
\r
2339 return obj.getValidators()
2343 model = ServiceResource
2344 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2349 class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
2350 id = serializers.Field()
2352 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2353 validators = serializers.SerializerMethodField("getValidators")
2354 def getHumanReadableName(self, obj):
\r
2356 def getValidators(self, obj):
2358 return obj.getValidators()
2362 model = ControllerSlices
2363 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2365 class ControllerSlicesIdSerializer(XOSModelSerializer):
2366 id = serializers.Field()
2368 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2369 validators = serializers.SerializerMethodField("getValidators")
2370 def getHumanReadableName(self, obj):
\r
2372 def getValidators(self, obj):
\r
2374 return obj.getValidators()
2378 model = ControllerSlices
2379 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2384 serializerLookUp = {
2386 Flavor: FlavorSerializer,
2388 ServiceAttribute: ServiceAttributeSerializer,
2390 ControllerImages: ControllerImagesSerializer,
2392 Image: ImageSerializer,
2394 NetworkParameter: NetworkParameterSerializer,
2396 Site: SiteSerializer,
2398 SliceRole: SliceRoleSerializer,
2402 Invoice: InvoiceSerializer,
2404 SlicePrivilege: SlicePrivilegeSerializer,
2406 PlanetStackRole: PlanetStackRoleSerializer,
2408 ControllerPrivilege: ControllerPrivilegeSerializer,
2410 NetworkSliver: NetworkSliverSerializer,
2412 Project: ProjectSerializer,
2414 Slice: SliceSerializer,
2416 Network: NetworkSerializer,
2418 Service: ServiceSerializer,
2420 ServiceClass: ServiceClassSerializer,
2422 ControllerNetworks: ControllerNetworksSerializer,
2424 Charge: ChargeSerializer,
2426 Role: RoleSerializer,
2428 UsableObject: UsableObjectSerializer,
2430 ControllerSiteDeployments: ControllerSiteDeploymentsSerializer,
2432 SiteRole: SiteRoleSerializer,
2434 SliceCredential: SliceCredentialSerializer,
2436 Sliver: SliverSerializer,
2438 Node: NodeSerializer,
2440 DashboardView: DashboardViewSerializer,
2442 ImageDeployments: ImageDeploymentsSerializer,
2444 ReservedResource: ReservedResourceSerializer,
2446 Payment: PaymentSerializer,
2448 NetworkSlice: NetworkSliceSerializer,
2450 UserDashboardView: UserDashboardViewSerializer,
2452 Controller: ControllerSerializer,
2454 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
2456 User: UserSerializer,
2458 Deployment: DeploymentSerializer,
2460 Reservation: ReservationSerializer,
2462 SitePrivilege: SitePrivilegeSerializer,
2464 PlanetStack: PlanetStackSerializer,
2466 ControllerDashboardView: ControllerDashboardViewSerializer,
2468 Account: AccountSerializer,
2470 ControllerRole: ControllerRoleSerializer,
2472 NetworkParameterType: NetworkParameterTypeSerializer,
2474 SiteCredential: SiteCredentialSerializer,
2476 DeploymentPrivilege: DeploymentPrivilegeSerializer,
2478 ControllerUsers: ControllerUsersSerializer,
2480 DeploymentRole: DeploymentRoleSerializer,
2482 UserCredential: UserCredentialSerializer,
2484 SiteDeployments: SiteDeploymentsSerializer,
2486 SliceTag: SliceTagSerializer,
2488 NetworkTemplate: NetworkTemplateSerializer,
2490 Router: RouterSerializer,
2492 ServiceResource: ServiceResourceSerializer,
2494 ControllerSlices: ControllerSlicesSerializer,
2499 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2501 # To handle fine-grained field permissions, we have to check can_update
2502 # the object has been updated but before it has been saved.
2504 def update(self, request, *args, **kwargs):
\r
2505 partial = kwargs.pop('partial', False)
\r
2506 self.object = self.get_object_or_none()
\r
2508 serializer = self.get_serializer(self.object, data=request.DATA,
\r
2509 files=request.FILES, partial=partial)
\r
2511 if not serializer.is_valid():
\r
2512 response = {"error": "validation",
\r
2513 "specific_error": "not serializer.is_valid()",
\r
2514 "reasons": serializer.errors}
\r
2515 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2518 self.pre_save(serializer.object)
\r
2519 except ValidationError as err:
\r
2520 # full_clean on model instance may be called in pre_save,
\r
2521 # so we have to handle eventual errors.
\r
2522 response = {"error": "validation",
\r
2523 "specific_error": "ValidationError in pre_save",
\r
2524 "reasons": err.message_dict}
\r
2525 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2527 if serializer.object is not None:
\r
2528 if not serializer.object.can_update(request.user):
\r
2529 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
2531 if self.object is None:
\r
2532 self.object = serializer.save(force_insert=True)
\r
2533 self.post_save(self.object, created=True)
\r
2534 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
2536 self.object = serializer.save(force_update=True)
\r
2537 self.post_save(self.object, created=False)
\r
2538 return Response(serializer.data, status=status.HTTP_200_OK)
2540 def destroy(self, request, *args, **kwargs):
2541 obj = self.get_object()
2542 if obj.can_update(request.user):
2543 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
2545 return Response(status=status.HTTP_400_BAD_REQUEST)
2548 # Based on core/views/*.py
2551 class FlavorList(generics.ListCreateAPIView):
2552 queryset = Flavor.objects.select_related().all()
2553 serializer_class = FlavorSerializer
2554 id_serializer_class = FlavorIdSerializer
2555 filter_backends = (filters.DjangoFilterBackend,)
2556 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
2558 def get_serializer_class(self):
2559 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2561 return self.id_serializer_class
2563 return self.serializer_class
2565 def get_queryset(self):
2566 return Flavor.select_by_user(self.request.user)
2568 def create(self, request, *args, **kwargs):
2569 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2570 if not (serializer.is_valid()):
2571 response = {"error": "validation",
2572 "specific_error": "not serializer.is_valid()",
\r
2573 "reasons": serializer.errors}
\r
2574 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2575 obj = serializer.object
2576 obj.caller = request.user
2577 if obj.can_update(request.user):
2578 return super(FlavorList, self).create(request, *args, **kwargs)
2580 raise Exception("failed obj.can_update")
2582 ret = super(FlavorList, self).create(request, *args, **kwargs)
2583 if (ret.status_code%100 != 200):
2584 raise Exception(ret.data)
2589 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2590 queryset = Flavor.objects.select_related().all()
2591 serializer_class = FlavorSerializer
2592 id_serializer_class = FlavorIdSerializer
2594 def get_serializer_class(self):
2595 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2597 return self.id_serializer_class
2599 return self.serializer_class
2601 def get_queryset(self):
2602 return Flavor.select_by_user(self.request.user)
2604 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2606 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2610 class ServiceAttributeList(generics.ListCreateAPIView):
2611 queryset = ServiceAttribute.objects.select_related().all()
2612 serializer_class = ServiceAttributeSerializer
2613 id_serializer_class = ServiceAttributeIdSerializer
2614 filter_backends = (filters.DjangoFilterBackend,)
2615 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
2617 def get_serializer_class(self):
2618 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2620 return self.id_serializer_class
2622 return self.serializer_class
2624 def get_queryset(self):
2625 return ServiceAttribute.select_by_user(self.request.user)
2627 def create(self, request, *args, **kwargs):
2628 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2629 if not (serializer.is_valid()):
2630 response = {"error": "validation",
2631 "specific_error": "not serializer.is_valid()",
\r
2632 "reasons": serializer.errors}
\r
2633 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2634 obj = serializer.object
2635 obj.caller = request.user
2636 if obj.can_update(request.user):
2637 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2639 raise Exception("failed obj.can_update")
2641 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2642 if (ret.status_code%100 != 200):
2643 raise Exception(ret.data)
2648 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2649 queryset = ServiceAttribute.objects.select_related().all()
2650 serializer_class = ServiceAttributeSerializer
2651 id_serializer_class = ServiceAttributeIdSerializer
2653 def get_serializer_class(self):
2654 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2656 return self.id_serializer_class
2658 return self.serializer_class
2660 def get_queryset(self):
2661 return ServiceAttribute.select_by_user(self.request.user)
2663 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2665 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2669 class ControllerImagesList(generics.ListCreateAPIView):
2670 queryset = ControllerImages.objects.select_related().all()
2671 serializer_class = ControllerImagesSerializer
2672 id_serializer_class = ControllerImagesIdSerializer
2673 filter_backends = (filters.DjangoFilterBackend,)
2674 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
2676 def get_serializer_class(self):
2677 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2679 return self.id_serializer_class
2681 return self.serializer_class
2683 def get_queryset(self):
2684 return ControllerImages.select_by_user(self.request.user)
2686 def create(self, request, *args, **kwargs):
2687 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2688 if not (serializer.is_valid()):
2689 response = {"error": "validation",
2690 "specific_error": "not serializer.is_valid()",
\r
2691 "reasons": serializer.errors}
\r
2692 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2693 obj = serializer.object
2694 obj.caller = request.user
2695 if obj.can_update(request.user):
2696 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2698 raise Exception("failed obj.can_update")
2700 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2701 if (ret.status_code%100 != 200):
2702 raise Exception(ret.data)
2707 class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2708 queryset = ControllerImages.objects.select_related().all()
2709 serializer_class = ControllerImagesSerializer
2710 id_serializer_class = ControllerImagesIdSerializer
2712 def get_serializer_class(self):
2713 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2715 return self.id_serializer_class
2717 return self.serializer_class
2719 def get_queryset(self):
2720 return ControllerImages.select_by_user(self.request.user)
2722 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2724 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2728 class ImageList(generics.ListCreateAPIView):
2729 queryset = Image.objects.select_related().all()
2730 serializer_class = ImageSerializer
2731 id_serializer_class = ImageIdSerializer
2732 filter_backends = (filters.DjangoFilterBackend,)
2733 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
2735 def get_serializer_class(self):
2736 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2738 return self.id_serializer_class
2740 return self.serializer_class
2742 def get_queryset(self):
2743 return Image.select_by_user(self.request.user)
2745 def create(self, request, *args, **kwargs):
2746 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2747 if not (serializer.is_valid()):
2748 response = {"error": "validation",
2749 "specific_error": "not serializer.is_valid()",
\r
2750 "reasons": serializer.errors}
\r
2751 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2752 obj = serializer.object
2753 obj.caller = request.user
2754 if obj.can_update(request.user):
2755 return super(ImageList, self).create(request, *args, **kwargs)
2757 raise Exception("failed obj.can_update")
2759 ret = super(ImageList, self).create(request, *args, **kwargs)
2760 if (ret.status_code%100 != 200):
2761 raise Exception(ret.data)
2766 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2767 queryset = Image.objects.select_related().all()
2768 serializer_class = ImageSerializer
2769 id_serializer_class = ImageIdSerializer
2771 def get_serializer_class(self):
2772 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2774 return self.id_serializer_class
2776 return self.serializer_class
2778 def get_queryset(self):
2779 return Image.select_by_user(self.request.user)
2781 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2783 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2787 class NetworkParameterList(generics.ListCreateAPIView):
2788 queryset = NetworkParameter.objects.select_related().all()
2789 serializer_class = NetworkParameterSerializer
2790 id_serializer_class = NetworkParameterIdSerializer
2791 filter_backends = (filters.DjangoFilterBackend,)
2792 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
2794 def get_serializer_class(self):
2795 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2797 return self.id_serializer_class
2799 return self.serializer_class
2801 def get_queryset(self):
2802 return NetworkParameter.select_by_user(self.request.user)
2804 def create(self, request, *args, **kwargs):
2805 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2806 if not (serializer.is_valid()):
2807 response = {"error": "validation",
2808 "specific_error": "not serializer.is_valid()",
\r
2809 "reasons": serializer.errors}
\r
2810 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2811 obj = serializer.object
2812 obj.caller = request.user
2813 if obj.can_update(request.user):
2814 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2816 raise Exception("failed obj.can_update")
2818 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2819 if (ret.status_code%100 != 200):
2820 raise Exception(ret.data)
2825 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2826 queryset = NetworkParameter.objects.select_related().all()
2827 serializer_class = NetworkParameterSerializer
2828 id_serializer_class = NetworkParameterIdSerializer
2830 def get_serializer_class(self):
2831 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2833 return self.id_serializer_class
2835 return self.serializer_class
2837 def get_queryset(self):
2838 return NetworkParameter.select_by_user(self.request.user)
2840 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2842 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2846 class SiteList(generics.ListCreateAPIView):
2847 queryset = Site.objects.select_related().all()
2848 serializer_class = SiteSerializer
2849 id_serializer_class = SiteIdSerializer
2850 filter_backends = (filters.DjangoFilterBackend,)
2851 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
2853 def get_serializer_class(self):
2854 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2856 return self.id_serializer_class
2858 return self.serializer_class
2860 def get_queryset(self):
2861 return Site.select_by_user(self.request.user)
2863 def create(self, request, *args, **kwargs):
2864 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2865 if not (serializer.is_valid()):
2866 response = {"error": "validation",
2867 "specific_error": "not serializer.is_valid()",
\r
2868 "reasons": serializer.errors}
\r
2869 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2870 obj = serializer.object
2871 obj.caller = request.user
2872 if obj.can_update(request.user):
2873 return super(SiteList, self).create(request, *args, **kwargs)
2875 raise Exception("failed obj.can_update")
2877 ret = super(SiteList, self).create(request, *args, **kwargs)
2878 if (ret.status_code%100 != 200):
2879 raise Exception(ret.data)
2884 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2885 queryset = Site.objects.select_related().all()
2886 serializer_class = SiteSerializer
2887 id_serializer_class = SiteIdSerializer
2889 def get_serializer_class(self):
2890 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2892 return self.id_serializer_class
2894 return self.serializer_class
2896 def get_queryset(self):
2897 return Site.select_by_user(self.request.user)
2899 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2901 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2905 class SliceRoleList(generics.ListCreateAPIView):
2906 queryset = SliceRole.objects.select_related().all()
2907 serializer_class = SliceRoleSerializer
2908 id_serializer_class = SliceRoleIdSerializer
2909 filter_backends = (filters.DjangoFilterBackend,)
2910 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2912 def get_serializer_class(self):
2913 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2915 return self.id_serializer_class
2917 return self.serializer_class
2919 def get_queryset(self):
2920 return SliceRole.select_by_user(self.request.user)
2922 def create(self, request, *args, **kwargs):
2923 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2924 if not (serializer.is_valid()):
2925 response = {"error": "validation",
2926 "specific_error": "not serializer.is_valid()",
\r
2927 "reasons": serializer.errors}
\r
2928 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2929 obj = serializer.object
2930 obj.caller = request.user
2931 if obj.can_update(request.user):
2932 return super(SliceRoleList, self).create(request, *args, **kwargs)
2934 raise Exception("failed obj.can_update")
2936 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2937 if (ret.status_code%100 != 200):
2938 raise Exception(ret.data)
2943 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2944 queryset = SliceRole.objects.select_related().all()
2945 serializer_class = SliceRoleSerializer
2946 id_serializer_class = SliceRoleIdSerializer
2948 def get_serializer_class(self):
2949 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2951 return self.id_serializer_class
2953 return self.serializer_class
2955 def get_queryset(self):
2956 return SliceRole.select_by_user(self.request.user)
2958 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2960 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2964 class TagList(generics.ListCreateAPIView):
2965 queryset = Tag.objects.select_related().all()
2966 serializer_class = TagSerializer
2967 id_serializer_class = TagIdSerializer
2968 filter_backends = (filters.DjangoFilterBackend,)
2969 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
2971 def get_serializer_class(self):
2972 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2974 return self.id_serializer_class
2976 return self.serializer_class
2978 def get_queryset(self):
2979 return Tag.select_by_user(self.request.user)
2981 def create(self, request, *args, **kwargs):
2982 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2983 if not (serializer.is_valid()):
2984 response = {"error": "validation",
2985 "specific_error": "not serializer.is_valid()",
\r
2986 "reasons": serializer.errors}
\r
2987 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2988 obj = serializer.object
2989 obj.caller = request.user
2990 if obj.can_update(request.user):
2991 return super(TagList, self).create(request, *args, **kwargs)
2993 raise Exception("failed obj.can_update")
2995 ret = super(TagList, self).create(request, *args, **kwargs)
2996 if (ret.status_code%100 != 200):
2997 raise Exception(ret.data)
3002 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3003 queryset = Tag.objects.select_related().all()
3004 serializer_class = TagSerializer
3005 id_serializer_class = TagIdSerializer
3007 def get_serializer_class(self):
3008 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3010 return self.id_serializer_class
3012 return self.serializer_class
3014 def get_queryset(self):
3015 return Tag.select_by_user(self.request.user)
3017 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3019 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3023 class InvoiceList(generics.ListCreateAPIView):
3024 queryset = Invoice.objects.select_related().all()
3025 serializer_class = InvoiceSerializer
3026 id_serializer_class = InvoiceIdSerializer
3027 filter_backends = (filters.DjangoFilterBackend,)
3028 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
3030 def get_serializer_class(self):
3031 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3033 return self.id_serializer_class
3035 return self.serializer_class
3037 def get_queryset(self):
3038 return Invoice.select_by_user(self.request.user)
3040 def create(self, request, *args, **kwargs):
3041 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3042 if not (serializer.is_valid()):
3043 response = {"error": "validation",
3044 "specific_error": "not serializer.is_valid()",
\r
3045 "reasons": serializer.errors}
\r
3046 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3047 obj = serializer.object
3048 obj.caller = request.user
3049 if obj.can_update(request.user):
3050 return super(InvoiceList, self).create(request, *args, **kwargs)
3052 raise Exception("failed obj.can_update")
3054 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3055 if (ret.status_code%100 != 200):
3056 raise Exception(ret.data)
3061 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3062 queryset = Invoice.objects.select_related().all()
3063 serializer_class = InvoiceSerializer
3064 id_serializer_class = InvoiceIdSerializer
3066 def get_serializer_class(self):
3067 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3069 return self.id_serializer_class
3071 return self.serializer_class
3073 def get_queryset(self):
3074 return Invoice.select_by_user(self.request.user)
3076 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3078 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3082 class SlicePrivilegeList(generics.ListCreateAPIView):
3083 queryset = SlicePrivilege.objects.select_related().all()
3084 serializer_class = SlicePrivilegeSerializer
3085 id_serializer_class = SlicePrivilegeIdSerializer
3086 filter_backends = (filters.DjangoFilterBackend,)
3087 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
3089 def get_serializer_class(self):
3090 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3092 return self.id_serializer_class
3094 return self.serializer_class
3096 def get_queryset(self):
3097 return SlicePrivilege.select_by_user(self.request.user)
3099 def create(self, request, *args, **kwargs):
3100 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3101 if not (serializer.is_valid()):
3102 response = {"error": "validation",
3103 "specific_error": "not serializer.is_valid()",
\r
3104 "reasons": serializer.errors}
\r
3105 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3106 obj = serializer.object
3107 obj.caller = request.user
3108 if obj.can_update(request.user):
3109 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3111 raise Exception("failed obj.can_update")
3113 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3114 if (ret.status_code%100 != 200):
3115 raise Exception(ret.data)
3120 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3121 queryset = SlicePrivilege.objects.select_related().all()
3122 serializer_class = SlicePrivilegeSerializer
3123 id_serializer_class = SlicePrivilegeIdSerializer
3125 def get_serializer_class(self):
3126 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3128 return self.id_serializer_class
3130 return self.serializer_class
3132 def get_queryset(self):
3133 return SlicePrivilege.select_by_user(self.request.user)
3135 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3137 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3141 class PlanetStackRoleList(generics.ListCreateAPIView):
3142 queryset = PlanetStackRole.objects.select_related().all()
3143 serializer_class = PlanetStackRoleSerializer
3144 id_serializer_class = PlanetStackRoleIdSerializer
3145 filter_backends = (filters.DjangoFilterBackend,)
3146 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3148 def get_serializer_class(self):
3149 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3151 return self.id_serializer_class
3153 return self.serializer_class
3155 def get_queryset(self):
3156 return PlanetStackRole.select_by_user(self.request.user)
3158 def create(self, request, *args, **kwargs):
3159 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3160 if not (serializer.is_valid()):
3161 response = {"error": "validation",
3162 "specific_error": "not serializer.is_valid()",
\r
3163 "reasons": serializer.errors}
\r
3164 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3165 obj = serializer.object
3166 obj.caller = request.user
3167 if obj.can_update(request.user):
3168 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3170 raise Exception("failed obj.can_update")
3172 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3173 if (ret.status_code%100 != 200):
3174 raise Exception(ret.data)
3179 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3180 queryset = PlanetStackRole.objects.select_related().all()
3181 serializer_class = PlanetStackRoleSerializer
3182 id_serializer_class = PlanetStackRoleIdSerializer
3184 def get_serializer_class(self):
3185 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3187 return self.id_serializer_class
3189 return self.serializer_class
3191 def get_queryset(self):
3192 return PlanetStackRole.select_by_user(self.request.user)
3194 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3196 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3200 class ControllerPrivilegeList(generics.ListCreateAPIView):
3201 queryset = ControllerPrivilege.objects.select_related().all()
3202 serializer_class = ControllerPrivilegeSerializer
3203 id_serializer_class = ControllerPrivilegeIdSerializer
3204 filter_backends = (filters.DjangoFilterBackend,)
3205 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','role',)
3207 def get_serializer_class(self):
3208 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3210 return self.id_serializer_class
3212 return self.serializer_class
3214 def get_queryset(self):
3215 return ControllerPrivilege.select_by_user(self.request.user)
3217 def create(self, request, *args, **kwargs):
3218 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3219 if not (serializer.is_valid()):
3220 response = {"error": "validation",
3221 "specific_error": "not serializer.is_valid()",
\r
3222 "reasons": serializer.errors}
\r
3223 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3224 obj = serializer.object
3225 obj.caller = request.user
3226 if obj.can_update(request.user):
3227 return super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3229 raise Exception("failed obj.can_update")
3231 ret = super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3232 if (ret.status_code%100 != 200):
3233 raise Exception(ret.data)
3238 class ControllerPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3239 queryset = ControllerPrivilege.objects.select_related().all()
3240 serializer_class = ControllerPrivilegeSerializer
3241 id_serializer_class = ControllerPrivilegeIdSerializer
3243 def get_serializer_class(self):
3244 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3246 return self.id_serializer_class
3248 return self.serializer_class
3250 def get_queryset(self):
3251 return ControllerPrivilege.select_by_user(self.request.user)
3253 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3255 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3259 class NetworkSliverList(generics.ListCreateAPIView):
3260 queryset = NetworkSliver.objects.select_related().all()
3261 serializer_class = NetworkSliverSerializer
3262 id_serializer_class = NetworkSliverIdSerializer
3263 filter_backends = (filters.DjangoFilterBackend,)
3264 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
3266 def get_serializer_class(self):
3267 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3269 return self.id_serializer_class
3271 return self.serializer_class
3273 def get_queryset(self):
3274 return NetworkSliver.select_by_user(self.request.user)
3276 def create(self, request, *args, **kwargs):
3277 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3278 if not (serializer.is_valid()):
3279 response = {"error": "validation",
3280 "specific_error": "not serializer.is_valid()",
\r
3281 "reasons": serializer.errors}
\r
3282 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3283 obj = serializer.object
3284 obj.caller = request.user
3285 if obj.can_update(request.user):
3286 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3288 raise Exception("failed obj.can_update")
3290 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3291 if (ret.status_code%100 != 200):
3292 raise Exception(ret.data)
3297 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3298 queryset = NetworkSliver.objects.select_related().all()
3299 serializer_class = NetworkSliverSerializer
3300 id_serializer_class = NetworkSliverIdSerializer
3302 def get_serializer_class(self):
3303 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3305 return self.id_serializer_class
3307 return self.serializer_class
3309 def get_queryset(self):
3310 return NetworkSliver.select_by_user(self.request.user)
3312 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3314 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3318 class ProjectList(generics.ListCreateAPIView):
3319 queryset = Project.objects.select_related().all()
3320 serializer_class = ProjectSerializer
3321 id_serializer_class = ProjectIdSerializer
3322 filter_backends = (filters.DjangoFilterBackend,)
3323 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3325 def get_serializer_class(self):
3326 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3328 return self.id_serializer_class
3330 return self.serializer_class
3332 def get_queryset(self):
3333 return Project.select_by_user(self.request.user)
3335 def create(self, request, *args, **kwargs):
3336 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3337 if not (serializer.is_valid()):
3338 response = {"error": "validation",
3339 "specific_error": "not serializer.is_valid()",
\r
3340 "reasons": serializer.errors}
\r
3341 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3342 obj = serializer.object
3343 obj.caller = request.user
3344 if obj.can_update(request.user):
3345 return super(ProjectList, self).create(request, *args, **kwargs)
3347 raise Exception("failed obj.can_update")
3349 ret = super(ProjectList, self).create(request, *args, **kwargs)
3350 if (ret.status_code%100 != 200):
3351 raise Exception(ret.data)
3356 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3357 queryset = Project.objects.select_related().all()
3358 serializer_class = ProjectSerializer
3359 id_serializer_class = ProjectIdSerializer
3361 def get_serializer_class(self):
3362 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3364 return self.id_serializer_class
3366 return self.serializer_class
3368 def get_queryset(self):
3369 return Project.select_by_user(self.request.user)
3371 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3373 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3377 class SliceList(generics.ListCreateAPIView):
3378 queryset = Slice.objects.select_related().all()
3379 serializer_class = SliceSerializer
3380 id_serializer_class = SliceIdSerializer
3381 filter_backends = (filters.DjangoFilterBackend,)
3382 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',)
3384 def get_serializer_class(self):
3385 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3387 return self.id_serializer_class
3389 return self.serializer_class
3391 def get_queryset(self):
3392 return Slice.select_by_user(self.request.user)
3394 def create(self, request, *args, **kwargs):
3395 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3396 if not (serializer.is_valid()):
3397 response = {"error": "validation",
3398 "specific_error": "not serializer.is_valid()",
\r
3399 "reasons": serializer.errors}
\r
3400 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3401 obj = serializer.object
3402 obj.caller = request.user
3403 if obj.can_update(request.user):
3404 return super(SliceList, self).create(request, *args, **kwargs)
3406 raise Exception("failed obj.can_update")
3408 ret = super(SliceList, self).create(request, *args, **kwargs)
3409 if (ret.status_code%100 != 200):
3410 raise Exception(ret.data)
3415 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3416 queryset = Slice.objects.select_related().all()
3417 serializer_class = SliceSerializer
3418 id_serializer_class = SliceIdSerializer
3420 def get_serializer_class(self):
3421 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3423 return self.id_serializer_class
3425 return self.serializer_class
3427 def get_queryset(self):
3428 return Slice.select_by_user(self.request.user)
3430 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3432 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3436 class NetworkList(generics.ListCreateAPIView):
3437 queryset = Network.objects.select_related().all()
3438 serializer_class = NetworkSerializer
3439 id_serializer_class = NetworkIdSerializer
3440 filter_backends = (filters.DjangoFilterBackend,)
3441 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',)
3443 def get_serializer_class(self):
3444 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3446 return self.id_serializer_class
3448 return self.serializer_class
3450 def get_queryset(self):
3451 return Network.select_by_user(self.request.user)
3453 def create(self, request, *args, **kwargs):
3454 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3455 if not (serializer.is_valid()):
3456 response = {"error": "validation",
3457 "specific_error": "not serializer.is_valid()",
\r
3458 "reasons": serializer.errors}
\r
3459 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3460 obj = serializer.object
3461 obj.caller = request.user
3462 if obj.can_update(request.user):
3463 return super(NetworkList, self).create(request, *args, **kwargs)
3465 raise Exception("failed obj.can_update")
3467 ret = super(NetworkList, self).create(request, *args, **kwargs)
3468 if (ret.status_code%100 != 200):
3469 raise Exception(ret.data)
3474 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3475 queryset = Network.objects.select_related().all()
3476 serializer_class = NetworkSerializer
3477 id_serializer_class = NetworkIdSerializer
3479 def get_serializer_class(self):
3480 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3482 return self.id_serializer_class
3484 return self.serializer_class
3486 def get_queryset(self):
3487 return Network.select_by_user(self.request.user)
3489 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3491 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3495 class ServiceList(generics.ListCreateAPIView):
3496 queryset = Service.objects.select_related().all()
3497 serializer_class = ServiceSerializer
3498 id_serializer_class = ServiceIdSerializer
3499 filter_backends = (filters.DjangoFilterBackend,)
3500 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
3502 def get_serializer_class(self):
3503 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3505 return self.id_serializer_class
3507 return self.serializer_class
3509 def get_queryset(self):
3510 return Service.select_by_user(self.request.user)
3512 def create(self, request, *args, **kwargs):
3513 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3514 if not (serializer.is_valid()):
3515 response = {"error": "validation",
3516 "specific_error": "not serializer.is_valid()",
\r
3517 "reasons": serializer.errors}
\r
3518 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3519 obj = serializer.object
3520 obj.caller = request.user
3521 if obj.can_update(request.user):
3522 return super(ServiceList, self).create(request, *args, **kwargs)
3524 raise Exception("failed obj.can_update")
3526 ret = super(ServiceList, self).create(request, *args, **kwargs)
3527 if (ret.status_code%100 != 200):
3528 raise Exception(ret.data)
3533 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3534 queryset = Service.objects.select_related().all()
3535 serializer_class = ServiceSerializer
3536 id_serializer_class = ServiceIdSerializer
3538 def get_serializer_class(self):
3539 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3541 return self.id_serializer_class
3543 return self.serializer_class
3545 def get_queryset(self):
3546 return Service.select_by_user(self.request.user)
3548 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3550 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3554 class ServiceClassList(generics.ListCreateAPIView):
3555 queryset = ServiceClass.objects.select_related().all()
3556 serializer_class = ServiceClassSerializer
3557 id_serializer_class = ServiceClassIdSerializer
3558 filter_backends = (filters.DjangoFilterBackend,)
3559 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
3561 def get_serializer_class(self):
3562 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3564 return self.id_serializer_class
3566 return self.serializer_class
3568 def get_queryset(self):
3569 return ServiceClass.select_by_user(self.request.user)
3571 def create(self, request, *args, **kwargs):
3572 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3573 if not (serializer.is_valid()):
3574 response = {"error": "validation",
3575 "specific_error": "not serializer.is_valid()",
\r
3576 "reasons": serializer.errors}
\r
3577 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3578 obj = serializer.object
3579 obj.caller = request.user
3580 if obj.can_update(request.user):
3581 return super(ServiceClassList, self).create(request, *args, **kwargs)
3583 raise Exception("failed obj.can_update")
3585 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3586 if (ret.status_code%100 != 200):
3587 raise Exception(ret.data)
3592 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3593 queryset = ServiceClass.objects.select_related().all()
3594 serializer_class = ServiceClassSerializer
3595 id_serializer_class = ServiceClassIdSerializer
3597 def get_serializer_class(self):
3598 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3600 return self.id_serializer_class
3602 return self.serializer_class
3604 def get_queryset(self):
3605 return ServiceClass.select_by_user(self.request.user)
3607 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3609 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3613 class ControllerNetworksList(generics.ListCreateAPIView):
3614 queryset = ControllerNetworks.objects.select_related().all()
3615 serializer_class = ControllerNetworksSerializer
3616 id_serializer_class = ControllerNetworksIdSerializer
3617 filter_backends = (filters.DjangoFilterBackend,)
3618 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
3620 def get_serializer_class(self):
3621 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3623 return self.id_serializer_class
3625 return self.serializer_class
3627 def get_queryset(self):
3628 return ControllerNetworks.select_by_user(self.request.user)
3630 def create(self, request, *args, **kwargs):
3631 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3632 if not (serializer.is_valid()):
3633 response = {"error": "validation",
3634 "specific_error": "not serializer.is_valid()",
\r
3635 "reasons": serializer.errors}
\r
3636 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3637 obj = serializer.object
3638 obj.caller = request.user
3639 if obj.can_update(request.user):
3640 return super(ControllerNetworksList, self).create(request, *args, **kwargs)
3642 raise Exception("failed obj.can_update")
3644 ret = super(ControllerNetworksList, self).create(request, *args, **kwargs)
3645 if (ret.status_code%100 != 200):
3646 raise Exception(ret.data)
3651 class ControllerNetworksDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3652 queryset = ControllerNetworks.objects.select_related().all()
3653 serializer_class = ControllerNetworksSerializer
3654 id_serializer_class = ControllerNetworksIdSerializer
3656 def get_serializer_class(self):
3657 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3659 return self.id_serializer_class
3661 return self.serializer_class
3663 def get_queryset(self):
3664 return ControllerNetworks.select_by_user(self.request.user)
3666 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3668 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3672 class ChargeList(generics.ListCreateAPIView):
3673 queryset = Charge.objects.select_related().all()
3674 serializer_class = ChargeSerializer
3675 id_serializer_class = ChargeIdSerializer
3676 filter_backends = (filters.DjangoFilterBackend,)
3677 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3679 def get_serializer_class(self):
3680 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3682 return self.id_serializer_class
3684 return self.serializer_class
3686 def get_queryset(self):
3687 return Charge.select_by_user(self.request.user)
3689 def create(self, request, *args, **kwargs):
3690 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3691 if not (serializer.is_valid()):
3692 response = {"error": "validation",
3693 "specific_error": "not serializer.is_valid()",
\r
3694 "reasons": serializer.errors}
\r
3695 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3696 obj = serializer.object
3697 obj.caller = request.user
3698 if obj.can_update(request.user):
3699 return super(ChargeList, self).create(request, *args, **kwargs)
3701 raise Exception("failed obj.can_update")
3703 ret = super(ChargeList, self).create(request, *args, **kwargs)
3704 if (ret.status_code%100 != 200):
3705 raise Exception(ret.data)
3710 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3711 queryset = Charge.objects.select_related().all()
3712 serializer_class = ChargeSerializer
3713 id_serializer_class = ChargeIdSerializer
3715 def get_serializer_class(self):
3716 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3718 return self.id_serializer_class
3720 return self.serializer_class
3722 def get_queryset(self):
3723 return Charge.select_by_user(self.request.user)
3725 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3727 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3731 class RoleList(generics.ListCreateAPIView):
3732 queryset = Role.objects.select_related().all()
3733 serializer_class = RoleSerializer
3734 id_serializer_class = RoleIdSerializer
3735 filter_backends = (filters.DjangoFilterBackend,)
3736 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3738 def get_serializer_class(self):
3739 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3741 return self.id_serializer_class
3743 return self.serializer_class
3745 def get_queryset(self):
3746 return Role.select_by_user(self.request.user)
3748 def create(self, request, *args, **kwargs):
3749 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3750 if not (serializer.is_valid()):
3751 response = {"error": "validation",
3752 "specific_error": "not serializer.is_valid()",
\r
3753 "reasons": serializer.errors}
\r
3754 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3755 obj = serializer.object
3756 obj.caller = request.user
3757 if obj.can_update(request.user):
3758 return super(RoleList, self).create(request, *args, **kwargs)
3760 raise Exception("failed obj.can_update")
3762 ret = super(RoleList, self).create(request, *args, **kwargs)
3763 if (ret.status_code%100 != 200):
3764 raise Exception(ret.data)
3769 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3770 queryset = Role.objects.select_related().all()
3771 serializer_class = RoleSerializer
3772 id_serializer_class = RoleIdSerializer
3774 def get_serializer_class(self):
3775 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3777 return self.id_serializer_class
3779 return self.serializer_class
3781 def get_queryset(self):
3782 return Role.select_by_user(self.request.user)
3784 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3786 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3790 class UsableObjectList(generics.ListCreateAPIView):
3791 queryset = UsableObject.objects.select_related().all()
3792 serializer_class = UsableObjectSerializer
3793 id_serializer_class = UsableObjectIdSerializer
3794 filter_backends = (filters.DjangoFilterBackend,)
3795 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3797 def get_serializer_class(self):
3798 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3800 return self.id_serializer_class
3802 return self.serializer_class
3804 def get_queryset(self):
3805 return UsableObject.select_by_user(self.request.user)
3807 def create(self, request, *args, **kwargs):
3808 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3809 if not (serializer.is_valid()):
3810 response = {"error": "validation",
3811 "specific_error": "not serializer.is_valid()",
\r
3812 "reasons": serializer.errors}
\r
3813 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3814 obj = serializer.object
3815 obj.caller = request.user
3816 if obj.can_update(request.user):
3817 return super(UsableObjectList, self).create(request, *args, **kwargs)
3819 raise Exception("failed obj.can_update")
3821 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3822 if (ret.status_code%100 != 200):
3823 raise Exception(ret.data)
3828 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3829 queryset = UsableObject.objects.select_related().all()
3830 serializer_class = UsableObjectSerializer
3831 id_serializer_class = UsableObjectIdSerializer
3833 def get_serializer_class(self):
3834 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3836 return self.id_serializer_class
3838 return self.serializer_class
3840 def get_queryset(self):
3841 return UsableObject.select_by_user(self.request.user)
3843 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3845 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3849 class ControllerSiteDeploymentsList(generics.ListCreateAPIView):
3850 queryset = ControllerSiteDeployments.objects.select_related().all()
3851 serializer_class = ControllerSiteDeploymentsSerializer
3852 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3853 filter_backends = (filters.DjangoFilterBackend,)
3854 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
3856 def get_serializer_class(self):
3857 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3859 return self.id_serializer_class
3861 return self.serializer_class
3863 def get_queryset(self):
3864 return ControllerSiteDeployments.select_by_user(self.request.user)
3866 def create(self, request, *args, **kwargs):
3867 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3868 if not (serializer.is_valid()):
3869 response = {"error": "validation",
3870 "specific_error": "not serializer.is_valid()",
\r
3871 "reasons": serializer.errors}
\r
3872 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3873 obj = serializer.object
3874 obj.caller = request.user
3875 if obj.can_update(request.user):
3876 return super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3878 raise Exception("failed obj.can_update")
3880 ret = super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3881 if (ret.status_code%100 != 200):
3882 raise Exception(ret.data)
3887 class ControllerSiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3888 queryset = ControllerSiteDeployments.objects.select_related().all()
3889 serializer_class = ControllerSiteDeploymentsSerializer
3890 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3892 def get_serializer_class(self):
3893 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3895 return self.id_serializer_class
3897 return self.serializer_class
3899 def get_queryset(self):
3900 return ControllerSiteDeployments.select_by_user(self.request.user)
3902 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3904 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3908 class SiteRoleList(generics.ListCreateAPIView):
3909 queryset = SiteRole.objects.select_related().all()
3910 serializer_class = SiteRoleSerializer
3911 id_serializer_class = SiteRoleIdSerializer
3912 filter_backends = (filters.DjangoFilterBackend,)
3913 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3915 def get_serializer_class(self):
3916 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3918 return self.id_serializer_class
3920 return self.serializer_class
3922 def get_queryset(self):
3923 return SiteRole.select_by_user(self.request.user)
3925 def create(self, request, *args, **kwargs):
3926 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3927 if not (serializer.is_valid()):
3928 response = {"error": "validation",
3929 "specific_error": "not serializer.is_valid()",
\r
3930 "reasons": serializer.errors}
\r
3931 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3932 obj = serializer.object
3933 obj.caller = request.user
3934 if obj.can_update(request.user):
3935 return super(SiteRoleList, self).create(request, *args, **kwargs)
3937 raise Exception("failed obj.can_update")
3939 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3940 if (ret.status_code%100 != 200):
3941 raise Exception(ret.data)
3946 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3947 queryset = SiteRole.objects.select_related().all()
3948 serializer_class = SiteRoleSerializer
3949 id_serializer_class = SiteRoleIdSerializer
3951 def get_serializer_class(self):
3952 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3954 return self.id_serializer_class
3956 return self.serializer_class
3958 def get_queryset(self):
3959 return SiteRole.select_by_user(self.request.user)
3961 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3963 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3967 class SliceCredentialList(generics.ListCreateAPIView):
3968 queryset = SliceCredential.objects.select_related().all()
3969 serializer_class = SliceCredentialSerializer
3970 id_serializer_class = SliceCredentialIdSerializer
3971 filter_backends = (filters.DjangoFilterBackend,)
3972 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
3974 def get_serializer_class(self):
3975 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3977 return self.id_serializer_class
3979 return self.serializer_class
3981 def get_queryset(self):
3982 return SliceCredential.select_by_user(self.request.user)
3984 def create(self, request, *args, **kwargs):
3985 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3986 if not (serializer.is_valid()):
3987 response = {"error": "validation",
3988 "specific_error": "not serializer.is_valid()",
\r
3989 "reasons": serializer.errors}
\r
3990 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3991 obj = serializer.object
3992 obj.caller = request.user
3993 if obj.can_update(request.user):
3994 return super(SliceCredentialList, self).create(request, *args, **kwargs)
3996 raise Exception("failed obj.can_update")
3998 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
3999 if (ret.status_code%100 != 200):
4000 raise Exception(ret.data)
4005 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4006 queryset = SliceCredential.objects.select_related().all()
4007 serializer_class = SliceCredentialSerializer
4008 id_serializer_class = SliceCredentialIdSerializer
4010 def get_serializer_class(self):
4011 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4013 return self.id_serializer_class
4015 return self.serializer_class
4017 def get_queryset(self):
4018 return SliceCredential.select_by_user(self.request.user)
4020 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4022 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4026 class SliverList(generics.ListCreateAPIView):
4027 queryset = Sliver.objects.select_related().all()
4028 serializer_class = SliverSerializer
4029 id_serializer_class = SliverIdSerializer
4030 filter_backends = (filters.DjangoFilterBackend,)
4031 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
4033 def get_serializer_class(self):
4034 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4036 return self.id_serializer_class
4038 return self.serializer_class
4040 def get_queryset(self):
4041 return Sliver.select_by_user(self.request.user)
4043 def create(self, request, *args, **kwargs):
4044 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4045 if not (serializer.is_valid()):
4046 response = {"error": "validation",
4047 "specific_error": "not serializer.is_valid()",
\r
4048 "reasons": serializer.errors}
\r
4049 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4050 obj = serializer.object
4051 obj.caller = request.user
4052 if obj.can_update(request.user):
4053 return super(SliverList, self).create(request, *args, **kwargs)
4055 raise Exception("failed obj.can_update")
4057 ret = super(SliverList, self).create(request, *args, **kwargs)
4058 if (ret.status_code%100 != 200):
4059 raise Exception(ret.data)
4064 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4065 queryset = Sliver.objects.select_related().all()
4066 serializer_class = SliverSerializer
4067 id_serializer_class = SliverIdSerializer
4069 def get_serializer_class(self):
4070 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4072 return self.id_serializer_class
4074 return self.serializer_class
4076 def get_queryset(self):
4077 return Sliver.select_by_user(self.request.user)
4079 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4081 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4085 class NodeList(generics.ListCreateAPIView):
4086 queryset = Node.objects.select_related().all()
4087 serializer_class = NodeSerializer
4088 id_serializer_class = NodeIdSerializer
4089 filter_backends = (filters.DjangoFilterBackend,)
4090 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
4092 def get_serializer_class(self):
4093 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4095 return self.id_serializer_class
4097 return self.serializer_class
4099 def get_queryset(self):
4100 return Node.select_by_user(self.request.user)
4102 def create(self, request, *args, **kwargs):
4103 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4104 if not (serializer.is_valid()):
4105 response = {"error": "validation",
4106 "specific_error": "not serializer.is_valid()",
\r
4107 "reasons": serializer.errors}
\r
4108 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4109 obj = serializer.object
4110 obj.caller = request.user
4111 if obj.can_update(request.user):
4112 return super(NodeList, self).create(request, *args, **kwargs)
4114 raise Exception("failed obj.can_update")
4116 ret = super(NodeList, self).create(request, *args, **kwargs)
4117 if (ret.status_code%100 != 200):
4118 raise Exception(ret.data)
4123 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4124 queryset = Node.objects.select_related().all()
4125 serializer_class = NodeSerializer
4126 id_serializer_class = NodeIdSerializer
4128 def get_serializer_class(self):
4129 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4131 return self.id_serializer_class
4133 return self.serializer_class
4135 def get_queryset(self):
4136 return Node.select_by_user(self.request.user)
4138 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4140 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4144 class DashboardViewList(generics.ListCreateAPIView):
4145 queryset = DashboardView.objects.select_related().all()
4146 serializer_class = DashboardViewSerializer
4147 id_serializer_class = DashboardViewIdSerializer
4148 filter_backends = (filters.DjangoFilterBackend,)
4149 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
4151 def get_serializer_class(self):
4152 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4154 return self.id_serializer_class
4156 return self.serializer_class
4158 def get_queryset(self):
4159 return DashboardView.select_by_user(self.request.user)
4161 def create(self, request, *args, **kwargs):
4162 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4163 if not (serializer.is_valid()):
4164 response = {"error": "validation",
4165 "specific_error": "not serializer.is_valid()",
\r
4166 "reasons": serializer.errors}
\r
4167 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4168 obj = serializer.object
4169 obj.caller = request.user
4170 if obj.can_update(request.user):
4171 return super(DashboardViewList, self).create(request, *args, **kwargs)
4173 raise Exception("failed obj.can_update")
4175 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4176 if (ret.status_code%100 != 200):
4177 raise Exception(ret.data)
4182 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4183 queryset = DashboardView.objects.select_related().all()
4184 serializer_class = DashboardViewSerializer
4185 id_serializer_class = DashboardViewIdSerializer
4187 def get_serializer_class(self):
4188 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4190 return self.id_serializer_class
4192 return self.serializer_class
4194 def get_queryset(self):
4195 return DashboardView.select_by_user(self.request.user)
4197 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4199 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4203 class ImageDeploymentsList(generics.ListCreateAPIView):
4204 queryset = ImageDeployments.objects.select_related().all()
4205 serializer_class = ImageDeploymentsSerializer
4206 id_serializer_class = ImageDeploymentsIdSerializer
4207 filter_backends = (filters.DjangoFilterBackend,)
4208 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment',)
4210 def get_serializer_class(self):
4211 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4213 return self.id_serializer_class
4215 return self.serializer_class
4217 def get_queryset(self):
4218 return ImageDeployments.select_by_user(self.request.user)
4220 def create(self, request, *args, **kwargs):
4221 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4222 if not (serializer.is_valid()):
4223 response = {"error": "validation",
4224 "specific_error": "not serializer.is_valid()",
\r
4225 "reasons": serializer.errors}
\r
4226 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4227 obj = serializer.object
4228 obj.caller = request.user
4229 if obj.can_update(request.user):
4230 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4232 raise Exception("failed obj.can_update")
4234 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4235 if (ret.status_code%100 != 200):
4236 raise Exception(ret.data)
4241 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4242 queryset = ImageDeployments.objects.select_related().all()
4243 serializer_class = ImageDeploymentsSerializer
4244 id_serializer_class = ImageDeploymentsIdSerializer
4246 def get_serializer_class(self):
4247 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4249 return self.id_serializer_class
4251 return self.serializer_class
4253 def get_queryset(self):
4254 return ImageDeployments.select_by_user(self.request.user)
4256 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4258 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4262 class ReservedResourceList(generics.ListCreateAPIView):
4263 queryset = ReservedResource.objects.select_related().all()
4264 serializer_class = ReservedResourceSerializer
4265 id_serializer_class = ReservedResourceIdSerializer
4266 filter_backends = (filters.DjangoFilterBackend,)
4267 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
4269 def get_serializer_class(self):
4270 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4272 return self.id_serializer_class
4274 return self.serializer_class
4276 def get_queryset(self):
4277 return ReservedResource.select_by_user(self.request.user)
4279 def create(self, request, *args, **kwargs):
4280 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4281 if not (serializer.is_valid()):
4282 response = {"error": "validation",
4283 "specific_error": "not serializer.is_valid()",
\r
4284 "reasons": serializer.errors}
\r
4285 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4286 obj = serializer.object
4287 obj.caller = request.user
4288 if obj.can_update(request.user):
4289 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4291 raise Exception("failed obj.can_update")
4293 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4294 if (ret.status_code%100 != 200):
4295 raise Exception(ret.data)
4300 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4301 queryset = ReservedResource.objects.select_related().all()
4302 serializer_class = ReservedResourceSerializer
4303 id_serializer_class = ReservedResourceIdSerializer
4305 def get_serializer_class(self):
4306 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4308 return self.id_serializer_class
4310 return self.serializer_class
4312 def get_queryset(self):
4313 return ReservedResource.select_by_user(self.request.user)
4315 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4317 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4321 class PaymentList(generics.ListCreateAPIView):
4322 queryset = Payment.objects.select_related().all()
4323 serializer_class = PaymentSerializer
4324 id_serializer_class = PaymentIdSerializer
4325 filter_backends = (filters.DjangoFilterBackend,)
4326 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
4328 def get_serializer_class(self):
4329 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4331 return self.id_serializer_class
4333 return self.serializer_class
4335 def get_queryset(self):
4336 return Payment.select_by_user(self.request.user)
4338 def create(self, request, *args, **kwargs):
4339 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4340 if not (serializer.is_valid()):
4341 response = {"error": "validation",
4342 "specific_error": "not serializer.is_valid()",
\r
4343 "reasons": serializer.errors}
\r
4344 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4345 obj = serializer.object
4346 obj.caller = request.user
4347 if obj.can_update(request.user):
4348 return super(PaymentList, self).create(request, *args, **kwargs)
4350 raise Exception("failed obj.can_update")
4352 ret = super(PaymentList, self).create(request, *args, **kwargs)
4353 if (ret.status_code%100 != 200):
4354 raise Exception(ret.data)
4359 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4360 queryset = Payment.objects.select_related().all()
4361 serializer_class = PaymentSerializer
4362 id_serializer_class = PaymentIdSerializer
4364 def get_serializer_class(self):
4365 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4367 return self.id_serializer_class
4369 return self.serializer_class
4371 def get_queryset(self):
4372 return Payment.select_by_user(self.request.user)
4374 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4376 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4380 class NetworkSliceList(generics.ListCreateAPIView):
4381 queryset = NetworkSlice.objects.select_related().all()
4382 serializer_class = NetworkSliceSerializer
4383 id_serializer_class = NetworkSliceIdSerializer
4384 filter_backends = (filters.DjangoFilterBackend,)
4385 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
4387 def get_serializer_class(self):
4388 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4390 return self.id_serializer_class
4392 return self.serializer_class
4394 def get_queryset(self):
4395 return NetworkSlice.select_by_user(self.request.user)
4397 def create(self, request, *args, **kwargs):
4398 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4399 if not (serializer.is_valid()):
4400 response = {"error": "validation",
4401 "specific_error": "not serializer.is_valid()",
\r
4402 "reasons": serializer.errors}
\r
4403 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4404 obj = serializer.object
4405 obj.caller = request.user
4406 if obj.can_update(request.user):
4407 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4409 raise Exception("failed obj.can_update")
4411 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4412 if (ret.status_code%100 != 200):
4413 raise Exception(ret.data)
4418 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4419 queryset = NetworkSlice.objects.select_related().all()
4420 serializer_class = NetworkSliceSerializer
4421 id_serializer_class = NetworkSliceIdSerializer
4423 def get_serializer_class(self):
4424 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4426 return self.id_serializer_class
4428 return self.serializer_class
4430 def get_queryset(self):
4431 return NetworkSlice.select_by_user(self.request.user)
4433 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4435 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4439 class UserDashboardViewList(generics.ListCreateAPIView):
4440 queryset = UserDashboardView.objects.select_related().all()
4441 serializer_class = UserDashboardViewSerializer
4442 id_serializer_class = UserDashboardViewIdSerializer
4443 filter_backends = (filters.DjangoFilterBackend,)
4444 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4446 def get_serializer_class(self):
4447 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4449 return self.id_serializer_class
4451 return self.serializer_class
4453 def get_queryset(self):
4454 return UserDashboardView.select_by_user(self.request.user)
4456 def create(self, request, *args, **kwargs):
4457 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4458 if not (serializer.is_valid()):
4459 response = {"error": "validation",
4460 "specific_error": "not serializer.is_valid()",
\r
4461 "reasons": serializer.errors}
\r
4462 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4463 obj = serializer.object
4464 obj.caller = request.user
4465 if obj.can_update(request.user):
4466 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4468 raise Exception("failed obj.can_update")
4470 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4471 if (ret.status_code%100 != 200):
4472 raise Exception(ret.data)
4477 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4478 queryset = UserDashboardView.objects.select_related().all()
4479 serializer_class = UserDashboardViewSerializer
4480 id_serializer_class = UserDashboardViewIdSerializer
4482 def get_serializer_class(self):
4483 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4485 return self.id_serializer_class
4487 return self.serializer_class
4489 def get_queryset(self):
4490 return UserDashboardView.select_by_user(self.request.user)
4492 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4494 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4498 class ControllerList(generics.ListCreateAPIView):
4499 queryset = Controller.objects.select_related().all()
4500 serializer_class = ControllerSerializer
4501 id_serializer_class = ControllerIdSerializer
4502 filter_backends = (filters.DjangoFilterBackend,)
4503 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
4505 def get_serializer_class(self):
4506 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4508 return self.id_serializer_class
4510 return self.serializer_class
4512 def get_queryset(self):
4513 return Controller.select_by_user(self.request.user)
4515 def create(self, request, *args, **kwargs):
4516 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4517 if not (serializer.is_valid()):
4518 response = {"error": "validation",
4519 "specific_error": "not serializer.is_valid()",
\r
4520 "reasons": serializer.errors}
\r
4521 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4522 obj = serializer.object
4523 obj.caller = request.user
4524 if obj.can_update(request.user):
4525 return super(ControllerList, self).create(request, *args, **kwargs)
4527 raise Exception("failed obj.can_update")
4529 ret = super(ControllerList, self).create(request, *args, **kwargs)
4530 if (ret.status_code%100 != 200):
4531 raise Exception(ret.data)
4536 class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4537 queryset = Controller.objects.select_related().all()
4538 serializer_class = ControllerSerializer
4539 id_serializer_class = ControllerIdSerializer
4541 def get_serializer_class(self):
4542 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4544 return self.id_serializer_class
4546 return self.serializer_class
4548 def get_queryset(self):
4549 return Controller.select_by_user(self.request.user)
4551 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4553 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4557 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4558 queryset = PlanetStackPrivilege.objects.select_related().all()
4559 serializer_class = PlanetStackPrivilegeSerializer
4560 id_serializer_class = PlanetStackPrivilegeIdSerializer
4561 filter_backends = (filters.DjangoFilterBackend,)
4562 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4564 def get_serializer_class(self):
4565 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4567 return self.id_serializer_class
4569 return self.serializer_class
4571 def get_queryset(self):
4572 return PlanetStackPrivilege.select_by_user(self.request.user)
4574 def create(self, request, *args, **kwargs):
4575 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4576 if not (serializer.is_valid()):
4577 response = {"error": "validation",
4578 "specific_error": "not serializer.is_valid()",
\r
4579 "reasons": serializer.errors}
\r
4580 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4581 obj = serializer.object
4582 obj.caller = request.user
4583 if obj.can_update(request.user):
4584 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4586 raise Exception("failed obj.can_update")
4588 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4589 if (ret.status_code%100 != 200):
4590 raise Exception(ret.data)
4595 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4596 queryset = PlanetStackPrivilege.objects.select_related().all()
4597 serializer_class = PlanetStackPrivilegeSerializer
4598 id_serializer_class = PlanetStackPrivilegeIdSerializer
4600 def get_serializer_class(self):
4601 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4603 return self.id_serializer_class
4605 return self.serializer_class
4607 def get_queryset(self):
4608 return PlanetStackPrivilege.select_by_user(self.request.user)
4610 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4612 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4616 class UserList(generics.ListCreateAPIView):
4617 queryset = User.objects.select_related().all()
4618 serializer_class = UserSerializer
4619 id_serializer_class = UserIdSerializer
4620 filter_backends = (filters.DjangoFilterBackend,)
4621 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',)
4623 def get_serializer_class(self):
4624 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4626 return self.id_serializer_class
4628 return self.serializer_class
4630 def get_queryset(self):
4631 return User.select_by_user(self.request.user)
4633 def create(self, request, *args, **kwargs):
4634 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4635 if not (serializer.is_valid()):
4636 response = {"error": "validation",
4637 "specific_error": "not serializer.is_valid()",
\r
4638 "reasons": serializer.errors}
\r
4639 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4640 obj = serializer.object
4641 obj.caller = request.user
4642 if obj.can_update(request.user):
4643 return super(UserList, self).create(request, *args, **kwargs)
4645 raise Exception("failed obj.can_update")
4647 ret = super(UserList, self).create(request, *args, **kwargs)
4648 if (ret.status_code%100 != 200):
4649 raise Exception(ret.data)
4654 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4655 queryset = User.objects.select_related().all()
4656 serializer_class = UserSerializer
4657 id_serializer_class = UserIdSerializer
4659 def get_serializer_class(self):
4660 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4662 return self.id_serializer_class
4664 return self.serializer_class
4666 def get_queryset(self):
4667 return User.select_by_user(self.request.user)
4669 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4671 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4675 class DeploymentList(generics.ListCreateAPIView):
4676 queryset = Deployment.objects.select_related().all()
4677 serializer_class = DeploymentSerializer
4678 id_serializer_class = DeploymentIdSerializer
4679 filter_backends = (filters.DjangoFilterBackend,)
4680 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
4682 def get_serializer_class(self):
4683 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4685 return self.id_serializer_class
4687 return self.serializer_class
4689 def get_queryset(self):
4690 return Deployment.select_by_user(self.request.user)
4692 def create(self, request, *args, **kwargs):
4693 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4694 if not (serializer.is_valid()):
4695 response = {"error": "validation",
4696 "specific_error": "not serializer.is_valid()",
\r
4697 "reasons": serializer.errors}
\r
4698 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4699 obj = serializer.object
4700 obj.caller = request.user
4701 if obj.can_update(request.user):
4702 return super(DeploymentList, self).create(request, *args, **kwargs)
4704 raise Exception("failed obj.can_update")
4706 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4707 if (ret.status_code%100 != 200):
4708 raise Exception(ret.data)
4713 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4714 queryset = Deployment.objects.select_related().all()
4715 serializer_class = DeploymentSerializer
4716 id_serializer_class = DeploymentIdSerializer
4718 def get_serializer_class(self):
4719 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4721 return self.id_serializer_class
4723 return self.serializer_class
4725 def get_queryset(self):
4726 return Deployment.select_by_user(self.request.user)
4728 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4730 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4734 class ReservationList(generics.ListCreateAPIView):
4735 queryset = Reservation.objects.select_related().all()
4736 serializer_class = ReservationSerializer
4737 id_serializer_class = ReservationIdSerializer
4738 filter_backends = (filters.DjangoFilterBackend,)
4739 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4741 def get_serializer_class(self):
4742 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4744 return self.id_serializer_class
4746 return self.serializer_class
4748 def get_queryset(self):
4749 return Reservation.select_by_user(self.request.user)
4751 def create(self, request, *args, **kwargs):
4752 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4753 if not (serializer.is_valid()):
4754 response = {"error": "validation",
4755 "specific_error": "not serializer.is_valid()",
\r
4756 "reasons": serializer.errors}
\r
4757 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4758 obj = serializer.object
4759 obj.caller = request.user
4760 if obj.can_update(request.user):
4761 return super(ReservationList, self).create(request, *args, **kwargs)
4763 raise Exception("failed obj.can_update")
4765 ret = super(ReservationList, self).create(request, *args, **kwargs)
4766 if (ret.status_code%100 != 200):
4767 raise Exception(ret.data)
4772 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4773 queryset = Reservation.objects.select_related().all()
4774 serializer_class = ReservationSerializer
4775 id_serializer_class = ReservationIdSerializer
4777 def get_serializer_class(self):
4778 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4780 return self.id_serializer_class
4782 return self.serializer_class
4784 def get_queryset(self):
4785 return Reservation.select_by_user(self.request.user)
4787 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4789 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4793 class SitePrivilegeList(generics.ListCreateAPIView):
4794 queryset = SitePrivilege.objects.select_related().all()
4795 serializer_class = SitePrivilegeSerializer
4796 id_serializer_class = SitePrivilegeIdSerializer
4797 filter_backends = (filters.DjangoFilterBackend,)
4798 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4800 def get_serializer_class(self):
4801 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4803 return self.id_serializer_class
4805 return self.serializer_class
4807 def get_queryset(self):
4808 return SitePrivilege.select_by_user(self.request.user)
4810 def create(self, request, *args, **kwargs):
4811 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4812 if not (serializer.is_valid()):
4813 response = {"error": "validation",
4814 "specific_error": "not serializer.is_valid()",
\r
4815 "reasons": serializer.errors}
\r
4816 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4817 obj = serializer.object
4818 obj.caller = request.user
4819 if obj.can_update(request.user):
4820 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4822 raise Exception("failed obj.can_update")
4824 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4825 if (ret.status_code%100 != 200):
4826 raise Exception(ret.data)
4831 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4832 queryset = SitePrivilege.objects.select_related().all()
4833 serializer_class = SitePrivilegeSerializer
4834 id_serializer_class = SitePrivilegeIdSerializer
4836 def get_serializer_class(self):
4837 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4839 return self.id_serializer_class
4841 return self.serializer_class
4843 def get_queryset(self):
4844 return SitePrivilege.select_by_user(self.request.user)
4846 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4848 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4852 class PlanetStackList(generics.ListCreateAPIView):
4853 queryset = PlanetStack.objects.select_related().all()
4854 serializer_class = PlanetStackSerializer
4855 id_serializer_class = PlanetStackIdSerializer
4856 filter_backends = (filters.DjangoFilterBackend,)
4857 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
4859 def get_serializer_class(self):
4860 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4862 return self.id_serializer_class
4864 return self.serializer_class
4866 def get_queryset(self):
4867 return PlanetStack.select_by_user(self.request.user)
4869 def create(self, request, *args, **kwargs):
4870 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4871 if not (serializer.is_valid()):
4872 response = {"error": "validation",
4873 "specific_error": "not serializer.is_valid()",
\r
4874 "reasons": serializer.errors}
\r
4875 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4876 obj = serializer.object
4877 obj.caller = request.user
4878 if obj.can_update(request.user):
4879 return super(PlanetStackList, self).create(request, *args, **kwargs)
4881 raise Exception("failed obj.can_update")
4883 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
4884 if (ret.status_code%100 != 200):
4885 raise Exception(ret.data)
4890 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4891 queryset = PlanetStack.objects.select_related().all()
4892 serializer_class = PlanetStackSerializer
4893 id_serializer_class = PlanetStackIdSerializer
4895 def get_serializer_class(self):
4896 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4898 return self.id_serializer_class
4900 return self.serializer_class
4902 def get_queryset(self):
4903 return PlanetStack.select_by_user(self.request.user)
4905 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4907 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4911 class ControllerDashboardViewList(generics.ListCreateAPIView):
4912 queryset = ControllerDashboardView.objects.select_related().all()
4913 serializer_class = ControllerDashboardViewSerializer
4914 id_serializer_class = ControllerDashboardViewIdSerializer
4915 filter_backends = (filters.DjangoFilterBackend,)
4916 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
4918 def get_serializer_class(self):
4919 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4921 return self.id_serializer_class
4923 return self.serializer_class
4925 def get_queryset(self):
4926 return ControllerDashboardView.select_by_user(self.request.user)
4928 def create(self, request, *args, **kwargs):
4929 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4930 if not (serializer.is_valid()):
4931 response = {"error": "validation",
4932 "specific_error": "not serializer.is_valid()",
\r
4933 "reasons": serializer.errors}
\r
4934 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4935 obj = serializer.object
4936 obj.caller = request.user
4937 if obj.can_update(request.user):
4938 return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4940 raise Exception("failed obj.can_update")
4942 ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
4943 if (ret.status_code%100 != 200):
4944 raise Exception(ret.data)
4949 class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4950 queryset = ControllerDashboardView.objects.select_related().all()
4951 serializer_class = ControllerDashboardViewSerializer
4952 id_serializer_class = ControllerDashboardViewIdSerializer
4954 def get_serializer_class(self):
4955 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4957 return self.id_serializer_class
4959 return self.serializer_class
4961 def get_queryset(self):
4962 return ControllerDashboardView.select_by_user(self.request.user)
4964 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4966 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4970 class AccountList(generics.ListCreateAPIView):
4971 queryset = Account.objects.select_related().all()
4972 serializer_class = AccountSerializer
4973 id_serializer_class = AccountIdSerializer
4974 filter_backends = (filters.DjangoFilterBackend,)
4975 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
4977 def get_serializer_class(self):
4978 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4980 return self.id_serializer_class
4982 return self.serializer_class
4984 def get_queryset(self):
4985 return Account.select_by_user(self.request.user)
4987 def create(self, request, *args, **kwargs):
4988 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4989 if not (serializer.is_valid()):
4990 response = {"error": "validation",
4991 "specific_error": "not serializer.is_valid()",
\r
4992 "reasons": serializer.errors}
\r
4993 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4994 obj = serializer.object
4995 obj.caller = request.user
4996 if obj.can_update(request.user):
4997 return super(AccountList, self).create(request, *args, **kwargs)
4999 raise Exception("failed obj.can_update")
5001 ret = super(AccountList, self).create(request, *args, **kwargs)
5002 if (ret.status_code%100 != 200):
5003 raise Exception(ret.data)
5008 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5009 queryset = Account.objects.select_related().all()
5010 serializer_class = AccountSerializer
5011 id_serializer_class = AccountIdSerializer
5013 def get_serializer_class(self):
5014 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5016 return self.id_serializer_class
5018 return self.serializer_class
5020 def get_queryset(self):
5021 return Account.select_by_user(self.request.user)
5023 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5025 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5029 class ControllerRoleList(generics.ListCreateAPIView):
5030 queryset = ControllerRole.objects.select_related().all()
5031 serializer_class = ControllerRoleSerializer
5032 id_serializer_class = ControllerRoleIdSerializer
5033 filter_backends = (filters.DjangoFilterBackend,)
5034 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5036 def get_serializer_class(self):
5037 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5039 return self.id_serializer_class
5041 return self.serializer_class
5043 def get_queryset(self):
5044 return ControllerRole.select_by_user(self.request.user)
5046 def create(self, request, *args, **kwargs):
5047 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5048 if not (serializer.is_valid()):
5049 response = {"error": "validation",
5050 "specific_error": "not serializer.is_valid()",
\r
5051 "reasons": serializer.errors}
\r
5052 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5053 obj = serializer.object
5054 obj.caller = request.user
5055 if obj.can_update(request.user):
5056 return super(ControllerRoleList, self).create(request, *args, **kwargs)
5058 raise Exception("failed obj.can_update")
5060 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
5061 if (ret.status_code%100 != 200):
5062 raise Exception(ret.data)
5067 class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5068 queryset = ControllerRole.objects.select_related().all()
5069 serializer_class = ControllerRoleSerializer
5070 id_serializer_class = ControllerRoleIdSerializer
5072 def get_serializer_class(self):
5073 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5075 return self.id_serializer_class
5077 return self.serializer_class
5079 def get_queryset(self):
5080 return ControllerRole.select_by_user(self.request.user)
5082 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5084 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5088 class NetworkParameterTypeList(generics.ListCreateAPIView):
5089 queryset = NetworkParameterType.objects.select_related().all()
5090 serializer_class = NetworkParameterTypeSerializer
5091 id_serializer_class = NetworkParameterTypeIdSerializer
5092 filter_backends = (filters.DjangoFilterBackend,)
5093 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
5095 def get_serializer_class(self):
5096 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5098 return self.id_serializer_class
5100 return self.serializer_class
5102 def get_queryset(self):
5103 return NetworkParameterType.select_by_user(self.request.user)
5105 def create(self, request, *args, **kwargs):
5106 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5107 if not (serializer.is_valid()):
5108 response = {"error": "validation",
5109 "specific_error": "not serializer.is_valid()",
\r
5110 "reasons": serializer.errors}
\r
5111 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5112 obj = serializer.object
5113 obj.caller = request.user
5114 if obj.can_update(request.user):
5115 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5117 raise Exception("failed obj.can_update")
5119 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5120 if (ret.status_code%100 != 200):
5121 raise Exception(ret.data)
5126 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5127 queryset = NetworkParameterType.objects.select_related().all()
5128 serializer_class = NetworkParameterTypeSerializer
5129 id_serializer_class = NetworkParameterTypeIdSerializer
5131 def get_serializer_class(self):
5132 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5134 return self.id_serializer_class
5136 return self.serializer_class
5138 def get_queryset(self):
5139 return NetworkParameterType.select_by_user(self.request.user)
5141 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5143 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5147 class SiteCredentialList(generics.ListCreateAPIView):
5148 queryset = SiteCredential.objects.select_related().all()
5149 serializer_class = SiteCredentialSerializer
5150 id_serializer_class = SiteCredentialIdSerializer
5151 filter_backends = (filters.DjangoFilterBackend,)
5152 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
5154 def get_serializer_class(self):
5155 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5157 return self.id_serializer_class
5159 return self.serializer_class
5161 def get_queryset(self):
5162 return SiteCredential.select_by_user(self.request.user)
5164 def create(self, request, *args, **kwargs):
5165 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5166 if not (serializer.is_valid()):
5167 response = {"error": "validation",
5168 "specific_error": "not serializer.is_valid()",
\r
5169 "reasons": serializer.errors}
\r
5170 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5171 obj = serializer.object
5172 obj.caller = request.user
5173 if obj.can_update(request.user):
5174 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5176 raise Exception("failed obj.can_update")
5178 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5179 if (ret.status_code%100 != 200):
5180 raise Exception(ret.data)
5185 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5186 queryset = SiteCredential.objects.select_related().all()
5187 serializer_class = SiteCredentialSerializer
5188 id_serializer_class = SiteCredentialIdSerializer
5190 def get_serializer_class(self):
5191 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5193 return self.id_serializer_class
5195 return self.serializer_class
5197 def get_queryset(self):
5198 return SiteCredential.select_by_user(self.request.user)
5200 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5202 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5206 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5207 queryset = DeploymentPrivilege.objects.select_related().all()
5208 serializer_class = DeploymentPrivilegeSerializer
5209 id_serializer_class = DeploymentPrivilegeIdSerializer
5210 filter_backends = (filters.DjangoFilterBackend,)
5211 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5213 def get_serializer_class(self):
5214 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5216 return self.id_serializer_class
5218 return self.serializer_class
5220 def get_queryset(self):
5221 return DeploymentPrivilege.select_by_user(self.request.user)
5223 def create(self, request, *args, **kwargs):
5224 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5225 if not (serializer.is_valid()):
5226 response = {"error": "validation",
5227 "specific_error": "not serializer.is_valid()",
\r
5228 "reasons": serializer.errors}
\r
5229 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5230 obj = serializer.object
5231 obj.caller = request.user
5232 if obj.can_update(request.user):
5233 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5235 raise Exception("failed obj.can_update")
5237 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5238 if (ret.status_code%100 != 200):
5239 raise Exception(ret.data)
5244 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5245 queryset = DeploymentPrivilege.objects.select_related().all()
5246 serializer_class = DeploymentPrivilegeSerializer
5247 id_serializer_class = DeploymentPrivilegeIdSerializer
5249 def get_serializer_class(self):
5250 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5252 return self.id_serializer_class
5254 return self.serializer_class
5256 def get_queryset(self):
5257 return DeploymentPrivilege.select_by_user(self.request.user)
5259 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5261 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5265 class ControllerUsersList(generics.ListCreateAPIView):
5266 queryset = ControllerUsers.objects.select_related().all()
5267 serializer_class = ControllerUsersSerializer
5268 id_serializer_class = ControllerUsersIdSerializer
5269 filter_backends = (filters.DjangoFilterBackend,)
5270 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
5272 def get_serializer_class(self):
5273 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5275 return self.id_serializer_class
5277 return self.serializer_class
5279 def get_queryset(self):
5280 return ControllerUsers.select_by_user(self.request.user)
5282 def create(self, request, *args, **kwargs):
5283 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5284 if not (serializer.is_valid()):
5285 response = {"error": "validation",
5286 "specific_error": "not serializer.is_valid()",
\r
5287 "reasons": serializer.errors}
\r
5288 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5289 obj = serializer.object
5290 obj.caller = request.user
5291 if obj.can_update(request.user):
5292 return super(ControllerUsersList, self).create(request, *args, **kwargs)
5294 raise Exception("failed obj.can_update")
5296 ret = super(ControllerUsersList, self).create(request, *args, **kwargs)
5297 if (ret.status_code%100 != 200):
5298 raise Exception(ret.data)
5303 class ControllerUsersDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5304 queryset = ControllerUsers.objects.select_related().all()
5305 serializer_class = ControllerUsersSerializer
5306 id_serializer_class = ControllerUsersIdSerializer
5308 def get_serializer_class(self):
5309 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5311 return self.id_serializer_class
5313 return self.serializer_class
5315 def get_queryset(self):
5316 return ControllerUsers.select_by_user(self.request.user)
5318 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5320 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5324 class DeploymentRoleList(generics.ListCreateAPIView):
5325 queryset = DeploymentRole.objects.select_related().all()
5326 serializer_class = DeploymentRoleSerializer
5327 id_serializer_class = DeploymentRoleIdSerializer
5328 filter_backends = (filters.DjangoFilterBackend,)
5329 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5331 def get_serializer_class(self):
5332 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5334 return self.id_serializer_class
5336 return self.serializer_class
5338 def get_queryset(self):
5339 return DeploymentRole.select_by_user(self.request.user)
5341 def create(self, request, *args, **kwargs):
5342 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5343 if not (serializer.is_valid()):
5344 response = {"error": "validation",
5345 "specific_error": "not serializer.is_valid()",
\r
5346 "reasons": serializer.errors}
\r
5347 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5348 obj = serializer.object
5349 obj.caller = request.user
5350 if obj.can_update(request.user):
5351 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5353 raise Exception("failed obj.can_update")
5355 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5356 if (ret.status_code%100 != 200):
5357 raise Exception(ret.data)
5362 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5363 queryset = DeploymentRole.objects.select_related().all()
5364 serializer_class = DeploymentRoleSerializer
5365 id_serializer_class = DeploymentRoleIdSerializer
5367 def get_serializer_class(self):
5368 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5370 return self.id_serializer_class
5372 return self.serializer_class
5374 def get_queryset(self):
5375 return DeploymentRole.select_by_user(self.request.user)
5377 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5379 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5383 class UserCredentialList(generics.ListCreateAPIView):
5384 queryset = UserCredential.objects.select_related().all()
5385 serializer_class = UserCredentialSerializer
5386 id_serializer_class = UserCredentialIdSerializer
5387 filter_backends = (filters.DjangoFilterBackend,)
5388 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5390 def get_serializer_class(self):
5391 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5393 return self.id_serializer_class
5395 return self.serializer_class
5397 def get_queryset(self):
5398 return UserCredential.select_by_user(self.request.user)
5400 def create(self, request, *args, **kwargs):
5401 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5402 if not (serializer.is_valid()):
5403 response = {"error": "validation",
5404 "specific_error": "not serializer.is_valid()",
\r
5405 "reasons": serializer.errors}
\r
5406 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5407 obj = serializer.object
5408 obj.caller = request.user
5409 if obj.can_update(request.user):
5410 return super(UserCredentialList, self).create(request, *args, **kwargs)
5412 raise Exception("failed obj.can_update")
5414 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5415 if (ret.status_code%100 != 200):
5416 raise Exception(ret.data)
5421 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5422 queryset = UserCredential.objects.select_related().all()
5423 serializer_class = UserCredentialSerializer
5424 id_serializer_class = UserCredentialIdSerializer
5426 def get_serializer_class(self):
5427 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5429 return self.id_serializer_class
5431 return self.serializer_class
5433 def get_queryset(self):
5434 return UserCredential.select_by_user(self.request.user)
5436 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5438 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5442 class SiteDeploymentsList(generics.ListCreateAPIView):
5443 queryset = SiteDeployments.objects.select_related().all()
5444 serializer_class = SiteDeploymentsSerializer
5445 id_serializer_class = SiteDeploymentsIdSerializer
5446 filter_backends = (filters.DjangoFilterBackend,)
5447 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
5449 def get_serializer_class(self):
5450 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5452 return self.id_serializer_class
5454 return self.serializer_class
5456 def get_queryset(self):
5457 return SiteDeployments.select_by_user(self.request.user)
5459 def create(self, request, *args, **kwargs):
5460 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5461 if not (serializer.is_valid()):
5462 response = {"error": "validation",
5463 "specific_error": "not serializer.is_valid()",
\r
5464 "reasons": serializer.errors}
\r
5465 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5466 obj = serializer.object
5467 obj.caller = request.user
5468 if obj.can_update(request.user):
5469 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5471 raise Exception("failed obj.can_update")
5473 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5474 if (ret.status_code%100 != 200):
5475 raise Exception(ret.data)
5480 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5481 queryset = SiteDeployments.objects.select_related().all()
5482 serializer_class = SiteDeploymentsSerializer
5483 id_serializer_class = SiteDeploymentsIdSerializer
5485 def get_serializer_class(self):
5486 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5488 return self.id_serializer_class
5490 return self.serializer_class
5492 def get_queryset(self):
5493 return SiteDeployments.select_by_user(self.request.user)
5495 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5497 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5501 class SliceTagList(generics.ListCreateAPIView):
5502 queryset = SliceTag.objects.select_related().all()
5503 serializer_class = SliceTagSerializer
5504 id_serializer_class = SliceTagIdSerializer
5505 filter_backends = (filters.DjangoFilterBackend,)
5506 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5508 def get_serializer_class(self):
5509 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5511 return self.id_serializer_class
5513 return self.serializer_class
5515 def get_queryset(self):
5516 return SliceTag.select_by_user(self.request.user)
5518 def create(self, request, *args, **kwargs):
5519 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5520 if not (serializer.is_valid()):
5521 response = {"error": "validation",
5522 "specific_error": "not serializer.is_valid()",
\r
5523 "reasons": serializer.errors}
\r
5524 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5525 obj = serializer.object
5526 obj.caller = request.user
5527 if obj.can_update(request.user):
5528 return super(SliceTagList, self).create(request, *args, **kwargs)
5530 raise Exception("failed obj.can_update")
5532 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5533 if (ret.status_code%100 != 200):
5534 raise Exception(ret.data)
5539 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5540 queryset = SliceTag.objects.select_related().all()
5541 serializer_class = SliceTagSerializer
5542 id_serializer_class = SliceTagIdSerializer
5544 def get_serializer_class(self):
5545 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5547 return self.id_serializer_class
5549 return self.serializer_class
5551 def get_queryset(self):
5552 return SliceTag.select_by_user(self.request.user)
5554 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5556 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5560 class NetworkTemplateList(generics.ListCreateAPIView):
5561 queryset = NetworkTemplate.objects.select_related().all()
5562 serializer_class = NetworkTemplateSerializer
5563 id_serializer_class = NetworkTemplateIdSerializer
5564 filter_backends = (filters.DjangoFilterBackend,)
5565 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
5567 def get_serializer_class(self):
5568 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5570 return self.id_serializer_class
5572 return self.serializer_class
5574 def get_queryset(self):
5575 return NetworkTemplate.select_by_user(self.request.user)
5577 def create(self, request, *args, **kwargs):
5578 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5579 if not (serializer.is_valid()):
5580 response = {"error": "validation",
5581 "specific_error": "not serializer.is_valid()",
\r
5582 "reasons": serializer.errors}
\r
5583 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5584 obj = serializer.object
5585 obj.caller = request.user
5586 if obj.can_update(request.user):
5587 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
5589 raise Exception("failed obj.can_update")
5591 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
5592 if (ret.status_code%100 != 200):
5593 raise Exception(ret.data)
5598 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5599 queryset = NetworkTemplate.objects.select_related().all()
5600 serializer_class = NetworkTemplateSerializer
5601 id_serializer_class = NetworkTemplateIdSerializer
5603 def get_serializer_class(self):
5604 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5606 return self.id_serializer_class
5608 return self.serializer_class
5610 def get_queryset(self):
5611 return NetworkTemplate.select_by_user(self.request.user)
5613 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5615 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5619 class RouterList(generics.ListCreateAPIView):
5620 queryset = Router.objects.select_related().all()
5621 serializer_class = RouterSerializer
5622 id_serializer_class = RouterIdSerializer
5623 filter_backends = (filters.DjangoFilterBackend,)
5624 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
5626 def get_serializer_class(self):
5627 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5629 return self.id_serializer_class
5631 return self.serializer_class
5633 def get_queryset(self):
5634 return Router.select_by_user(self.request.user)
5636 def create(self, request, *args, **kwargs):
5637 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5638 if not (serializer.is_valid()):
5639 response = {"error": "validation",
5640 "specific_error": "not serializer.is_valid()",
\r
5641 "reasons": serializer.errors}
\r
5642 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5643 obj = serializer.object
5644 obj.caller = request.user
5645 if obj.can_update(request.user):
5646 return super(RouterList, self).create(request, *args, **kwargs)
5648 raise Exception("failed obj.can_update")
5650 ret = super(RouterList, self).create(request, *args, **kwargs)
5651 if (ret.status_code%100 != 200):
5652 raise Exception(ret.data)
5657 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5658 queryset = Router.objects.select_related().all()
5659 serializer_class = RouterSerializer
5660 id_serializer_class = RouterIdSerializer
5662 def get_serializer_class(self):
5663 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5665 return self.id_serializer_class
5667 return self.serializer_class
5669 def get_queryset(self):
5670 return Router.select_by_user(self.request.user)
5672 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5674 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5678 class ServiceResourceList(generics.ListCreateAPIView):
5679 queryset = ServiceResource.objects.select_related().all()
5680 serializer_class = ServiceResourceSerializer
5681 id_serializer_class = ServiceResourceIdSerializer
5682 filter_backends = (filters.DjangoFilterBackend,)
5683 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5685 def get_serializer_class(self):
5686 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5688 return self.id_serializer_class
5690 return self.serializer_class
5692 def get_queryset(self):
5693 return ServiceResource.select_by_user(self.request.user)
5695 def create(self, request, *args, **kwargs):
5696 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5697 if not (serializer.is_valid()):
5698 response = {"error": "validation",
5699 "specific_error": "not serializer.is_valid()",
\r
5700 "reasons": serializer.errors}
\r
5701 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5702 obj = serializer.object
5703 obj.caller = request.user
5704 if obj.can_update(request.user):
5705 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5707 raise Exception("failed obj.can_update")
5709 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5710 if (ret.status_code%100 != 200):
5711 raise Exception(ret.data)
5716 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5717 queryset = ServiceResource.objects.select_related().all()
5718 serializer_class = ServiceResourceSerializer
5719 id_serializer_class = ServiceResourceIdSerializer
5721 def get_serializer_class(self):
5722 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5724 return self.id_serializer_class
5726 return self.serializer_class
5728 def get_queryset(self):
5729 return ServiceResource.select_by_user(self.request.user)
5731 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5733 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5737 class ControllerSlicesList(generics.ListCreateAPIView):
5738 queryset = ControllerSlices.objects.select_related().all()
5739 serializer_class = ControllerSlicesSerializer
5740 id_serializer_class = ControllerSlicesIdSerializer
5741 filter_backends = (filters.DjangoFilterBackend,)
5742 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
5744 def get_serializer_class(self):
5745 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5747 return self.id_serializer_class
5749 return self.serializer_class
5751 def get_queryset(self):
5752 return ControllerSlices.select_by_user(self.request.user)
5754 def create(self, request, *args, **kwargs):
5755 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5756 if not (serializer.is_valid()):
5757 response = {"error": "validation",
5758 "specific_error": "not serializer.is_valid()",
\r
5759 "reasons": serializer.errors}
\r
5760 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5761 obj = serializer.object
5762 obj.caller = request.user
5763 if obj.can_update(request.user):
5764 return super(ControllerSlicesList, self).create(request, *args, **kwargs)
5766 raise Exception("failed obj.can_update")
5768 ret = super(ControllerSlicesList, self).create(request, *args, **kwargs)
5769 if (ret.status_code%100 != 200):
5770 raise Exception(ret.data)
5775 class ControllerSlicesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5776 queryset = ControllerSlices.objects.select_related().all()
5777 serializer_class = ControllerSlicesSerializer
5778 id_serializer_class = ControllerSlicesIdSerializer
5780 def get_serializer_class(self):
5781 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5783 return self.id_serializer_class
5785 return self.serializer_class
5787 def get_queryset(self):
5788 return ControllerSlices.select_by_user(self.request.user)
5790 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5792 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView