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/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
125 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
127 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
128 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
130 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
131 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
133 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
134 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
136 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
137 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
139 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
140 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
142 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
143 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
145 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
146 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
148 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
149 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
151 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
152 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-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/controllerdashboards/$', ControllerDashboardList.as_view(), name='controllerdashboard-list'),
185 url(r'plstackapi/controllerdashboards/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardDetail.as_view(), name ='controllerdashboard-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 'networktemplates': reverse('networktemplate-list', request=request, format=format),
233 'networkslices': reverse('networkslice-list', request=request, format=format),
234 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
235 'controllers': reverse('controller-list', request=request, format=format),
236 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
237 'users': reverse('user-list', request=request, format=format),
238 'deployments': reverse('deployment-list', request=request, format=format),
239 'reservations': reverse('reservation-list', request=request, format=format),
240 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
241 'planetstacks': reverse('planetstack-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 'controllerdashboards': reverse('controllerdashboard-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()
431 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
432 validators = serializers.SerializerMethodField("getValidators")
433 def getHumanReadableName(self, obj):
\r
435 def getValidators(self, obj):
437 return obj.getValidators()
442 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
444 class ImageIdSerializer(XOSModelSerializer):
445 id = serializers.Field()
447 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
448 validators = serializers.SerializerMethodField("getValidators")
449 def getHumanReadableName(self, obj):
\r
451 def getValidators(self, obj):
\r
453 return obj.getValidators()
458 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
463 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
464 id = serializers.Field()
466 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
467 validators = serializers.SerializerMethodField("getValidators")
468 def getHumanReadableName(self, obj):
\r
470 def getValidators(self, obj):
472 return obj.getValidators()
476 model = NetworkParameter
477 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
479 class NetworkParameterIdSerializer(XOSModelSerializer):
480 id = serializers.Field()
482 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
483 validators = serializers.SerializerMethodField("getValidators")
484 def getHumanReadableName(self, obj):
\r
486 def getValidators(self, obj):
\r
488 return obj.getValidators()
492 model = NetworkParameter
493 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
498 class SiteSerializer(serializers.HyperlinkedModelSerializer):
499 id = serializers.Field()
502 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
505 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
506 validators = serializers.SerializerMethodField("getValidators")
507 def getHumanReadableName(self, obj):
\r
509 def getValidators(self, obj):
511 return obj.getValidators()
516 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
518 class SiteIdSerializer(XOSModelSerializer):
519 id = serializers.Field()
522 deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
525 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
526 validators = serializers.SerializerMethodField("getValidators")
527 def getHumanReadableName(self, obj):
\r
529 def getValidators(self, obj):
\r
531 return obj.getValidators()
536 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
541 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
542 id = serializers.Field()
544 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
545 validators = serializers.SerializerMethodField("getValidators")
546 def getHumanReadableName(self, obj):
\r
548 def getValidators(self, obj):
550 return obj.getValidators()
555 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
557 class SliceRoleIdSerializer(XOSModelSerializer):
558 id = serializers.Field()
560 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
561 validators = serializers.SerializerMethodField("getValidators")
562 def getHumanReadableName(self, obj):
\r
564 def getValidators(self, obj):
\r
566 return obj.getValidators()
571 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
576 class TagSerializer(serializers.HyperlinkedModelSerializer):
577 id = serializers.Field()
579 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
580 validators = serializers.SerializerMethodField("getValidators")
581 def getHumanReadableName(self, obj):
\r
583 def getValidators(self, obj):
585 return obj.getValidators()
590 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
592 class TagIdSerializer(XOSModelSerializer):
593 id = serializers.Field()
595 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
596 validators = serializers.SerializerMethodField("getValidators")
597 def getHumanReadableName(self, obj):
\r
599 def getValidators(self, obj):
\r
601 return obj.getValidators()
606 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
611 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
612 id = serializers.Field()
614 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
615 validators = serializers.SerializerMethodField("getValidators")
616 def getHumanReadableName(self, obj):
\r
618 def getValidators(self, obj):
620 return obj.getValidators()
625 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
627 class InvoiceIdSerializer(XOSModelSerializer):
628 id = serializers.Field()
630 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
631 validators = serializers.SerializerMethodField("getValidators")
632 def getHumanReadableName(self, obj):
\r
634 def getValidators(self, obj):
\r
636 return obj.getValidators()
641 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
646 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
647 id = serializers.Field()
649 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
650 validators = serializers.SerializerMethodField("getValidators")
651 def getHumanReadableName(self, obj):
\r
653 def getValidators(self, obj):
655 return obj.getValidators()
659 model = SlicePrivilege
660 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
662 class SlicePrivilegeIdSerializer(XOSModelSerializer):
663 id = serializers.Field()
665 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
666 validators = serializers.SerializerMethodField("getValidators")
667 def getHumanReadableName(self, obj):
\r
669 def getValidators(self, obj):
\r
671 return obj.getValidators()
675 model = SlicePrivilege
676 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
681 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
682 id = serializers.Field()
684 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
685 validators = serializers.SerializerMethodField("getValidators")
686 def getHumanReadableName(self, obj):
\r
688 def getValidators(self, obj):
690 return obj.getValidators()
694 model = PlanetStackRole
695 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
697 class PlanetStackRoleIdSerializer(XOSModelSerializer):
698 id = serializers.Field()
700 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
701 validators = serializers.SerializerMethodField("getValidators")
702 def getHumanReadableName(self, obj):
\r
704 def getValidators(self, obj):
\r
706 return obj.getValidators()
710 model = PlanetStackRole
711 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
716 class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
717 id = serializers.Field()
719 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
720 validators = serializers.SerializerMethodField("getValidators")
721 def getHumanReadableName(self, obj):
\r
723 def getValidators(self, obj):
725 return obj.getValidators()
729 model = ControllerPrivilege
730 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
732 class ControllerPrivilegeIdSerializer(XOSModelSerializer):
733 id = serializers.Field()
735 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
736 validators = serializers.SerializerMethodField("getValidators")
737 def getHumanReadableName(self, obj):
\r
739 def getValidators(self, obj):
\r
741 return obj.getValidators()
745 model = ControllerPrivilege
746 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
751 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
752 id = serializers.Field()
754 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
755 validators = serializers.SerializerMethodField("getValidators")
756 def getHumanReadableName(self, obj):
\r
758 def getValidators(self, obj):
760 return obj.getValidators()
764 model = NetworkSliver
765 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
767 class NetworkSliverIdSerializer(XOSModelSerializer):
768 id = serializers.Field()
770 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
771 validators = serializers.SerializerMethodField("getValidators")
772 def getHumanReadableName(self, obj):
\r
774 def getValidators(self, obj):
\r
776 return obj.getValidators()
780 model = NetworkSliver
781 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
786 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
787 id = serializers.Field()
789 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
790 validators = serializers.SerializerMethodField("getValidators")
791 def getHumanReadableName(self, obj):
\r
793 def getValidators(self, obj):
795 return obj.getValidators()
800 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
802 class ProjectIdSerializer(XOSModelSerializer):
803 id = serializers.Field()
805 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
806 validators = serializers.SerializerMethodField("getValidators")
807 def getHumanReadableName(self, obj):
\r
809 def getValidators(self, obj):
\r
811 return obj.getValidators()
816 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
821 class SliceSerializer(serializers.HyperlinkedModelSerializer):
822 id = serializers.Field()
825 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
829 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
832 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
833 validators = serializers.SerializerMethodField("getValidators")
834 def getHumanReadableName(self, obj):
\r
836 def getValidators(self, obj):
838 return obj.getValidators()
843 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',)
845 class SliceIdSerializer(XOSModelSerializer):
846 id = serializers.Field()
849 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
853 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
856 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
857 validators = serializers.SerializerMethodField("getValidators")
858 def getHumanReadableName(self, obj):
\r
860 def getValidators(self, obj):
\r
862 return obj.getValidators()
867 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',)
872 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
873 id = serializers.Field()
876 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
880 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
884 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
888 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
892 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
895 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
896 validators = serializers.SerializerMethodField("getValidators")
897 def getHumanReadableName(self, obj):
\r
899 def getValidators(self, obj):
901 return obj.getValidators()
906 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',)
908 class NetworkIdSerializer(XOSModelSerializer):
909 id = serializers.Field()
912 slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
916 slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
920 slivers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='sliver-detail')
924 routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
928 routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
931 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
932 validators = serializers.SerializerMethodField("getValidators")
933 def getHumanReadableName(self, obj):
\r
935 def getValidators(self, obj):
\r
937 return obj.getValidators()
942 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',)
947 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
948 id = serializers.Field()
950 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
951 validators = serializers.SerializerMethodField("getValidators")
952 def getHumanReadableName(self, obj):
\r
954 def getValidators(self, obj):
956 return obj.getValidators()
961 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
963 class ServiceIdSerializer(XOSModelSerializer):
964 id = serializers.Field()
966 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
967 validators = serializers.SerializerMethodField("getValidators")
968 def getHumanReadableName(self, obj):
\r
970 def getValidators(self, obj):
\r
972 return obj.getValidators()
977 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
982 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
983 id = serializers.Field()
985 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
986 validators = serializers.SerializerMethodField("getValidators")
987 def getHumanReadableName(self, obj):
\r
989 def getValidators(self, obj):
991 return obj.getValidators()
996 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
998 class ServiceClassIdSerializer(XOSModelSerializer):
999 id = serializers.Field()
1001 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1002 validators = serializers.SerializerMethodField("getValidators")
1003 def getHumanReadableName(self, obj):
\r
1005 def getValidators(self, obj):
\r
1007 return obj.getValidators()
1011 model = ServiceClass
1012 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1017 class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
1018 id = serializers.Field()
1020 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1021 validators = serializers.SerializerMethodField("getValidators")
1022 def getHumanReadableName(self, obj):
\r
1024 def getValidators(self, obj):
1026 return obj.getValidators()
1030 model = ControllerNetworks
1031 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1033 class ControllerNetworksIdSerializer(XOSModelSerializer):
1034 id = serializers.Field()
1036 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1037 validators = serializers.SerializerMethodField("getValidators")
1038 def getHumanReadableName(self, obj):
\r
1040 def getValidators(self, obj):
\r
1042 return obj.getValidators()
1046 model = ControllerNetworks
1047 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
1052 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
1053 id = serializers.Field()
1055 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1056 validators = serializers.SerializerMethodField("getValidators")
1057 def getHumanReadableName(self, obj):
\r
1059 def getValidators(self, obj):
1061 return obj.getValidators()
1066 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1068 class ChargeIdSerializer(XOSModelSerializer):
1069 id = serializers.Field()
1071 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1072 validators = serializers.SerializerMethodField("getValidators")
1073 def getHumanReadableName(self, obj):
\r
1075 def getValidators(self, obj):
\r
1077 return obj.getValidators()
1082 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
1087 class RoleSerializer(serializers.HyperlinkedModelSerializer):
1088 id = serializers.Field()
1090 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1091 validators = serializers.SerializerMethodField("getValidators")
1092 def getHumanReadableName(self, obj):
\r
1094 def getValidators(self, obj):
1096 return obj.getValidators()
1101 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1103 class RoleIdSerializer(XOSModelSerializer):
1104 id = serializers.Field()
1106 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1107 validators = serializers.SerializerMethodField("getValidators")
1108 def getHumanReadableName(self, obj):
\r
1110 def getValidators(self, obj):
\r
1112 return obj.getValidators()
1117 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
1122 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
1123 id = serializers.Field()
1125 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1126 validators = serializers.SerializerMethodField("getValidators")
1127 def getHumanReadableName(self, obj):
\r
1129 def getValidators(self, obj):
1131 return obj.getValidators()
1135 model = UsableObject
1136 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1138 class UsableObjectIdSerializer(XOSModelSerializer):
1139 id = serializers.Field()
1141 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1142 validators = serializers.SerializerMethodField("getValidators")
1143 def getHumanReadableName(self, obj):
\r
1145 def getValidators(self, obj):
\r
1147 return obj.getValidators()
1151 model = UsableObject
1152 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
1157 class ControllerSiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1158 id = serializers.Field()
1160 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1161 validators = serializers.SerializerMethodField("getValidators")
1162 def getHumanReadableName(self, obj):
\r
1164 def getValidators(self, obj):
1166 return obj.getValidators()
1170 model = ControllerSiteDeployments
1171 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1173 class ControllerSiteDeploymentsIdSerializer(XOSModelSerializer):
1174 id = serializers.Field()
1176 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1177 validators = serializers.SerializerMethodField("getValidators")
1178 def getHumanReadableName(self, obj):
\r
1180 def getValidators(self, obj):
\r
1182 return obj.getValidators()
1186 model = ControllerSiteDeployments
1187 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
1192 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
1193 id = serializers.Field()
1195 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1196 validators = serializers.SerializerMethodField("getValidators")
1197 def getHumanReadableName(self, obj):
\r
1199 def getValidators(self, obj):
1201 return obj.getValidators()
1206 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1208 class SiteRoleIdSerializer(XOSModelSerializer):
1209 id = serializers.Field()
1211 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1212 validators = serializers.SerializerMethodField("getValidators")
1213 def getHumanReadableName(self, obj):
\r
1215 def getValidators(self, obj):
\r
1217 return obj.getValidators()
1222 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1227 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
1228 id = serializers.Field()
1230 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1231 validators = serializers.SerializerMethodField("getValidators")
1232 def getHumanReadableName(self, obj):
\r
1234 def getValidators(self, obj):
1236 return obj.getValidators()
1240 model = SliceCredential
1241 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1243 class SliceCredentialIdSerializer(XOSModelSerializer):
1244 id = serializers.Field()
1246 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1247 validators = serializers.SerializerMethodField("getValidators")
1248 def getHumanReadableName(self, obj):
\r
1250 def getValidators(self, obj):
\r
1252 return obj.getValidators()
1256 model = SliceCredential
1257 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
1262 class SliverSerializer(serializers.HyperlinkedModelSerializer):
1263 id = serializers.Field()
1266 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1269 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1270 validators = serializers.SerializerMethodField("getValidators")
1271 def getHumanReadableName(self, obj):
\r
1273 def getValidators(self, obj):
1275 return obj.getValidators()
1280 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',)
1282 class SliverIdSerializer(XOSModelSerializer):
1283 id = serializers.Field()
1286 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
1289 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1290 validators = serializers.SerializerMethodField("getValidators")
1291 def getHumanReadableName(self, obj):
\r
1293 def getValidators(self, obj):
\r
1295 return obj.getValidators()
1300 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',)
1305 class NodeSerializer(serializers.HyperlinkedModelSerializer):
1306 id = serializers.Field()
1308 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1309 validators = serializers.SerializerMethodField("getValidators")
1310 def getHumanReadableName(self, obj):
\r
1312 def getValidators(self, obj):
1314 return obj.getValidators()
1319 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1321 class NodeIdSerializer(XOSModelSerializer):
1322 id = serializers.Field()
1324 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1325 validators = serializers.SerializerMethodField("getValidators")
1326 def getHumanReadableName(self, obj):
\r
1328 def getValidators(self, obj):
\r
1330 return obj.getValidators()
1335 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
1340 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1341 id = serializers.Field()
1344 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1347 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1348 validators = serializers.SerializerMethodField("getValidators")
1349 def getHumanReadableName(self, obj):
\r
1351 def getValidators(self, obj):
1353 return obj.getValidators()
1357 model = DashboardView
1358 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1360 class DashboardViewIdSerializer(XOSModelSerializer):
1361 id = serializers.Field()
1364 controllers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='controller-detail')
1367 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1368 validators = serializers.SerializerMethodField("getValidators")
1369 def getHumanReadableName(self, obj):
\r
1371 def getValidators(self, obj):
\r
1373 return obj.getValidators()
1377 model = DashboardView
1378 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
1383 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1384 id = serializers.Field()
1386 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1387 validators = serializers.SerializerMethodField("getValidators")
1388 def getHumanReadableName(self, obj):
\r
1390 def getValidators(self, obj):
1392 return obj.getValidators()
1396 model = ImageDeployments
1397 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1399 class ImageDeploymentsIdSerializer(XOSModelSerializer):
1400 id = serializers.Field()
1402 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1403 validators = serializers.SerializerMethodField("getValidators")
1404 def getHumanReadableName(self, obj):
\r
1406 def getValidators(self, obj):
\r
1408 return obj.getValidators()
1412 model = ImageDeployments
1413 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
1418 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
1419 id = serializers.Field()
1421 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1422 validators = serializers.SerializerMethodField("getValidators")
1423 def getHumanReadableName(self, obj):
\r
1425 def getValidators(self, obj):
1427 return obj.getValidators()
1431 model = ReservedResource
1432 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1434 class ReservedResourceIdSerializer(XOSModelSerializer):
1435 id = serializers.Field()
1437 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1438 validators = serializers.SerializerMethodField("getValidators")
1439 def getHumanReadableName(self, obj):
\r
1441 def getValidators(self, obj):
\r
1443 return obj.getValidators()
1447 model = ReservedResource
1448 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
1453 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
1454 id = serializers.Field()
1456 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1457 validators = serializers.SerializerMethodField("getValidators")
1458 def getHumanReadableName(self, obj):
\r
1460 def getValidators(self, obj):
1462 return obj.getValidators()
1467 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1469 class PaymentIdSerializer(XOSModelSerializer):
1470 id = serializers.Field()
1472 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1473 validators = serializers.SerializerMethodField("getValidators")
1474 def getHumanReadableName(self, obj):
\r
1476 def getValidators(self, obj):
\r
1478 return obj.getValidators()
1483 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1488 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
1489 id = serializers.Field()
1491 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1492 validators = serializers.SerializerMethodField("getValidators")
1493 def getHumanReadableName(self, obj):
\r
1495 def getValidators(self, obj):
1497 return obj.getValidators()
1501 model = NetworkTemplate
1502 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
1504 class NetworkTemplateIdSerializer(XOSModelSerializer):
1505 id = serializers.Field()
1507 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1508 validators = serializers.SerializerMethodField("getValidators")
1509 def getHumanReadableName(self, obj):
\r
1511 def getValidators(self, obj):
\r
1513 return obj.getValidators()
1517 model = NetworkTemplate
1518 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
1523 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
1524 id = serializers.Field()
1526 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1527 validators = serializers.SerializerMethodField("getValidators")
1528 def getHumanReadableName(self, obj):
\r
1530 def getValidators(self, obj):
1532 return obj.getValidators()
1536 model = NetworkSlice
1537 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1539 class NetworkSliceIdSerializer(XOSModelSerializer):
1540 id = serializers.Field()
1542 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1543 validators = serializers.SerializerMethodField("getValidators")
1544 def getHumanReadableName(self, obj):
\r
1546 def getValidators(self, obj):
\r
1548 return obj.getValidators()
1552 model = NetworkSlice
1553 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
1558 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
1559 id = serializers.Field()
1561 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1562 validators = serializers.SerializerMethodField("getValidators")
1563 def getHumanReadableName(self, obj):
\r
1565 def getValidators(self, obj):
1567 return obj.getValidators()
1571 model = UserDashboardView
1572 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1574 class UserDashboardViewIdSerializer(XOSModelSerializer):
1575 id = serializers.Field()
1577 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1578 validators = serializers.SerializerMethodField("getValidators")
1579 def getHumanReadableName(self, obj):
\r
1581 def getValidators(self, obj):
\r
1583 return obj.getValidators()
1587 model = UserDashboardView
1588 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
1593 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
1594 id = serializers.Field()
1597 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
1600 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1601 validators = serializers.SerializerMethodField("getValidators")
1602 def getHumanReadableName(self, obj):
\r
1604 def getValidators(self, obj):
1606 return obj.getValidators()
1611 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1613 class ControllerIdSerializer(XOSModelSerializer):
1614 id = serializers.Field()
1617 dashboardviews = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='dashboardview-detail')
1620 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1621 validators = serializers.SerializerMethodField("getValidators")
1622 def getHumanReadableName(self, obj):
\r
1624 def getValidators(self, obj):
\r
1626 return obj.getValidators()
1631 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
1636 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1637 id = serializers.Field()
1639 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1640 validators = serializers.SerializerMethodField("getValidators")
1641 def getHumanReadableName(self, obj):
\r
1643 def getValidators(self, obj):
1645 return obj.getValidators()
1649 model = PlanetStackPrivilege
1650 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1652 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
1653 id = serializers.Field()
1655 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1656 validators = serializers.SerializerMethodField("getValidators")
1657 def getHumanReadableName(self, obj):
\r
1659 def getValidators(self, obj):
\r
1661 return obj.getValidators()
1665 model = PlanetStackPrivilege
1666 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
1671 class UserSerializer(serializers.HyperlinkedModelSerializer):
1672 id = serializers.Field()
1674 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1675 validators = serializers.SerializerMethodField("getValidators")
1676 def getHumanReadableName(self, obj):
\r
1678 def getValidators(self, obj):
1680 return obj.getValidators()
1685 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',)
1687 class UserIdSerializer(XOSModelSerializer):
1688 id = serializers.Field()
1690 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1691 validators = serializers.SerializerMethodField("getValidators")
1692 def getHumanReadableName(self, obj):
\r
1694 def getValidators(self, obj):
\r
1696 return obj.getValidators()
1701 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',)
1706 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
1707 id = serializers.Field()
1710 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1714 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1717 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1718 validators = serializers.SerializerMethodField("getValidators")
1719 def getHumanReadableName(self, obj):
\r
1721 def getValidators(self, obj):
1723 return obj.getValidators()
1728 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
1730 class DeploymentIdSerializer(XOSModelSerializer):
1731 id = serializers.Field()
1734 flavors = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='flavor-detail')
1738 sites = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='site-detail')
1741 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1742 validators = serializers.SerializerMethodField("getValidators")
1743 def getHumanReadableName(self, obj):
\r
1745 def getValidators(self, obj):
\r
1747 return obj.getValidators()
1752 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
1757 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
1758 id = serializers.Field()
1760 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1761 validators = serializers.SerializerMethodField("getValidators")
1762 def getHumanReadableName(self, obj):
\r
1764 def getValidators(self, obj):
1766 return obj.getValidators()
1771 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1773 class ReservationIdSerializer(XOSModelSerializer):
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):
\r
1782 return obj.getValidators()
1787 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
1792 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1793 id = serializers.Field()
1795 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1796 validators = serializers.SerializerMethodField("getValidators")
1797 def getHumanReadableName(self, obj):
\r
1799 def getValidators(self, obj):
1801 return obj.getValidators()
1805 model = SitePrivilege
1806 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1808 class SitePrivilegeIdSerializer(XOSModelSerializer):
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):
\r
1817 return obj.getValidators()
1821 model = SitePrivilege
1822 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
1827 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
1828 id = serializers.Field()
1830 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1831 validators = serializers.SerializerMethodField("getValidators")
1832 def getHumanReadableName(self, obj):
\r
1834 def getValidators(self, obj):
1836 return obj.getValidators()
1841 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1843 class PlanetStackIdSerializer(XOSModelSerializer):
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):
\r
1852 return obj.getValidators()
1857 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
1862 class AccountSerializer(serializers.HyperlinkedModelSerializer):
1863 id = serializers.Field()
1865 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1866 validators = serializers.SerializerMethodField("getValidators")
1867 def getHumanReadableName(self, obj):
\r
1869 def getValidators(self, obj):
1871 return obj.getValidators()
1876 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1878 class AccountIdSerializer(XOSModelSerializer):
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):
\r
1887 return obj.getValidators()
1892 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
1897 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
1898 id = serializers.Field()
1900 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1901 validators = serializers.SerializerMethodField("getValidators")
1902 def getHumanReadableName(self, obj):
\r
1904 def getValidators(self, obj):
1906 return obj.getValidators()
1910 model = ControllerRole
1911 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1913 class ControllerRoleIdSerializer(XOSModelSerializer):
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):
\r
1922 return obj.getValidators()
1926 model = ControllerRole
1927 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
1932 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1933 id = serializers.Field()
1935 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1936 validators = serializers.SerializerMethodField("getValidators")
1937 def getHumanReadableName(self, obj):
\r
1939 def getValidators(self, obj):
1941 return obj.getValidators()
1945 model = NetworkParameterType
1946 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1948 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
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):
\r
1957 return obj.getValidators()
1961 model = NetworkParameterType
1962 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
1967 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1968 id = serializers.Field()
1970 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1971 validators = serializers.SerializerMethodField("getValidators")
1972 def getHumanReadableName(self, obj):
\r
1974 def getValidators(self, obj):
1976 return obj.getValidators()
1980 model = SiteCredential
1981 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1983 class SiteCredentialIdSerializer(XOSModelSerializer):
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):
\r
1992 return obj.getValidators()
1996 model = SiteCredential
1997 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
2002 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
2003 id = serializers.Field()
2005 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2006 validators = serializers.SerializerMethodField("getValidators")
2007 def getHumanReadableName(self, obj):
\r
2009 def getValidators(self, obj):
2011 return obj.getValidators()
2015 model = DeploymentPrivilege
2016 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2018 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
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):
\r
2027 return obj.getValidators()
2031 model = DeploymentPrivilege
2032 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
2037 class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
2038 id = serializers.Field()
2040 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2041 validators = serializers.SerializerMethodField("getValidators")
2042 def getHumanReadableName(self, obj):
\r
2044 def getValidators(self, obj):
2046 return obj.getValidators()
2050 model = ControllerUsers
2051 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2053 class ControllerUsersIdSerializer(XOSModelSerializer):
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):
\r
2062 return obj.getValidators()
2066 model = ControllerUsers
2067 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
2072 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
2073 id = serializers.Field()
2075 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2076 validators = serializers.SerializerMethodField("getValidators")
2077 def getHumanReadableName(self, obj):
\r
2079 def getValidators(self, obj):
2081 return obj.getValidators()
2085 model = DeploymentRole
2086 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2088 class DeploymentRoleIdSerializer(XOSModelSerializer):
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):
\r
2097 return obj.getValidators()
2101 model = DeploymentRole
2102 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
2107 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
2108 id = serializers.Field()
2110 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2111 validators = serializers.SerializerMethodField("getValidators")
2112 def getHumanReadableName(self, obj):
\r
2114 def getValidators(self, obj):
2116 return obj.getValidators()
2120 model = UserCredential
2121 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2123 class UserCredentialIdSerializer(XOSModelSerializer):
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):
\r
2132 return obj.getValidators()
2136 model = UserCredential
2137 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
2142 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
2143 id = serializers.Field()
2145 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2146 validators = serializers.SerializerMethodField("getValidators")
2147 def getHumanReadableName(self, obj):
\r
2149 def getValidators(self, obj):
2151 return obj.getValidators()
2155 model = SiteDeployments
2156 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2158 class SiteDeploymentsIdSerializer(XOSModelSerializer):
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):
\r
2167 return obj.getValidators()
2171 model = SiteDeployments
2172 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
2177 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
2178 id = serializers.Field()
2180 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2181 validators = serializers.SerializerMethodField("getValidators")
2182 def getHumanReadableName(self, obj):
\r
2184 def getValidators(self, obj):
2186 return obj.getValidators()
2191 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2193 class SliceTagIdSerializer(XOSModelSerializer):
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):
\r
2202 return obj.getValidators()
2207 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
2212 class ControllerDashboardSerializer(serializers.HyperlinkedModelSerializer):
2213 id = serializers.Field()
2215 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2216 validators = serializers.SerializerMethodField("getValidators")
2217 def getHumanReadableName(self, obj):
\r
2219 def getValidators(self, obj):
2221 return obj.getValidators()
2225 model = ControllerDashboard
2226 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
2228 class ControllerDashboardIdSerializer(XOSModelSerializer):
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):
\r
2237 return obj.getValidators()
2241 model = ControllerDashboard
2242 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
2247 class RouterSerializer(serializers.HyperlinkedModelSerializer):
2248 id = serializers.Field()
2251 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2255 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2258 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2259 validators = serializers.SerializerMethodField("getValidators")
2260 def getHumanReadableName(self, obj):
\r
2262 def getValidators(self, obj):
2264 return obj.getValidators()
2269 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2271 class RouterIdSerializer(XOSModelSerializer):
2272 id = serializers.Field()
2275 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
2279 networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
2282 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2283 validators = serializers.SerializerMethodField("getValidators")
2284 def getHumanReadableName(self, obj):
\r
2286 def getValidators(self, obj):
\r
2288 return obj.getValidators()
2293 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
2298 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
2299 id = serializers.Field()
2301 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2302 validators = serializers.SerializerMethodField("getValidators")
2303 def getHumanReadableName(self, obj):
\r
2305 def getValidators(self, obj):
2307 return obj.getValidators()
2311 model = ServiceResource
2312 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
2314 class ServiceResourceIdSerializer(XOSModelSerializer):
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):
\r
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',)
2333 class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
2334 id = serializers.Field()
2336 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2337 validators = serializers.SerializerMethodField("getValidators")
2338 def getHumanReadableName(self, obj):
\r
2340 def getValidators(self, obj):
2342 return obj.getValidators()
2346 model = ControllerSlices
2347 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2349 class ControllerSlicesIdSerializer(XOSModelSerializer):
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):
\r
2358 return obj.getValidators()
2362 model = ControllerSlices
2363 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
2368 serializerLookUp = {
2370 Flavor: FlavorSerializer,
2372 ServiceAttribute: ServiceAttributeSerializer,
2374 ControllerImages: ControllerImagesSerializer,
2376 Image: ImageSerializer,
2378 NetworkParameter: NetworkParameterSerializer,
2380 Site: SiteSerializer,
2382 SliceRole: SliceRoleSerializer,
2386 Invoice: InvoiceSerializer,
2388 SlicePrivilege: SlicePrivilegeSerializer,
2390 PlanetStackRole: PlanetStackRoleSerializer,
2392 ControllerPrivilege: ControllerPrivilegeSerializer,
2394 NetworkSliver: NetworkSliverSerializer,
2396 Project: ProjectSerializer,
2398 Slice: SliceSerializer,
2400 Network: NetworkSerializer,
2402 Service: ServiceSerializer,
2404 ServiceClass: ServiceClassSerializer,
2406 ControllerNetworks: ControllerNetworksSerializer,
2408 Charge: ChargeSerializer,
2410 Role: RoleSerializer,
2412 UsableObject: UsableObjectSerializer,
2414 ControllerSiteDeployments: ControllerSiteDeploymentsSerializer,
2416 SiteRole: SiteRoleSerializer,
2418 SliceCredential: SliceCredentialSerializer,
2420 Sliver: SliverSerializer,
2422 Node: NodeSerializer,
2424 DashboardView: DashboardViewSerializer,
2426 ImageDeployments: ImageDeploymentsSerializer,
2428 ReservedResource: ReservedResourceSerializer,
2430 Payment: PaymentSerializer,
2432 NetworkTemplate: NetworkTemplateSerializer,
2434 NetworkSlice: NetworkSliceSerializer,
2436 UserDashboardView: UserDashboardViewSerializer,
2438 Controller: ControllerSerializer,
2440 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
2442 User: UserSerializer,
2444 Deployment: DeploymentSerializer,
2446 Reservation: ReservationSerializer,
2448 SitePrivilege: SitePrivilegeSerializer,
2450 PlanetStack: PlanetStackSerializer,
2452 Account: AccountSerializer,
2454 ControllerRole: ControllerRoleSerializer,
2456 NetworkParameterType: NetworkParameterTypeSerializer,
2458 SiteCredential: SiteCredentialSerializer,
2460 DeploymentPrivilege: DeploymentPrivilegeSerializer,
2462 ControllerUsers: ControllerUsersSerializer,
2464 DeploymentRole: DeploymentRoleSerializer,
2466 UserCredential: UserCredentialSerializer,
2468 SiteDeployments: SiteDeploymentsSerializer,
2470 SliceTag: SliceTagSerializer,
2472 ControllerDashboard: ControllerDashboardSerializer,
2474 Router: RouterSerializer,
2476 ServiceResource: ServiceResourceSerializer,
2478 ControllerSlices: ControllerSlicesSerializer,
2483 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2485 # To handle fine-grained field permissions, we have to check can_update
2486 # the object has been updated but before it has been saved.
2488 def update(self, request, *args, **kwargs):
\r
2489 partial = kwargs.pop('partial', False)
\r
2490 self.object = self.get_object_or_none()
\r
2492 serializer = self.get_serializer(self.object, data=request.DATA,
\r
2493 files=request.FILES, partial=partial)
\r
2495 if not serializer.is_valid():
\r
2496 response = {"error": "validation",
\r
2497 "specific_error": "not serializer.is_valid()",
\r
2498 "reasons": serializer.errors}
\r
2499 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2502 self.pre_save(serializer.object)
\r
2503 except ValidationError as err:
\r
2504 # full_clean on model instance may be called in pre_save,
\r
2505 # so we have to handle eventual errors.
\r
2506 response = {"error": "validation",
\r
2507 "specific_error": "ValidationError in pre_save",
\r
2508 "reasons": err.message_dict}
\r
2509 return Response(response, status=status.HTTP_400_BAD_REQUEST)
\r
2511 if serializer.object is not None:
\r
2512 if not serializer.object.can_update(request.user):
\r
2513 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
2515 if self.object is None:
\r
2516 self.object = serializer.save(force_insert=True)
\r
2517 self.post_save(self.object, created=True)
\r
2518 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
2520 self.object = serializer.save(force_update=True)
\r
2521 self.post_save(self.object, created=False)
\r
2522 return Response(serializer.data, status=status.HTTP_200_OK)
2524 def destroy(self, request, *args, **kwargs):
2525 obj = self.get_object()
2526 if obj.can_update(request.user):
2527 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
2529 return Response(status=status.HTTP_400_BAD_REQUEST)
2532 # Based on core/views/*.py
2535 class FlavorList(generics.ListCreateAPIView):
2536 queryset = Flavor.objects.select_related().all()
2537 serializer_class = FlavorSerializer
2538 id_serializer_class = FlavorIdSerializer
2539 filter_backends = (filters.DjangoFilterBackend,)
2540 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
2542 def get_serializer_class(self):
2543 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2545 return self.id_serializer_class
2547 return self.serializer_class
2549 def get_queryset(self):
2550 return Flavor.select_by_user(self.request.user)
2552 def create(self, request, *args, **kwargs):
2553 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2554 if not (serializer.is_valid()):
2555 response = {"error": "validation",
2556 "specific_error": "not serializer.is_valid()",
\r
2557 "reasons": serializer.errors}
\r
2558 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2559 obj = serializer.object
2560 obj.caller = request.user
2561 if obj.can_update(request.user):
2562 return super(FlavorList, self).create(request, *args, **kwargs)
2564 raise Exception("failed obj.can_update")
2566 ret = super(FlavorList, self).create(request, *args, **kwargs)
2567 if (ret.status_code%100 != 200):
2568 raise Exception(ret.data)
2573 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2574 queryset = Flavor.objects.select_related().all()
2575 serializer_class = FlavorSerializer
2576 id_serializer_class = FlavorIdSerializer
2578 def get_serializer_class(self):
2579 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2581 return self.id_serializer_class
2583 return self.serializer_class
2585 def get_queryset(self):
2586 return Flavor.select_by_user(self.request.user)
2588 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2590 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2594 class ServiceAttributeList(generics.ListCreateAPIView):
2595 queryset = ServiceAttribute.objects.select_related().all()
2596 serializer_class = ServiceAttributeSerializer
2597 id_serializer_class = ServiceAttributeIdSerializer
2598 filter_backends = (filters.DjangoFilterBackend,)
2599 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
2601 def get_serializer_class(self):
2602 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2604 return self.id_serializer_class
2606 return self.serializer_class
2608 def get_queryset(self):
2609 return ServiceAttribute.select_by_user(self.request.user)
2611 def create(self, request, *args, **kwargs):
2612 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2613 if not (serializer.is_valid()):
2614 response = {"error": "validation",
2615 "specific_error": "not serializer.is_valid()",
\r
2616 "reasons": serializer.errors}
\r
2617 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2618 obj = serializer.object
2619 obj.caller = request.user
2620 if obj.can_update(request.user):
2621 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2623 raise Exception("failed obj.can_update")
2625 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2626 if (ret.status_code%100 != 200):
2627 raise Exception(ret.data)
2632 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2633 queryset = ServiceAttribute.objects.select_related().all()
2634 serializer_class = ServiceAttributeSerializer
2635 id_serializer_class = ServiceAttributeIdSerializer
2637 def get_serializer_class(self):
2638 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2640 return self.id_serializer_class
2642 return self.serializer_class
2644 def get_queryset(self):
2645 return ServiceAttribute.select_by_user(self.request.user)
2647 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2649 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2653 class ControllerImagesList(generics.ListCreateAPIView):
2654 queryset = ControllerImages.objects.select_related().all()
2655 serializer_class = ControllerImagesSerializer
2656 id_serializer_class = ControllerImagesIdSerializer
2657 filter_backends = (filters.DjangoFilterBackend,)
2658 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
2660 def get_serializer_class(self):
2661 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2663 return self.id_serializer_class
2665 return self.serializer_class
2667 def get_queryset(self):
2668 return ControllerImages.select_by_user(self.request.user)
2670 def create(self, request, *args, **kwargs):
2671 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2672 if not (serializer.is_valid()):
2673 response = {"error": "validation",
2674 "specific_error": "not serializer.is_valid()",
\r
2675 "reasons": serializer.errors}
\r
2676 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2677 obj = serializer.object
2678 obj.caller = request.user
2679 if obj.can_update(request.user):
2680 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2682 raise Exception("failed obj.can_update")
2684 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2685 if (ret.status_code%100 != 200):
2686 raise Exception(ret.data)
2691 class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2692 queryset = ControllerImages.objects.select_related().all()
2693 serializer_class = ControllerImagesSerializer
2694 id_serializer_class = ControllerImagesIdSerializer
2696 def get_serializer_class(self):
2697 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2699 return self.id_serializer_class
2701 return self.serializer_class
2703 def get_queryset(self):
2704 return ControllerImages.select_by_user(self.request.user)
2706 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2708 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2712 class ImageList(generics.ListCreateAPIView):
2713 queryset = Image.objects.select_related().all()
2714 serializer_class = ImageSerializer
2715 id_serializer_class = ImageIdSerializer
2716 filter_backends = (filters.DjangoFilterBackend,)
2717 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
2719 def get_serializer_class(self):
2720 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2722 return self.id_serializer_class
2724 return self.serializer_class
2726 def get_queryset(self):
2727 return Image.select_by_user(self.request.user)
2729 def create(self, request, *args, **kwargs):
2730 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2731 if not (serializer.is_valid()):
2732 response = {"error": "validation",
2733 "specific_error": "not serializer.is_valid()",
\r
2734 "reasons": serializer.errors}
\r
2735 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2736 obj = serializer.object
2737 obj.caller = request.user
2738 if obj.can_update(request.user):
2739 return super(ImageList, self).create(request, *args, **kwargs)
2741 raise Exception("failed obj.can_update")
2743 ret = super(ImageList, self).create(request, *args, **kwargs)
2744 if (ret.status_code%100 != 200):
2745 raise Exception(ret.data)
2750 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2751 queryset = Image.objects.select_related().all()
2752 serializer_class = ImageSerializer
2753 id_serializer_class = ImageIdSerializer
2755 def get_serializer_class(self):
2756 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2758 return self.id_serializer_class
2760 return self.serializer_class
2762 def get_queryset(self):
2763 return Image.select_by_user(self.request.user)
2765 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2767 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2771 class NetworkParameterList(generics.ListCreateAPIView):
2772 queryset = NetworkParameter.objects.select_related().all()
2773 serializer_class = NetworkParameterSerializer
2774 id_serializer_class = NetworkParameterIdSerializer
2775 filter_backends = (filters.DjangoFilterBackend,)
2776 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
2778 def get_serializer_class(self):
2779 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2781 return self.id_serializer_class
2783 return self.serializer_class
2785 def get_queryset(self):
2786 return NetworkParameter.select_by_user(self.request.user)
2788 def create(self, request, *args, **kwargs):
2789 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2790 if not (serializer.is_valid()):
2791 response = {"error": "validation",
2792 "specific_error": "not serializer.is_valid()",
\r
2793 "reasons": serializer.errors}
\r
2794 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2795 obj = serializer.object
2796 obj.caller = request.user
2797 if obj.can_update(request.user):
2798 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2800 raise Exception("failed obj.can_update")
2802 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2803 if (ret.status_code%100 != 200):
2804 raise Exception(ret.data)
2809 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2810 queryset = NetworkParameter.objects.select_related().all()
2811 serializer_class = NetworkParameterSerializer
2812 id_serializer_class = NetworkParameterIdSerializer
2814 def get_serializer_class(self):
2815 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2817 return self.id_serializer_class
2819 return self.serializer_class
2821 def get_queryset(self):
2822 return NetworkParameter.select_by_user(self.request.user)
2824 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2826 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2830 class SiteList(generics.ListCreateAPIView):
2831 queryset = Site.objects.select_related().all()
2832 serializer_class = SiteSerializer
2833 id_serializer_class = SiteIdSerializer
2834 filter_backends = (filters.DjangoFilterBackend,)
2835 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
2837 def get_serializer_class(self):
2838 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2840 return self.id_serializer_class
2842 return self.serializer_class
2844 def get_queryset(self):
2845 return Site.select_by_user(self.request.user)
2847 def create(self, request, *args, **kwargs):
2848 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2849 if not (serializer.is_valid()):
2850 response = {"error": "validation",
2851 "specific_error": "not serializer.is_valid()",
\r
2852 "reasons": serializer.errors}
\r
2853 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2854 obj = serializer.object
2855 obj.caller = request.user
2856 if obj.can_update(request.user):
2857 return super(SiteList, self).create(request, *args, **kwargs)
2859 raise Exception("failed obj.can_update")
2861 ret = super(SiteList, self).create(request, *args, **kwargs)
2862 if (ret.status_code%100 != 200):
2863 raise Exception(ret.data)
2868 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2869 queryset = Site.objects.select_related().all()
2870 serializer_class = SiteSerializer
2871 id_serializer_class = SiteIdSerializer
2873 def get_serializer_class(self):
2874 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2876 return self.id_serializer_class
2878 return self.serializer_class
2880 def get_queryset(self):
2881 return Site.select_by_user(self.request.user)
2883 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2885 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2889 class SliceRoleList(generics.ListCreateAPIView):
2890 queryset = SliceRole.objects.select_related().all()
2891 serializer_class = SliceRoleSerializer
2892 id_serializer_class = SliceRoleIdSerializer
2893 filter_backends = (filters.DjangoFilterBackend,)
2894 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2896 def get_serializer_class(self):
2897 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2899 return self.id_serializer_class
2901 return self.serializer_class
2903 def get_queryset(self):
2904 return SliceRole.select_by_user(self.request.user)
2906 def create(self, request, *args, **kwargs):
2907 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2908 if not (serializer.is_valid()):
2909 response = {"error": "validation",
2910 "specific_error": "not serializer.is_valid()",
\r
2911 "reasons": serializer.errors}
\r
2912 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2913 obj = serializer.object
2914 obj.caller = request.user
2915 if obj.can_update(request.user):
2916 return super(SliceRoleList, self).create(request, *args, **kwargs)
2918 raise Exception("failed obj.can_update")
2920 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
2921 if (ret.status_code%100 != 200):
2922 raise Exception(ret.data)
2927 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2928 queryset = SliceRole.objects.select_related().all()
2929 serializer_class = SliceRoleSerializer
2930 id_serializer_class = SliceRoleIdSerializer
2932 def get_serializer_class(self):
2933 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2935 return self.id_serializer_class
2937 return self.serializer_class
2939 def get_queryset(self):
2940 return SliceRole.select_by_user(self.request.user)
2942 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2944 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2948 class TagList(generics.ListCreateAPIView):
2949 queryset = Tag.objects.select_related().all()
2950 serializer_class = TagSerializer
2951 id_serializer_class = TagIdSerializer
2952 filter_backends = (filters.DjangoFilterBackend,)
2953 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
2955 def get_serializer_class(self):
2956 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2958 return self.id_serializer_class
2960 return self.serializer_class
2962 def get_queryset(self):
2963 return Tag.select_by_user(self.request.user)
2965 def create(self, request, *args, **kwargs):
2966 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2967 if not (serializer.is_valid()):
2968 response = {"error": "validation",
2969 "specific_error": "not serializer.is_valid()",
\r
2970 "reasons": serializer.errors}
\r
2971 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2972 obj = serializer.object
2973 obj.caller = request.user
2974 if obj.can_update(request.user):
2975 return super(TagList, self).create(request, *args, **kwargs)
2977 raise Exception("failed obj.can_update")
2979 ret = super(TagList, self).create(request, *args, **kwargs)
2980 if (ret.status_code%100 != 200):
2981 raise Exception(ret.data)
2986 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2987 queryset = Tag.objects.select_related().all()
2988 serializer_class = TagSerializer
2989 id_serializer_class = TagIdSerializer
2991 def get_serializer_class(self):
2992 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2994 return self.id_serializer_class
2996 return self.serializer_class
2998 def get_queryset(self):
2999 return Tag.select_by_user(self.request.user)
3001 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3003 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3007 class InvoiceList(generics.ListCreateAPIView):
3008 queryset = Invoice.objects.select_related().all()
3009 serializer_class = InvoiceSerializer
3010 id_serializer_class = InvoiceIdSerializer
3011 filter_backends = (filters.DjangoFilterBackend,)
3012 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
3014 def get_serializer_class(self):
3015 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3017 return self.id_serializer_class
3019 return self.serializer_class
3021 def get_queryset(self):
3022 return Invoice.select_by_user(self.request.user)
3024 def create(self, request, *args, **kwargs):
3025 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3026 if not (serializer.is_valid()):
3027 response = {"error": "validation",
3028 "specific_error": "not serializer.is_valid()",
\r
3029 "reasons": serializer.errors}
\r
3030 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3031 obj = serializer.object
3032 obj.caller = request.user
3033 if obj.can_update(request.user):
3034 return super(InvoiceList, self).create(request, *args, **kwargs)
3036 raise Exception("failed obj.can_update")
3038 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3039 if (ret.status_code%100 != 200):
3040 raise Exception(ret.data)
3045 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3046 queryset = Invoice.objects.select_related().all()
3047 serializer_class = InvoiceSerializer
3048 id_serializer_class = InvoiceIdSerializer
3050 def get_serializer_class(self):
3051 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3053 return self.id_serializer_class
3055 return self.serializer_class
3057 def get_queryset(self):
3058 return Invoice.select_by_user(self.request.user)
3060 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3062 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3066 class SlicePrivilegeList(generics.ListCreateAPIView):
3067 queryset = SlicePrivilege.objects.select_related().all()
3068 serializer_class = SlicePrivilegeSerializer
3069 id_serializer_class = SlicePrivilegeIdSerializer
3070 filter_backends = (filters.DjangoFilterBackend,)
3071 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
3073 def get_serializer_class(self):
3074 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3076 return self.id_serializer_class
3078 return self.serializer_class
3080 def get_queryset(self):
3081 return SlicePrivilege.select_by_user(self.request.user)
3083 def create(self, request, *args, **kwargs):
3084 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3085 if not (serializer.is_valid()):
3086 response = {"error": "validation",
3087 "specific_error": "not serializer.is_valid()",
\r
3088 "reasons": serializer.errors}
\r
3089 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3090 obj = serializer.object
3091 obj.caller = request.user
3092 if obj.can_update(request.user):
3093 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3095 raise Exception("failed obj.can_update")
3097 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3098 if (ret.status_code%100 != 200):
3099 raise Exception(ret.data)
3104 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3105 queryset = SlicePrivilege.objects.select_related().all()
3106 serializer_class = SlicePrivilegeSerializer
3107 id_serializer_class = SlicePrivilegeIdSerializer
3109 def get_serializer_class(self):
3110 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3112 return self.id_serializer_class
3114 return self.serializer_class
3116 def get_queryset(self):
3117 return SlicePrivilege.select_by_user(self.request.user)
3119 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3121 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3125 class PlanetStackRoleList(generics.ListCreateAPIView):
3126 queryset = PlanetStackRole.objects.select_related().all()
3127 serializer_class = PlanetStackRoleSerializer
3128 id_serializer_class = PlanetStackRoleIdSerializer
3129 filter_backends = (filters.DjangoFilterBackend,)
3130 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3132 def get_serializer_class(self):
3133 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3135 return self.id_serializer_class
3137 return self.serializer_class
3139 def get_queryset(self):
3140 return PlanetStackRole.select_by_user(self.request.user)
3142 def create(self, request, *args, **kwargs):
3143 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3144 if not (serializer.is_valid()):
3145 response = {"error": "validation",
3146 "specific_error": "not serializer.is_valid()",
\r
3147 "reasons": serializer.errors}
\r
3148 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3149 obj = serializer.object
3150 obj.caller = request.user
3151 if obj.can_update(request.user):
3152 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3154 raise Exception("failed obj.can_update")
3156 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3157 if (ret.status_code%100 != 200):
3158 raise Exception(ret.data)
3163 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3164 queryset = PlanetStackRole.objects.select_related().all()
3165 serializer_class = PlanetStackRoleSerializer
3166 id_serializer_class = PlanetStackRoleIdSerializer
3168 def get_serializer_class(self):
3169 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3171 return self.id_serializer_class
3173 return self.serializer_class
3175 def get_queryset(self):
3176 return PlanetStackRole.select_by_user(self.request.user)
3178 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3180 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3184 class ControllerPrivilegeList(generics.ListCreateAPIView):
3185 queryset = ControllerPrivilege.objects.select_related().all()
3186 serializer_class = ControllerPrivilegeSerializer
3187 id_serializer_class = ControllerPrivilegeIdSerializer
3188 filter_backends = (filters.DjangoFilterBackend,)
3189 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','role',)
3191 def get_serializer_class(self):
3192 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3194 return self.id_serializer_class
3196 return self.serializer_class
3198 def get_queryset(self):
3199 return ControllerPrivilege.select_by_user(self.request.user)
3201 def create(self, request, *args, **kwargs):
3202 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3203 if not (serializer.is_valid()):
3204 response = {"error": "validation",
3205 "specific_error": "not serializer.is_valid()",
\r
3206 "reasons": serializer.errors}
\r
3207 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3208 obj = serializer.object
3209 obj.caller = request.user
3210 if obj.can_update(request.user):
3211 return super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3213 raise Exception("failed obj.can_update")
3215 ret = super(ControllerPrivilegeList, self).create(request, *args, **kwargs)
3216 if (ret.status_code%100 != 200):
3217 raise Exception(ret.data)
3222 class ControllerPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3223 queryset = ControllerPrivilege.objects.select_related().all()
3224 serializer_class = ControllerPrivilegeSerializer
3225 id_serializer_class = ControllerPrivilegeIdSerializer
3227 def get_serializer_class(self):
3228 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3230 return self.id_serializer_class
3232 return self.serializer_class
3234 def get_queryset(self):
3235 return ControllerPrivilege.select_by_user(self.request.user)
3237 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3239 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3243 class NetworkSliverList(generics.ListCreateAPIView):
3244 queryset = NetworkSliver.objects.select_related().all()
3245 serializer_class = NetworkSliverSerializer
3246 id_serializer_class = NetworkSliverIdSerializer
3247 filter_backends = (filters.DjangoFilterBackend,)
3248 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
3250 def get_serializer_class(self):
3251 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3253 return self.id_serializer_class
3255 return self.serializer_class
3257 def get_queryset(self):
3258 return NetworkSliver.select_by_user(self.request.user)
3260 def create(self, request, *args, **kwargs):
3261 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3262 if not (serializer.is_valid()):
3263 response = {"error": "validation",
3264 "specific_error": "not serializer.is_valid()",
\r
3265 "reasons": serializer.errors}
\r
3266 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3267 obj = serializer.object
3268 obj.caller = request.user
3269 if obj.can_update(request.user):
3270 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3272 raise Exception("failed obj.can_update")
3274 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3275 if (ret.status_code%100 != 200):
3276 raise Exception(ret.data)
3281 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3282 queryset = NetworkSliver.objects.select_related().all()
3283 serializer_class = NetworkSliverSerializer
3284 id_serializer_class = NetworkSliverIdSerializer
3286 def get_serializer_class(self):
3287 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3289 return self.id_serializer_class
3291 return self.serializer_class
3293 def get_queryset(self):
3294 return NetworkSliver.select_by_user(self.request.user)
3296 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3298 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3302 class ProjectList(generics.ListCreateAPIView):
3303 queryset = Project.objects.select_related().all()
3304 serializer_class = ProjectSerializer
3305 id_serializer_class = ProjectIdSerializer
3306 filter_backends = (filters.DjangoFilterBackend,)
3307 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3309 def get_serializer_class(self):
3310 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3312 return self.id_serializer_class
3314 return self.serializer_class
3316 def get_queryset(self):
3317 return Project.select_by_user(self.request.user)
3319 def create(self, request, *args, **kwargs):
3320 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3321 if not (serializer.is_valid()):
3322 response = {"error": "validation",
3323 "specific_error": "not serializer.is_valid()",
\r
3324 "reasons": serializer.errors}
\r
3325 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3326 obj = serializer.object
3327 obj.caller = request.user
3328 if obj.can_update(request.user):
3329 return super(ProjectList, self).create(request, *args, **kwargs)
3331 raise Exception("failed obj.can_update")
3333 ret = super(ProjectList, self).create(request, *args, **kwargs)
3334 if (ret.status_code%100 != 200):
3335 raise Exception(ret.data)
3340 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3341 queryset = Project.objects.select_related().all()
3342 serializer_class = ProjectSerializer
3343 id_serializer_class = ProjectIdSerializer
3345 def get_serializer_class(self):
3346 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3348 return self.id_serializer_class
3350 return self.serializer_class
3352 def get_queryset(self):
3353 return Project.select_by_user(self.request.user)
3355 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3357 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3361 class SliceList(generics.ListCreateAPIView):
3362 queryset = Slice.objects.select_related().all()
3363 serializer_class = SliceSerializer
3364 id_serializer_class = SliceIdSerializer
3365 filter_backends = (filters.DjangoFilterBackend,)
3366 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',)
3368 def get_serializer_class(self):
3369 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3371 return self.id_serializer_class
3373 return self.serializer_class
3375 def get_queryset(self):
3376 return Slice.select_by_user(self.request.user)
3378 def create(self, request, *args, **kwargs):
3379 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3380 if not (serializer.is_valid()):
3381 response = {"error": "validation",
3382 "specific_error": "not serializer.is_valid()",
\r
3383 "reasons": serializer.errors}
\r
3384 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3385 obj = serializer.object
3386 obj.caller = request.user
3387 if obj.can_update(request.user):
3388 return super(SliceList, self).create(request, *args, **kwargs)
3390 raise Exception("failed obj.can_update")
3392 ret = super(SliceList, self).create(request, *args, **kwargs)
3393 if (ret.status_code%100 != 200):
3394 raise Exception(ret.data)
3399 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3400 queryset = Slice.objects.select_related().all()
3401 serializer_class = SliceSerializer
3402 id_serializer_class = SliceIdSerializer
3404 def get_serializer_class(self):
3405 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3407 return self.id_serializer_class
3409 return self.serializer_class
3411 def get_queryset(self):
3412 return Slice.select_by_user(self.request.user)
3414 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3416 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3420 class NetworkList(generics.ListCreateAPIView):
3421 queryset = Network.objects.select_related().all()
3422 serializer_class = NetworkSerializer
3423 id_serializer_class = NetworkIdSerializer
3424 filter_backends = (filters.DjangoFilterBackend,)
3425 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',)
3427 def get_serializer_class(self):
3428 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3430 return self.id_serializer_class
3432 return self.serializer_class
3434 def get_queryset(self):
3435 return Network.select_by_user(self.request.user)
3437 def create(self, request, *args, **kwargs):
3438 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3439 if not (serializer.is_valid()):
3440 response = {"error": "validation",
3441 "specific_error": "not serializer.is_valid()",
\r
3442 "reasons": serializer.errors}
\r
3443 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3444 obj = serializer.object
3445 obj.caller = request.user
3446 if obj.can_update(request.user):
3447 return super(NetworkList, self).create(request, *args, **kwargs)
3449 raise Exception("failed obj.can_update")
3451 ret = super(NetworkList, self).create(request, *args, **kwargs)
3452 if (ret.status_code%100 != 200):
3453 raise Exception(ret.data)
3458 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3459 queryset = Network.objects.select_related().all()
3460 serializer_class = NetworkSerializer
3461 id_serializer_class = NetworkIdSerializer
3463 def get_serializer_class(self):
3464 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3466 return self.id_serializer_class
3468 return self.serializer_class
3470 def get_queryset(self):
3471 return Network.select_by_user(self.request.user)
3473 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3475 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3479 class ServiceList(generics.ListCreateAPIView):
3480 queryset = Service.objects.select_related().all()
3481 serializer_class = ServiceSerializer
3482 id_serializer_class = ServiceIdSerializer
3483 filter_backends = (filters.DjangoFilterBackend,)
3484 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
3486 def get_serializer_class(self):
3487 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3489 return self.id_serializer_class
3491 return self.serializer_class
3493 def get_queryset(self):
3494 return Service.select_by_user(self.request.user)
3496 def create(self, request, *args, **kwargs):
3497 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3498 if not (serializer.is_valid()):
3499 response = {"error": "validation",
3500 "specific_error": "not serializer.is_valid()",
\r
3501 "reasons": serializer.errors}
\r
3502 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3503 obj = serializer.object
3504 obj.caller = request.user
3505 if obj.can_update(request.user):
3506 return super(ServiceList, self).create(request, *args, **kwargs)
3508 raise Exception("failed obj.can_update")
3510 ret = super(ServiceList, self).create(request, *args, **kwargs)
3511 if (ret.status_code%100 != 200):
3512 raise Exception(ret.data)
3517 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3518 queryset = Service.objects.select_related().all()
3519 serializer_class = ServiceSerializer
3520 id_serializer_class = ServiceIdSerializer
3522 def get_serializer_class(self):
3523 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3525 return self.id_serializer_class
3527 return self.serializer_class
3529 def get_queryset(self):
3530 return Service.select_by_user(self.request.user)
3532 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3534 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3538 class ServiceClassList(generics.ListCreateAPIView):
3539 queryset = ServiceClass.objects.select_related().all()
3540 serializer_class = ServiceClassSerializer
3541 id_serializer_class = ServiceClassIdSerializer
3542 filter_backends = (filters.DjangoFilterBackend,)
3543 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
3545 def get_serializer_class(self):
3546 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3548 return self.id_serializer_class
3550 return self.serializer_class
3552 def get_queryset(self):
3553 return ServiceClass.select_by_user(self.request.user)
3555 def create(self, request, *args, **kwargs):
3556 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3557 if not (serializer.is_valid()):
3558 response = {"error": "validation",
3559 "specific_error": "not serializer.is_valid()",
\r
3560 "reasons": serializer.errors}
\r
3561 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3562 obj = serializer.object
3563 obj.caller = request.user
3564 if obj.can_update(request.user):
3565 return super(ServiceClassList, self).create(request, *args, **kwargs)
3567 raise Exception("failed obj.can_update")
3569 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3570 if (ret.status_code%100 != 200):
3571 raise Exception(ret.data)
3576 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3577 queryset = ServiceClass.objects.select_related().all()
3578 serializer_class = ServiceClassSerializer
3579 id_serializer_class = ServiceClassIdSerializer
3581 def get_serializer_class(self):
3582 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3584 return self.id_serializer_class
3586 return self.serializer_class
3588 def get_queryset(self):
3589 return ServiceClass.select_by_user(self.request.user)
3591 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3593 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3597 class ControllerNetworksList(generics.ListCreateAPIView):
3598 queryset = ControllerNetworks.objects.select_related().all()
3599 serializer_class = ControllerNetworksSerializer
3600 id_serializer_class = ControllerNetworksIdSerializer
3601 filter_backends = (filters.DjangoFilterBackend,)
3602 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
3604 def get_serializer_class(self):
3605 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3607 return self.id_serializer_class
3609 return self.serializer_class
3611 def get_queryset(self):
3612 return ControllerNetworks.select_by_user(self.request.user)
3614 def create(self, request, *args, **kwargs):
3615 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3616 if not (serializer.is_valid()):
3617 response = {"error": "validation",
3618 "specific_error": "not serializer.is_valid()",
\r
3619 "reasons": serializer.errors}
\r
3620 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3621 obj = serializer.object
3622 obj.caller = request.user
3623 if obj.can_update(request.user):
3624 return super(ControllerNetworksList, self).create(request, *args, **kwargs)
3626 raise Exception("failed obj.can_update")
3628 ret = super(ControllerNetworksList, self).create(request, *args, **kwargs)
3629 if (ret.status_code%100 != 200):
3630 raise Exception(ret.data)
3635 class ControllerNetworksDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3636 queryset = ControllerNetworks.objects.select_related().all()
3637 serializer_class = ControllerNetworksSerializer
3638 id_serializer_class = ControllerNetworksIdSerializer
3640 def get_serializer_class(self):
3641 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3643 return self.id_serializer_class
3645 return self.serializer_class
3647 def get_queryset(self):
3648 return ControllerNetworks.select_by_user(self.request.user)
3650 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3652 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3656 class ChargeList(generics.ListCreateAPIView):
3657 queryset = Charge.objects.select_related().all()
3658 serializer_class = ChargeSerializer
3659 id_serializer_class = ChargeIdSerializer
3660 filter_backends = (filters.DjangoFilterBackend,)
3661 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
3663 def get_serializer_class(self):
3664 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3666 return self.id_serializer_class
3668 return self.serializer_class
3670 def get_queryset(self):
3671 return Charge.select_by_user(self.request.user)
3673 def create(self, request, *args, **kwargs):
3674 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3675 if not (serializer.is_valid()):
3676 response = {"error": "validation",
3677 "specific_error": "not serializer.is_valid()",
\r
3678 "reasons": serializer.errors}
\r
3679 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3680 obj = serializer.object
3681 obj.caller = request.user
3682 if obj.can_update(request.user):
3683 return super(ChargeList, self).create(request, *args, **kwargs)
3685 raise Exception("failed obj.can_update")
3687 ret = super(ChargeList, self).create(request, *args, **kwargs)
3688 if (ret.status_code%100 != 200):
3689 raise Exception(ret.data)
3694 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3695 queryset = Charge.objects.select_related().all()
3696 serializer_class = ChargeSerializer
3697 id_serializer_class = ChargeIdSerializer
3699 def get_serializer_class(self):
3700 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3702 return self.id_serializer_class
3704 return self.serializer_class
3706 def get_queryset(self):
3707 return Charge.select_by_user(self.request.user)
3709 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3711 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3715 class RoleList(generics.ListCreateAPIView):
3716 queryset = Role.objects.select_related().all()
3717 serializer_class = RoleSerializer
3718 id_serializer_class = RoleIdSerializer
3719 filter_backends = (filters.DjangoFilterBackend,)
3720 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
3722 def get_serializer_class(self):
3723 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3725 return self.id_serializer_class
3727 return self.serializer_class
3729 def get_queryset(self):
3730 return Role.select_by_user(self.request.user)
3732 def create(self, request, *args, **kwargs):
3733 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3734 if not (serializer.is_valid()):
3735 response = {"error": "validation",
3736 "specific_error": "not serializer.is_valid()",
\r
3737 "reasons": serializer.errors}
\r
3738 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3739 obj = serializer.object
3740 obj.caller = request.user
3741 if obj.can_update(request.user):
3742 return super(RoleList, self).create(request, *args, **kwargs)
3744 raise Exception("failed obj.can_update")
3746 ret = super(RoleList, self).create(request, *args, **kwargs)
3747 if (ret.status_code%100 != 200):
3748 raise Exception(ret.data)
3753 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3754 queryset = Role.objects.select_related().all()
3755 serializer_class = RoleSerializer
3756 id_serializer_class = RoleIdSerializer
3758 def get_serializer_class(self):
3759 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3761 return self.id_serializer_class
3763 return self.serializer_class
3765 def get_queryset(self):
3766 return Role.select_by_user(self.request.user)
3768 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3770 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3774 class UsableObjectList(generics.ListCreateAPIView):
3775 queryset = UsableObject.objects.select_related().all()
3776 serializer_class = UsableObjectSerializer
3777 id_serializer_class = UsableObjectIdSerializer
3778 filter_backends = (filters.DjangoFilterBackend,)
3779 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3781 def get_serializer_class(self):
3782 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3784 return self.id_serializer_class
3786 return self.serializer_class
3788 def get_queryset(self):
3789 return UsableObject.select_by_user(self.request.user)
3791 def create(self, request, *args, **kwargs):
3792 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3793 if not (serializer.is_valid()):
3794 response = {"error": "validation",
3795 "specific_error": "not serializer.is_valid()",
\r
3796 "reasons": serializer.errors}
\r
3797 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3798 obj = serializer.object
3799 obj.caller = request.user
3800 if obj.can_update(request.user):
3801 return super(UsableObjectList, self).create(request, *args, **kwargs)
3803 raise Exception("failed obj.can_update")
3805 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
3806 if (ret.status_code%100 != 200):
3807 raise Exception(ret.data)
3812 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3813 queryset = UsableObject.objects.select_related().all()
3814 serializer_class = UsableObjectSerializer
3815 id_serializer_class = UsableObjectIdSerializer
3817 def get_serializer_class(self):
3818 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3820 return self.id_serializer_class
3822 return self.serializer_class
3824 def get_queryset(self):
3825 return UsableObject.select_by_user(self.request.user)
3827 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3829 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3833 class ControllerSiteDeploymentsList(generics.ListCreateAPIView):
3834 queryset = ControllerSiteDeployments.objects.select_related().all()
3835 serializer_class = ControllerSiteDeploymentsSerializer
3836 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3837 filter_backends = (filters.DjangoFilterBackend,)
3838 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
3840 def get_serializer_class(self):
3841 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3843 return self.id_serializer_class
3845 return self.serializer_class
3847 def get_queryset(self):
3848 return ControllerSiteDeployments.select_by_user(self.request.user)
3850 def create(self, request, *args, **kwargs):
3851 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3852 if not (serializer.is_valid()):
3853 response = {"error": "validation",
3854 "specific_error": "not serializer.is_valid()",
\r
3855 "reasons": serializer.errors}
\r
3856 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3857 obj = serializer.object
3858 obj.caller = request.user
3859 if obj.can_update(request.user):
3860 return super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3862 raise Exception("failed obj.can_update")
3864 ret = super(ControllerSiteDeploymentsList, self).create(request, *args, **kwargs)
3865 if (ret.status_code%100 != 200):
3866 raise Exception(ret.data)
3871 class ControllerSiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3872 queryset = ControllerSiteDeployments.objects.select_related().all()
3873 serializer_class = ControllerSiteDeploymentsSerializer
3874 id_serializer_class = ControllerSiteDeploymentsIdSerializer
3876 def get_serializer_class(self):
3877 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3879 return self.id_serializer_class
3881 return self.serializer_class
3883 def get_queryset(self):
3884 return ControllerSiteDeployments.select_by_user(self.request.user)
3886 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3888 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3892 class SiteRoleList(generics.ListCreateAPIView):
3893 queryset = SiteRole.objects.select_related().all()
3894 serializer_class = SiteRoleSerializer
3895 id_serializer_class = SiteRoleIdSerializer
3896 filter_backends = (filters.DjangoFilterBackend,)
3897 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3899 def get_serializer_class(self):
3900 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3902 return self.id_serializer_class
3904 return self.serializer_class
3906 def get_queryset(self):
3907 return SiteRole.select_by_user(self.request.user)
3909 def create(self, request, *args, **kwargs):
3910 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3911 if not (serializer.is_valid()):
3912 response = {"error": "validation",
3913 "specific_error": "not serializer.is_valid()",
\r
3914 "reasons": serializer.errors}
\r
3915 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3916 obj = serializer.object
3917 obj.caller = request.user
3918 if obj.can_update(request.user):
3919 return super(SiteRoleList, self).create(request, *args, **kwargs)
3921 raise Exception("failed obj.can_update")
3923 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
3924 if (ret.status_code%100 != 200):
3925 raise Exception(ret.data)
3930 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3931 queryset = SiteRole.objects.select_related().all()
3932 serializer_class = SiteRoleSerializer
3933 id_serializer_class = SiteRoleIdSerializer
3935 def get_serializer_class(self):
3936 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3938 return self.id_serializer_class
3940 return self.serializer_class
3942 def get_queryset(self):
3943 return SiteRole.select_by_user(self.request.user)
3945 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3947 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3951 class SliceCredentialList(generics.ListCreateAPIView):
3952 queryset = SliceCredential.objects.select_related().all()
3953 serializer_class = SliceCredentialSerializer
3954 id_serializer_class = SliceCredentialIdSerializer
3955 filter_backends = (filters.DjangoFilterBackend,)
3956 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
3958 def get_serializer_class(self):
3959 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3961 return self.id_serializer_class
3963 return self.serializer_class
3965 def get_queryset(self):
3966 return SliceCredential.select_by_user(self.request.user)
3968 def create(self, request, *args, **kwargs):
3969 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3970 if not (serializer.is_valid()):
3971 response = {"error": "validation",
3972 "specific_error": "not serializer.is_valid()",
\r
3973 "reasons": serializer.errors}
\r
3974 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3975 obj = serializer.object
3976 obj.caller = request.user
3977 if obj.can_update(request.user):
3978 return super(SliceCredentialList, self).create(request, *args, **kwargs)
3980 raise Exception("failed obj.can_update")
3982 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
3983 if (ret.status_code%100 != 200):
3984 raise Exception(ret.data)
3989 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3990 queryset = SliceCredential.objects.select_related().all()
3991 serializer_class = SliceCredentialSerializer
3992 id_serializer_class = SliceCredentialIdSerializer
3994 def get_serializer_class(self):
3995 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3997 return self.id_serializer_class
3999 return self.serializer_class
4001 def get_queryset(self):
4002 return SliceCredential.select_by_user(self.request.user)
4004 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4006 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4010 class SliverList(generics.ListCreateAPIView):
4011 queryset = Sliver.objects.select_related().all()
4012 serializer_class = SliverSerializer
4013 id_serializer_class = SliverIdSerializer
4014 filter_backends = (filters.DjangoFilterBackend,)
4015 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
4017 def get_serializer_class(self):
4018 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4020 return self.id_serializer_class
4022 return self.serializer_class
4024 def get_queryset(self):
4025 return Sliver.select_by_user(self.request.user)
4027 def create(self, request, *args, **kwargs):
4028 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4029 if not (serializer.is_valid()):
4030 response = {"error": "validation",
4031 "specific_error": "not serializer.is_valid()",
\r
4032 "reasons": serializer.errors}
\r
4033 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4034 obj = serializer.object
4035 obj.caller = request.user
4036 if obj.can_update(request.user):
4037 return super(SliverList, self).create(request, *args, **kwargs)
4039 raise Exception("failed obj.can_update")
4041 ret = super(SliverList, self).create(request, *args, **kwargs)
4042 if (ret.status_code%100 != 200):
4043 raise Exception(ret.data)
4048 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4049 queryset = Sliver.objects.select_related().all()
4050 serializer_class = SliverSerializer
4051 id_serializer_class = SliverIdSerializer
4053 def get_serializer_class(self):
4054 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4056 return self.id_serializer_class
4058 return self.serializer_class
4060 def get_queryset(self):
4061 return Sliver.select_by_user(self.request.user)
4063 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4065 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4069 class NodeList(generics.ListCreateAPIView):
4070 queryset = Node.objects.select_related().all()
4071 serializer_class = NodeSerializer
4072 id_serializer_class = NodeIdSerializer
4073 filter_backends = (filters.DjangoFilterBackend,)
4074 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
4076 def get_serializer_class(self):
4077 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4079 return self.id_serializer_class
4081 return self.serializer_class
4083 def get_queryset(self):
4084 return Node.select_by_user(self.request.user)
4086 def create(self, request, *args, **kwargs):
4087 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4088 if not (serializer.is_valid()):
4089 response = {"error": "validation",
4090 "specific_error": "not serializer.is_valid()",
\r
4091 "reasons": serializer.errors}
\r
4092 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4093 obj = serializer.object
4094 obj.caller = request.user
4095 if obj.can_update(request.user):
4096 return super(NodeList, self).create(request, *args, **kwargs)
4098 raise Exception("failed obj.can_update")
4100 ret = super(NodeList, self).create(request, *args, **kwargs)
4101 if (ret.status_code%100 != 200):
4102 raise Exception(ret.data)
4107 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4108 queryset = Node.objects.select_related().all()
4109 serializer_class = NodeSerializer
4110 id_serializer_class = NodeIdSerializer
4112 def get_serializer_class(self):
4113 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4115 return self.id_serializer_class
4117 return self.serializer_class
4119 def get_queryset(self):
4120 return Node.select_by_user(self.request.user)
4122 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4124 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4128 class DashboardViewList(generics.ListCreateAPIView):
4129 queryset = DashboardView.objects.select_related().all()
4130 serializer_class = DashboardViewSerializer
4131 id_serializer_class = DashboardViewIdSerializer
4132 filter_backends = (filters.DjangoFilterBackend,)
4133 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
4135 def get_serializer_class(self):
4136 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4138 return self.id_serializer_class
4140 return self.serializer_class
4142 def get_queryset(self):
4143 return DashboardView.select_by_user(self.request.user)
4145 def create(self, request, *args, **kwargs):
4146 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4147 if not (serializer.is_valid()):
4148 response = {"error": "validation",
4149 "specific_error": "not serializer.is_valid()",
\r
4150 "reasons": serializer.errors}
\r
4151 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4152 obj = serializer.object
4153 obj.caller = request.user
4154 if obj.can_update(request.user):
4155 return super(DashboardViewList, self).create(request, *args, **kwargs)
4157 raise Exception("failed obj.can_update")
4159 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4160 if (ret.status_code%100 != 200):
4161 raise Exception(ret.data)
4166 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4167 queryset = DashboardView.objects.select_related().all()
4168 serializer_class = DashboardViewSerializer
4169 id_serializer_class = DashboardViewIdSerializer
4171 def get_serializer_class(self):
4172 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4174 return self.id_serializer_class
4176 return self.serializer_class
4178 def get_queryset(self):
4179 return DashboardView.select_by_user(self.request.user)
4181 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4183 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4187 class ImageDeploymentsList(generics.ListCreateAPIView):
4188 queryset = ImageDeployments.objects.select_related().all()
4189 serializer_class = ImageDeploymentsSerializer
4190 id_serializer_class = ImageDeploymentsIdSerializer
4191 filter_backends = (filters.DjangoFilterBackend,)
4192 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment',)
4194 def get_serializer_class(self):
4195 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4197 return self.id_serializer_class
4199 return self.serializer_class
4201 def get_queryset(self):
4202 return ImageDeployments.select_by_user(self.request.user)
4204 def create(self, request, *args, **kwargs):
4205 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4206 if not (serializer.is_valid()):
4207 response = {"error": "validation",
4208 "specific_error": "not serializer.is_valid()",
\r
4209 "reasons": serializer.errors}
\r
4210 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4211 obj = serializer.object
4212 obj.caller = request.user
4213 if obj.can_update(request.user):
4214 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4216 raise Exception("failed obj.can_update")
4218 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
4219 if (ret.status_code%100 != 200):
4220 raise Exception(ret.data)
4225 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4226 queryset = ImageDeployments.objects.select_related().all()
4227 serializer_class = ImageDeploymentsSerializer
4228 id_serializer_class = ImageDeploymentsIdSerializer
4230 def get_serializer_class(self):
4231 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4233 return self.id_serializer_class
4235 return self.serializer_class
4237 def get_queryset(self):
4238 return ImageDeployments.select_by_user(self.request.user)
4240 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4242 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4246 class ReservedResourceList(generics.ListCreateAPIView):
4247 queryset = ReservedResource.objects.select_related().all()
4248 serializer_class = ReservedResourceSerializer
4249 id_serializer_class = ReservedResourceIdSerializer
4250 filter_backends = (filters.DjangoFilterBackend,)
4251 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
4253 def get_serializer_class(self):
4254 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4256 return self.id_serializer_class
4258 return self.serializer_class
4260 def get_queryset(self):
4261 return ReservedResource.select_by_user(self.request.user)
4263 def create(self, request, *args, **kwargs):
4264 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4265 if not (serializer.is_valid()):
4266 response = {"error": "validation",
4267 "specific_error": "not serializer.is_valid()",
\r
4268 "reasons": serializer.errors}
\r
4269 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4270 obj = serializer.object
4271 obj.caller = request.user
4272 if obj.can_update(request.user):
4273 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4275 raise Exception("failed obj.can_update")
4277 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4278 if (ret.status_code%100 != 200):
4279 raise Exception(ret.data)
4284 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4285 queryset = ReservedResource.objects.select_related().all()
4286 serializer_class = ReservedResourceSerializer
4287 id_serializer_class = ReservedResourceIdSerializer
4289 def get_serializer_class(self):
4290 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4292 return self.id_serializer_class
4294 return self.serializer_class
4296 def get_queryset(self):
4297 return ReservedResource.select_by_user(self.request.user)
4299 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4301 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4305 class PaymentList(generics.ListCreateAPIView):
4306 queryset = Payment.objects.select_related().all()
4307 serializer_class = PaymentSerializer
4308 id_serializer_class = PaymentIdSerializer
4309 filter_backends = (filters.DjangoFilterBackend,)
4310 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
4312 def get_serializer_class(self):
4313 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4315 return self.id_serializer_class
4317 return self.serializer_class
4319 def get_queryset(self):
4320 return Payment.select_by_user(self.request.user)
4322 def create(self, request, *args, **kwargs):
4323 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4324 if not (serializer.is_valid()):
4325 response = {"error": "validation",
4326 "specific_error": "not serializer.is_valid()",
\r
4327 "reasons": serializer.errors}
\r
4328 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4329 obj = serializer.object
4330 obj.caller = request.user
4331 if obj.can_update(request.user):
4332 return super(PaymentList, self).create(request, *args, **kwargs)
4334 raise Exception("failed obj.can_update")
4336 ret = super(PaymentList, self).create(request, *args, **kwargs)
4337 if (ret.status_code%100 != 200):
4338 raise Exception(ret.data)
4343 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4344 queryset = Payment.objects.select_related().all()
4345 serializer_class = PaymentSerializer
4346 id_serializer_class = PaymentIdSerializer
4348 def get_serializer_class(self):
4349 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4351 return self.id_serializer_class
4353 return self.serializer_class
4355 def get_queryset(self):
4356 return Payment.select_by_user(self.request.user)
4358 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4360 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4364 class NetworkTemplateList(generics.ListCreateAPIView):
4365 queryset = NetworkTemplate.objects.select_related().all()
4366 serializer_class = NetworkTemplateSerializer
4367 id_serializer_class = NetworkTemplateIdSerializer
4368 filter_backends = (filters.DjangoFilterBackend,)
4369 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
4371 def get_serializer_class(self):
4372 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4374 return self.id_serializer_class
4376 return self.serializer_class
4378 def get_queryset(self):
4379 return NetworkTemplate.select_by_user(self.request.user)
4381 def create(self, request, *args, **kwargs):
4382 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4383 if not (serializer.is_valid()):
4384 response = {"error": "validation",
4385 "specific_error": "not serializer.is_valid()",
\r
4386 "reasons": serializer.errors}
\r
4387 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4388 obj = serializer.object
4389 obj.caller = request.user
4390 if obj.can_update(request.user):
4391 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
4393 raise Exception("failed obj.can_update")
4395 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
4396 if (ret.status_code%100 != 200):
4397 raise Exception(ret.data)
4402 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4403 queryset = NetworkTemplate.objects.select_related().all()
4404 serializer_class = NetworkTemplateSerializer
4405 id_serializer_class = NetworkTemplateIdSerializer
4407 def get_serializer_class(self):
4408 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4410 return self.id_serializer_class
4412 return self.serializer_class
4414 def get_queryset(self):
4415 return NetworkTemplate.select_by_user(self.request.user)
4417 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4419 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4423 class NetworkSliceList(generics.ListCreateAPIView):
4424 queryset = NetworkSlice.objects.select_related().all()
4425 serializer_class = NetworkSliceSerializer
4426 id_serializer_class = NetworkSliceIdSerializer
4427 filter_backends = (filters.DjangoFilterBackend,)
4428 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
4430 def get_serializer_class(self):
4431 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4433 return self.id_serializer_class
4435 return self.serializer_class
4437 def get_queryset(self):
4438 return NetworkSlice.select_by_user(self.request.user)
4440 def create(self, request, *args, **kwargs):
4441 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4442 if not (serializer.is_valid()):
4443 response = {"error": "validation",
4444 "specific_error": "not serializer.is_valid()",
\r
4445 "reasons": serializer.errors}
\r
4446 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4447 obj = serializer.object
4448 obj.caller = request.user
4449 if obj.can_update(request.user):
4450 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4452 raise Exception("failed obj.can_update")
4454 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4455 if (ret.status_code%100 != 200):
4456 raise Exception(ret.data)
4461 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4462 queryset = NetworkSlice.objects.select_related().all()
4463 serializer_class = NetworkSliceSerializer
4464 id_serializer_class = NetworkSliceIdSerializer
4466 def get_serializer_class(self):
4467 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4469 return self.id_serializer_class
4471 return self.serializer_class
4473 def get_queryset(self):
4474 return NetworkSlice.select_by_user(self.request.user)
4476 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4478 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4482 class UserDashboardViewList(generics.ListCreateAPIView):
4483 queryset = UserDashboardView.objects.select_related().all()
4484 serializer_class = UserDashboardViewSerializer
4485 id_serializer_class = UserDashboardViewIdSerializer
4486 filter_backends = (filters.DjangoFilterBackend,)
4487 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
4489 def get_serializer_class(self):
4490 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4492 return self.id_serializer_class
4494 return self.serializer_class
4496 def get_queryset(self):
4497 return UserDashboardView.select_by_user(self.request.user)
4499 def create(self, request, *args, **kwargs):
4500 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4501 if not (serializer.is_valid()):
4502 response = {"error": "validation",
4503 "specific_error": "not serializer.is_valid()",
\r
4504 "reasons": serializer.errors}
\r
4505 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4506 obj = serializer.object
4507 obj.caller = request.user
4508 if obj.can_update(request.user):
4509 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4511 raise Exception("failed obj.can_update")
4513 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4514 if (ret.status_code%100 != 200):
4515 raise Exception(ret.data)
4520 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4521 queryset = UserDashboardView.objects.select_related().all()
4522 serializer_class = UserDashboardViewSerializer
4523 id_serializer_class = UserDashboardViewIdSerializer
4525 def get_serializer_class(self):
4526 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4528 return self.id_serializer_class
4530 return self.serializer_class
4532 def get_queryset(self):
4533 return UserDashboardView.select_by_user(self.request.user)
4535 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4537 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4541 class ControllerList(generics.ListCreateAPIView):
4542 queryset = Controller.objects.select_related().all()
4543 serializer_class = ControllerSerializer
4544 id_serializer_class = ControllerIdSerializer
4545 filter_backends = (filters.DjangoFilterBackend,)
4546 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
4548 def get_serializer_class(self):
4549 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4551 return self.id_serializer_class
4553 return self.serializer_class
4555 def get_queryset(self):
4556 return Controller.select_by_user(self.request.user)
4558 def create(self, request, *args, **kwargs):
4559 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4560 if not (serializer.is_valid()):
4561 response = {"error": "validation",
4562 "specific_error": "not serializer.is_valid()",
\r
4563 "reasons": serializer.errors}
\r
4564 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4565 obj = serializer.object
4566 obj.caller = request.user
4567 if obj.can_update(request.user):
4568 return super(ControllerList, self).create(request, *args, **kwargs)
4570 raise Exception("failed obj.can_update")
4572 ret = super(ControllerList, self).create(request, *args, **kwargs)
4573 if (ret.status_code%100 != 200):
4574 raise Exception(ret.data)
4579 class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4580 queryset = Controller.objects.select_related().all()
4581 serializer_class = ControllerSerializer
4582 id_serializer_class = ControllerIdSerializer
4584 def get_serializer_class(self):
4585 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4587 return self.id_serializer_class
4589 return self.serializer_class
4591 def get_queryset(self):
4592 return Controller.select_by_user(self.request.user)
4594 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4596 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4600 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4601 queryset = PlanetStackPrivilege.objects.select_related().all()
4602 serializer_class = PlanetStackPrivilegeSerializer
4603 id_serializer_class = PlanetStackPrivilegeIdSerializer
4604 filter_backends = (filters.DjangoFilterBackend,)
4605 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
4607 def get_serializer_class(self):
4608 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4610 return self.id_serializer_class
4612 return self.serializer_class
4614 def get_queryset(self):
4615 return PlanetStackPrivilege.select_by_user(self.request.user)
4617 def create(self, request, *args, **kwargs):
4618 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4619 if not (serializer.is_valid()):
4620 response = {"error": "validation",
4621 "specific_error": "not serializer.is_valid()",
\r
4622 "reasons": serializer.errors}
\r
4623 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4624 obj = serializer.object
4625 obj.caller = request.user
4626 if obj.can_update(request.user):
4627 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4629 raise Exception("failed obj.can_update")
4631 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4632 if (ret.status_code%100 != 200):
4633 raise Exception(ret.data)
4638 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4639 queryset = PlanetStackPrivilege.objects.select_related().all()
4640 serializer_class = PlanetStackPrivilegeSerializer
4641 id_serializer_class = PlanetStackPrivilegeIdSerializer
4643 def get_serializer_class(self):
4644 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4646 return self.id_serializer_class
4648 return self.serializer_class
4650 def get_queryset(self):
4651 return PlanetStackPrivilege.select_by_user(self.request.user)
4653 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4655 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4659 class UserList(generics.ListCreateAPIView):
4660 queryset = User.objects.select_related().all()
4661 serializer_class = UserSerializer
4662 id_serializer_class = UserIdSerializer
4663 filter_backends = (filters.DjangoFilterBackend,)
4664 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',)
4666 def get_serializer_class(self):
4667 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4669 return self.id_serializer_class
4671 return self.serializer_class
4673 def get_queryset(self):
4674 return User.select_by_user(self.request.user)
4676 def create(self, request, *args, **kwargs):
4677 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4678 if not (serializer.is_valid()):
4679 response = {"error": "validation",
4680 "specific_error": "not serializer.is_valid()",
\r
4681 "reasons": serializer.errors}
\r
4682 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4683 obj = serializer.object
4684 obj.caller = request.user
4685 if obj.can_update(request.user):
4686 return super(UserList, self).create(request, *args, **kwargs)
4688 raise Exception("failed obj.can_update")
4690 ret = super(UserList, self).create(request, *args, **kwargs)
4691 if (ret.status_code%100 != 200):
4692 raise Exception(ret.data)
4697 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4698 queryset = User.objects.select_related().all()
4699 serializer_class = UserSerializer
4700 id_serializer_class = UserIdSerializer
4702 def get_serializer_class(self):
4703 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4705 return self.id_serializer_class
4707 return self.serializer_class
4709 def get_queryset(self):
4710 return User.select_by_user(self.request.user)
4712 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4714 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4718 class DeploymentList(generics.ListCreateAPIView):
4719 queryset = Deployment.objects.select_related().all()
4720 serializer_class = DeploymentSerializer
4721 id_serializer_class = DeploymentIdSerializer
4722 filter_backends = (filters.DjangoFilterBackend,)
4723 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
4725 def get_serializer_class(self):
4726 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4728 return self.id_serializer_class
4730 return self.serializer_class
4732 def get_queryset(self):
4733 return Deployment.select_by_user(self.request.user)
4735 def create(self, request, *args, **kwargs):
4736 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4737 if not (serializer.is_valid()):
4738 response = {"error": "validation",
4739 "specific_error": "not serializer.is_valid()",
\r
4740 "reasons": serializer.errors}
\r
4741 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4742 obj = serializer.object
4743 obj.caller = request.user
4744 if obj.can_update(request.user):
4745 return super(DeploymentList, self).create(request, *args, **kwargs)
4747 raise Exception("failed obj.can_update")
4749 ret = super(DeploymentList, self).create(request, *args, **kwargs)
4750 if (ret.status_code%100 != 200):
4751 raise Exception(ret.data)
4756 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4757 queryset = Deployment.objects.select_related().all()
4758 serializer_class = DeploymentSerializer
4759 id_serializer_class = DeploymentIdSerializer
4761 def get_serializer_class(self):
4762 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4764 return self.id_serializer_class
4766 return self.serializer_class
4768 def get_queryset(self):
4769 return Deployment.select_by_user(self.request.user)
4771 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4773 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4777 class ReservationList(generics.ListCreateAPIView):
4778 queryset = Reservation.objects.select_related().all()
4779 serializer_class = ReservationSerializer
4780 id_serializer_class = ReservationIdSerializer
4781 filter_backends = (filters.DjangoFilterBackend,)
4782 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
4784 def get_serializer_class(self):
4785 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4787 return self.id_serializer_class
4789 return self.serializer_class
4791 def get_queryset(self):
4792 return Reservation.select_by_user(self.request.user)
4794 def create(self, request, *args, **kwargs):
4795 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4796 if not (serializer.is_valid()):
4797 response = {"error": "validation",
4798 "specific_error": "not serializer.is_valid()",
\r
4799 "reasons": serializer.errors}
\r
4800 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4801 obj = serializer.object
4802 obj.caller = request.user
4803 if obj.can_update(request.user):
4804 return super(ReservationList, self).create(request, *args, **kwargs)
4806 raise Exception("failed obj.can_update")
4808 ret = super(ReservationList, self).create(request, *args, **kwargs)
4809 if (ret.status_code%100 != 200):
4810 raise Exception(ret.data)
4815 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4816 queryset = Reservation.objects.select_related().all()
4817 serializer_class = ReservationSerializer
4818 id_serializer_class = ReservationIdSerializer
4820 def get_serializer_class(self):
4821 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4823 return self.id_serializer_class
4825 return self.serializer_class
4827 def get_queryset(self):
4828 return Reservation.select_by_user(self.request.user)
4830 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4832 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4836 class SitePrivilegeList(generics.ListCreateAPIView):
4837 queryset = SitePrivilege.objects.select_related().all()
4838 serializer_class = SitePrivilegeSerializer
4839 id_serializer_class = SitePrivilegeIdSerializer
4840 filter_backends = (filters.DjangoFilterBackend,)
4841 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
4843 def get_serializer_class(self):
4844 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4846 return self.id_serializer_class
4848 return self.serializer_class
4850 def get_queryset(self):
4851 return SitePrivilege.select_by_user(self.request.user)
4853 def create(self, request, *args, **kwargs):
4854 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4855 if not (serializer.is_valid()):
4856 response = {"error": "validation",
4857 "specific_error": "not serializer.is_valid()",
\r
4858 "reasons": serializer.errors}
\r
4859 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4860 obj = serializer.object
4861 obj.caller = request.user
4862 if obj.can_update(request.user):
4863 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
4865 raise Exception("failed obj.can_update")
4867 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
4868 if (ret.status_code%100 != 200):
4869 raise Exception(ret.data)
4874 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4875 queryset = SitePrivilege.objects.select_related().all()
4876 serializer_class = SitePrivilegeSerializer
4877 id_serializer_class = SitePrivilegeIdSerializer
4879 def get_serializer_class(self):
4880 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4882 return self.id_serializer_class
4884 return self.serializer_class
4886 def get_queryset(self):
4887 return SitePrivilege.select_by_user(self.request.user)
4889 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4891 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4895 class PlanetStackList(generics.ListCreateAPIView):
4896 queryset = PlanetStack.objects.select_related().all()
4897 serializer_class = PlanetStackSerializer
4898 id_serializer_class = PlanetStackIdSerializer
4899 filter_backends = (filters.DjangoFilterBackend,)
4900 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
4902 def get_serializer_class(self):
4903 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4905 return self.id_serializer_class
4907 return self.serializer_class
4909 def get_queryset(self):
4910 return PlanetStack.select_by_user(self.request.user)
4912 def create(self, request, *args, **kwargs):
4913 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4914 if not (serializer.is_valid()):
4915 response = {"error": "validation",
4916 "specific_error": "not serializer.is_valid()",
\r
4917 "reasons": serializer.errors}
\r
4918 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4919 obj = serializer.object
4920 obj.caller = request.user
4921 if obj.can_update(request.user):
4922 return super(PlanetStackList, self).create(request, *args, **kwargs)
4924 raise Exception("failed obj.can_update")
4926 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
4927 if (ret.status_code%100 != 200):
4928 raise Exception(ret.data)
4933 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4934 queryset = PlanetStack.objects.select_related().all()
4935 serializer_class = PlanetStackSerializer
4936 id_serializer_class = PlanetStackIdSerializer
4938 def get_serializer_class(self):
4939 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4941 return self.id_serializer_class
4943 return self.serializer_class
4945 def get_queryset(self):
4946 return PlanetStack.select_by_user(self.request.user)
4948 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4950 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4954 class AccountList(generics.ListCreateAPIView):
4955 queryset = Account.objects.select_related().all()
4956 serializer_class = AccountSerializer
4957 id_serializer_class = AccountIdSerializer
4958 filter_backends = (filters.DjangoFilterBackend,)
4959 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
4961 def get_serializer_class(self):
4962 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
4964 return self.id_serializer_class
4966 return self.serializer_class
4968 def get_queryset(self):
4969 return Account.select_by_user(self.request.user)
4971 def create(self, request, *args, **kwargs):
4972 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4973 if not (serializer.is_valid()):
4974 response = {"error": "validation",
4975 "specific_error": "not serializer.is_valid()",
\r
4976 "reasons": serializer.errors}
\r
4977 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4978 obj = serializer.object
4979 obj.caller = request.user
4980 if obj.can_update(request.user):
4981 return super(AccountList, self).create(request, *args, **kwargs)
4983 raise Exception("failed obj.can_update")
4985 ret = super(AccountList, self).create(request, *args, **kwargs)
4986 if (ret.status_code%100 != 200):
4987 raise Exception(ret.data)
4992 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4993 queryset = Account.objects.select_related().all()
4994 serializer_class = AccountSerializer
4995 id_serializer_class = AccountIdSerializer
4997 def get_serializer_class(self):
4998 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5000 return self.id_serializer_class
5002 return self.serializer_class
5004 def get_queryset(self):
5005 return Account.select_by_user(self.request.user)
5007 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5009 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5013 class ControllerRoleList(generics.ListCreateAPIView):
5014 queryset = ControllerRole.objects.select_related().all()
5015 serializer_class = ControllerRoleSerializer
5016 id_serializer_class = ControllerRoleIdSerializer
5017 filter_backends = (filters.DjangoFilterBackend,)
5018 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5020 def get_serializer_class(self):
5021 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5023 return self.id_serializer_class
5025 return self.serializer_class
5027 def get_queryset(self):
5028 return ControllerRole.select_by_user(self.request.user)
5030 def create(self, request, *args, **kwargs):
5031 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5032 if not (serializer.is_valid()):
5033 response = {"error": "validation",
5034 "specific_error": "not serializer.is_valid()",
\r
5035 "reasons": serializer.errors}
\r
5036 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5037 obj = serializer.object
5038 obj.caller = request.user
5039 if obj.can_update(request.user):
5040 return super(ControllerRoleList, self).create(request, *args, **kwargs)
5042 raise Exception("failed obj.can_update")
5044 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
5045 if (ret.status_code%100 != 200):
5046 raise Exception(ret.data)
5051 class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5052 queryset = ControllerRole.objects.select_related().all()
5053 serializer_class = ControllerRoleSerializer
5054 id_serializer_class = ControllerRoleIdSerializer
5056 def get_serializer_class(self):
5057 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5059 return self.id_serializer_class
5061 return self.serializer_class
5063 def get_queryset(self):
5064 return ControllerRole.select_by_user(self.request.user)
5066 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5068 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5072 class NetworkParameterTypeList(generics.ListCreateAPIView):
5073 queryset = NetworkParameterType.objects.select_related().all()
5074 serializer_class = NetworkParameterTypeSerializer
5075 id_serializer_class = NetworkParameterTypeIdSerializer
5076 filter_backends = (filters.DjangoFilterBackend,)
5077 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
5079 def get_serializer_class(self):
5080 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5082 return self.id_serializer_class
5084 return self.serializer_class
5086 def get_queryset(self):
5087 return NetworkParameterType.select_by_user(self.request.user)
5089 def create(self, request, *args, **kwargs):
5090 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5091 if not (serializer.is_valid()):
5092 response = {"error": "validation",
5093 "specific_error": "not serializer.is_valid()",
\r
5094 "reasons": serializer.errors}
\r
5095 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5096 obj = serializer.object
5097 obj.caller = request.user
5098 if obj.can_update(request.user):
5099 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5101 raise Exception("failed obj.can_update")
5103 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5104 if (ret.status_code%100 != 200):
5105 raise Exception(ret.data)
5110 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5111 queryset = NetworkParameterType.objects.select_related().all()
5112 serializer_class = NetworkParameterTypeSerializer
5113 id_serializer_class = NetworkParameterTypeIdSerializer
5115 def get_serializer_class(self):
5116 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5118 return self.id_serializer_class
5120 return self.serializer_class
5122 def get_queryset(self):
5123 return NetworkParameterType.select_by_user(self.request.user)
5125 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5127 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5131 class SiteCredentialList(generics.ListCreateAPIView):
5132 queryset = SiteCredential.objects.select_related().all()
5133 serializer_class = SiteCredentialSerializer
5134 id_serializer_class = SiteCredentialIdSerializer
5135 filter_backends = (filters.DjangoFilterBackend,)
5136 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
5138 def get_serializer_class(self):
5139 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5141 return self.id_serializer_class
5143 return self.serializer_class
5145 def get_queryset(self):
5146 return SiteCredential.select_by_user(self.request.user)
5148 def create(self, request, *args, **kwargs):
5149 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5150 if not (serializer.is_valid()):
5151 response = {"error": "validation",
5152 "specific_error": "not serializer.is_valid()",
\r
5153 "reasons": serializer.errors}
\r
5154 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5155 obj = serializer.object
5156 obj.caller = request.user
5157 if obj.can_update(request.user):
5158 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5160 raise Exception("failed obj.can_update")
5162 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5163 if (ret.status_code%100 != 200):
5164 raise Exception(ret.data)
5169 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5170 queryset = SiteCredential.objects.select_related().all()
5171 serializer_class = SiteCredentialSerializer
5172 id_serializer_class = SiteCredentialIdSerializer
5174 def get_serializer_class(self):
5175 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5177 return self.id_serializer_class
5179 return self.serializer_class
5181 def get_queryset(self):
5182 return SiteCredential.select_by_user(self.request.user)
5184 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5186 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5190 class DeploymentPrivilegeList(generics.ListCreateAPIView):
5191 queryset = DeploymentPrivilege.objects.select_related().all()
5192 serializer_class = DeploymentPrivilegeSerializer
5193 id_serializer_class = DeploymentPrivilegeIdSerializer
5194 filter_backends = (filters.DjangoFilterBackend,)
5195 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
5197 def get_serializer_class(self):
5198 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5200 return self.id_serializer_class
5202 return self.serializer_class
5204 def get_queryset(self):
5205 return DeploymentPrivilege.select_by_user(self.request.user)
5207 def create(self, request, *args, **kwargs):
5208 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5209 if not (serializer.is_valid()):
5210 response = {"error": "validation",
5211 "specific_error": "not serializer.is_valid()",
\r
5212 "reasons": serializer.errors}
\r
5213 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5214 obj = serializer.object
5215 obj.caller = request.user
5216 if obj.can_update(request.user):
5217 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5219 raise Exception("failed obj.can_update")
5221 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
5222 if (ret.status_code%100 != 200):
5223 raise Exception(ret.data)
5228 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5229 queryset = DeploymentPrivilege.objects.select_related().all()
5230 serializer_class = DeploymentPrivilegeSerializer
5231 id_serializer_class = DeploymentPrivilegeIdSerializer
5233 def get_serializer_class(self):
5234 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5236 return self.id_serializer_class
5238 return self.serializer_class
5240 def get_queryset(self):
5241 return DeploymentPrivilege.select_by_user(self.request.user)
5243 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5245 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5249 class ControllerUsersList(generics.ListCreateAPIView):
5250 queryset = ControllerUsers.objects.select_related().all()
5251 serializer_class = ControllerUsersSerializer
5252 id_serializer_class = ControllerUsersIdSerializer
5253 filter_backends = (filters.DjangoFilterBackend,)
5254 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
5256 def get_serializer_class(self):
5257 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5259 return self.id_serializer_class
5261 return self.serializer_class
5263 def get_queryset(self):
5264 return ControllerUsers.select_by_user(self.request.user)
5266 def create(self, request, *args, **kwargs):
5267 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5268 if not (serializer.is_valid()):
5269 response = {"error": "validation",
5270 "specific_error": "not serializer.is_valid()",
\r
5271 "reasons": serializer.errors}
\r
5272 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5273 obj = serializer.object
5274 obj.caller = request.user
5275 if obj.can_update(request.user):
5276 return super(ControllerUsersList, self).create(request, *args, **kwargs)
5278 raise Exception("failed obj.can_update")
5280 ret = super(ControllerUsersList, self).create(request, *args, **kwargs)
5281 if (ret.status_code%100 != 200):
5282 raise Exception(ret.data)
5287 class ControllerUsersDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5288 queryset = ControllerUsers.objects.select_related().all()
5289 serializer_class = ControllerUsersSerializer
5290 id_serializer_class = ControllerUsersIdSerializer
5292 def get_serializer_class(self):
5293 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5295 return self.id_serializer_class
5297 return self.serializer_class
5299 def get_queryset(self):
5300 return ControllerUsers.select_by_user(self.request.user)
5302 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5304 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5308 class DeploymentRoleList(generics.ListCreateAPIView):
5309 queryset = DeploymentRole.objects.select_related().all()
5310 serializer_class = DeploymentRoleSerializer
5311 id_serializer_class = DeploymentRoleIdSerializer
5312 filter_backends = (filters.DjangoFilterBackend,)
5313 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
5315 def get_serializer_class(self):
5316 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5318 return self.id_serializer_class
5320 return self.serializer_class
5322 def get_queryset(self):
5323 return DeploymentRole.select_by_user(self.request.user)
5325 def create(self, request, *args, **kwargs):
5326 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5327 if not (serializer.is_valid()):
5328 response = {"error": "validation",
5329 "specific_error": "not serializer.is_valid()",
\r
5330 "reasons": serializer.errors}
\r
5331 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5332 obj = serializer.object
5333 obj.caller = request.user
5334 if obj.can_update(request.user):
5335 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
5337 raise Exception("failed obj.can_update")
5339 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
5340 if (ret.status_code%100 != 200):
5341 raise Exception(ret.data)
5346 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5347 queryset = DeploymentRole.objects.select_related().all()
5348 serializer_class = DeploymentRoleSerializer
5349 id_serializer_class = DeploymentRoleIdSerializer
5351 def get_serializer_class(self):
5352 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5354 return self.id_serializer_class
5356 return self.serializer_class
5358 def get_queryset(self):
5359 return DeploymentRole.select_by_user(self.request.user)
5361 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5363 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5367 class UserCredentialList(generics.ListCreateAPIView):
5368 queryset = UserCredential.objects.select_related().all()
5369 serializer_class = UserCredentialSerializer
5370 id_serializer_class = UserCredentialIdSerializer
5371 filter_backends = (filters.DjangoFilterBackend,)
5372 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
5374 def get_serializer_class(self):
5375 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5377 return self.id_serializer_class
5379 return self.serializer_class
5381 def get_queryset(self):
5382 return UserCredential.select_by_user(self.request.user)
5384 def create(self, request, *args, **kwargs):
5385 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5386 if not (serializer.is_valid()):
5387 response = {"error": "validation",
5388 "specific_error": "not serializer.is_valid()",
\r
5389 "reasons": serializer.errors}
\r
5390 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5391 obj = serializer.object
5392 obj.caller = request.user
5393 if obj.can_update(request.user):
5394 return super(UserCredentialList, self).create(request, *args, **kwargs)
5396 raise Exception("failed obj.can_update")
5398 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5399 if (ret.status_code%100 != 200):
5400 raise Exception(ret.data)
5405 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5406 queryset = UserCredential.objects.select_related().all()
5407 serializer_class = UserCredentialSerializer
5408 id_serializer_class = UserCredentialIdSerializer
5410 def get_serializer_class(self):
5411 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5413 return self.id_serializer_class
5415 return self.serializer_class
5417 def get_queryset(self):
5418 return UserCredential.select_by_user(self.request.user)
5420 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5422 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5426 class SiteDeploymentsList(generics.ListCreateAPIView):
5427 queryset = SiteDeployments.objects.select_related().all()
5428 serializer_class = SiteDeploymentsSerializer
5429 id_serializer_class = SiteDeploymentsIdSerializer
5430 filter_backends = (filters.DjangoFilterBackend,)
5431 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
5433 def get_serializer_class(self):
5434 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5436 return self.id_serializer_class
5438 return self.serializer_class
5440 def get_queryset(self):
5441 return SiteDeployments.select_by_user(self.request.user)
5443 def create(self, request, *args, **kwargs):
5444 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5445 if not (serializer.is_valid()):
5446 response = {"error": "validation",
5447 "specific_error": "not serializer.is_valid()",
\r
5448 "reasons": serializer.errors}
\r
5449 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5450 obj = serializer.object
5451 obj.caller = request.user
5452 if obj.can_update(request.user):
5453 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5455 raise Exception("failed obj.can_update")
5457 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
5458 if (ret.status_code%100 != 200):
5459 raise Exception(ret.data)
5464 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5465 queryset = SiteDeployments.objects.select_related().all()
5466 serializer_class = SiteDeploymentsSerializer
5467 id_serializer_class = SiteDeploymentsIdSerializer
5469 def get_serializer_class(self):
5470 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5472 return self.id_serializer_class
5474 return self.serializer_class
5476 def get_queryset(self):
5477 return SiteDeployments.select_by_user(self.request.user)
5479 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5481 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5485 class SliceTagList(generics.ListCreateAPIView):
5486 queryset = SliceTag.objects.select_related().all()
5487 serializer_class = SliceTagSerializer
5488 id_serializer_class = SliceTagIdSerializer
5489 filter_backends = (filters.DjangoFilterBackend,)
5490 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
5492 def get_serializer_class(self):
5493 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5495 return self.id_serializer_class
5497 return self.serializer_class
5499 def get_queryset(self):
5500 return SliceTag.select_by_user(self.request.user)
5502 def create(self, request, *args, **kwargs):
5503 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5504 if not (serializer.is_valid()):
5505 response = {"error": "validation",
5506 "specific_error": "not serializer.is_valid()",
\r
5507 "reasons": serializer.errors}
\r
5508 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5509 obj = serializer.object
5510 obj.caller = request.user
5511 if obj.can_update(request.user):
5512 return super(SliceTagList, self).create(request, *args, **kwargs)
5514 raise Exception("failed obj.can_update")
5516 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5517 if (ret.status_code%100 != 200):
5518 raise Exception(ret.data)
5523 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5524 queryset = SliceTag.objects.select_related().all()
5525 serializer_class = SliceTagSerializer
5526 id_serializer_class = SliceTagIdSerializer
5528 def get_serializer_class(self):
5529 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5531 return self.id_serializer_class
5533 return self.serializer_class
5535 def get_queryset(self):
5536 return SliceTag.select_by_user(self.request.user)
5538 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5540 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5544 class ControllerDashboardList(generics.ListCreateAPIView):
5545 queryset = ControllerDashboard.objects.select_related().all()
5546 serializer_class = ControllerDashboardSerializer
5547 id_serializer_class = ControllerDashboardIdSerializer
5548 filter_backends = (filters.DjangoFilterBackend,)
5549 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
5551 def get_serializer_class(self):
5552 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5554 return self.id_serializer_class
5556 return self.serializer_class
5558 def get_queryset(self):
5559 return ControllerDashboard.select_by_user(self.request.user)
5561 def create(self, request, *args, **kwargs):
5562 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5563 if not (serializer.is_valid()):
5564 response = {"error": "validation",
5565 "specific_error": "not serializer.is_valid()",
\r
5566 "reasons": serializer.errors}
\r
5567 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5568 obj = serializer.object
5569 obj.caller = request.user
5570 if obj.can_update(request.user):
5571 return super(ControllerDashboardList, self).create(request, *args, **kwargs)
5573 raise Exception("failed obj.can_update")
5575 ret = super(ControllerDashboardList, self).create(request, *args, **kwargs)
5576 if (ret.status_code%100 != 200):
5577 raise Exception(ret.data)
5582 class ControllerDashboardDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5583 queryset = ControllerDashboard.objects.select_related().all()
5584 serializer_class = ControllerDashboardSerializer
5585 id_serializer_class = ControllerDashboardIdSerializer
5587 def get_serializer_class(self):
5588 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5590 return self.id_serializer_class
5592 return self.serializer_class
5594 def get_queryset(self):
5595 return ControllerDashboard.select_by_user(self.request.user)
5597 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5599 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5603 class RouterList(generics.ListCreateAPIView):
5604 queryset = Router.objects.select_related().all()
5605 serializer_class = RouterSerializer
5606 id_serializer_class = RouterIdSerializer
5607 filter_backends = (filters.DjangoFilterBackend,)
5608 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
5610 def get_serializer_class(self):
5611 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5613 return self.id_serializer_class
5615 return self.serializer_class
5617 def get_queryset(self):
5618 return Router.select_by_user(self.request.user)
5620 def create(self, request, *args, **kwargs):
5621 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5622 if not (serializer.is_valid()):
5623 response = {"error": "validation",
5624 "specific_error": "not serializer.is_valid()",
\r
5625 "reasons": serializer.errors}
\r
5626 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5627 obj = serializer.object
5628 obj.caller = request.user
5629 if obj.can_update(request.user):
5630 return super(RouterList, self).create(request, *args, **kwargs)
5632 raise Exception("failed obj.can_update")
5634 ret = super(RouterList, self).create(request, *args, **kwargs)
5635 if (ret.status_code%100 != 200):
5636 raise Exception(ret.data)
5641 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5642 queryset = Router.objects.select_related().all()
5643 serializer_class = RouterSerializer
5644 id_serializer_class = RouterIdSerializer
5646 def get_serializer_class(self):
5647 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5649 return self.id_serializer_class
5651 return self.serializer_class
5653 def get_queryset(self):
5654 return Router.select_by_user(self.request.user)
5656 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5658 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5662 class ServiceResourceList(generics.ListCreateAPIView):
5663 queryset = ServiceResource.objects.select_related().all()
5664 serializer_class = ServiceResourceSerializer
5665 id_serializer_class = ServiceResourceIdSerializer
5666 filter_backends = (filters.DjangoFilterBackend,)
5667 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
5669 def get_serializer_class(self):
5670 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5672 return self.id_serializer_class
5674 return self.serializer_class
5676 def get_queryset(self):
5677 return ServiceResource.select_by_user(self.request.user)
5679 def create(self, request, *args, **kwargs):
5680 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5681 if not (serializer.is_valid()):
5682 response = {"error": "validation",
5683 "specific_error": "not serializer.is_valid()",
\r
5684 "reasons": serializer.errors}
\r
5685 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5686 obj = serializer.object
5687 obj.caller = request.user
5688 if obj.can_update(request.user):
5689 return super(ServiceResourceList, self).create(request, *args, **kwargs)
5691 raise Exception("failed obj.can_update")
5693 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
5694 if (ret.status_code%100 != 200):
5695 raise Exception(ret.data)
5700 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5701 queryset = ServiceResource.objects.select_related().all()
5702 serializer_class = ServiceResourceSerializer
5703 id_serializer_class = ServiceResourceIdSerializer
5705 def get_serializer_class(self):
5706 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5708 return self.id_serializer_class
5710 return self.serializer_class
5712 def get_queryset(self):
5713 return ServiceResource.select_by_user(self.request.user)
5715 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5717 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5721 class ControllerSlicesList(generics.ListCreateAPIView):
5722 queryset = ControllerSlices.objects.select_related().all()
5723 serializer_class = ControllerSlicesSerializer
5724 id_serializer_class = ControllerSlicesIdSerializer
5725 filter_backends = (filters.DjangoFilterBackend,)
5726 filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
5728 def get_serializer_class(self):
5729 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5731 return self.id_serializer_class
5733 return self.serializer_class
5735 def get_queryset(self):
5736 return ControllerSlices.select_by_user(self.request.user)
5738 def create(self, request, *args, **kwargs):
5739 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5740 if not (serializer.is_valid()):
5741 response = {"error": "validation",
5742 "specific_error": "not serializer.is_valid()",
\r
5743 "reasons": serializer.errors}
\r
5744 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5745 obj = serializer.object
5746 obj.caller = request.user
5747 if obj.can_update(request.user):
5748 return super(ControllerSlicesList, self).create(request, *args, **kwargs)
5750 raise Exception("failed obj.can_update")
5752 ret = super(ControllerSlicesList, self).create(request, *args, **kwargs)
5753 if (ret.status_code%100 != 200):
5754 raise Exception(ret.data)
5759 class ControllerSlicesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5760 queryset = ControllerSlices.objects.select_related().all()
5761 serializer_class = ControllerSlicesSerializer
5762 id_serializer_class = ControllerSlicesIdSerializer
5764 def get_serializer_class(self):
5765 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
5767 return self.id_serializer_class
5769 return self.serializer_class
5771 def get_queryset(self):
5772 return ControllerSlices.select_by_user(self.request.user)
5774 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5776 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView