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 core.models import *
8 from django.forms import widgets
9 from rest_framework import filters
10 from django.conf.urls import patterns, url
13 Schema of the generator object:
14 all: Set of all Model objects
15 all_if(regex): Set of Model objects that match regex
18 plural: English plural of object name
19 camel: CamelCase version of object name
20 refs: list of references to other Model objects
21 props: list of properties minus refs
23 TODO: Deal with subnets
26 def get_REST_patterns():
28 url(r'^plstackapi/$', api_root),
30 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
31 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
33 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
34 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
36 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
37 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
39 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
40 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
42 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
43 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
45 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
46 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
48 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
49 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
51 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
52 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
54 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
55 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
57 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
58 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
60 url(r'plstackapi/networkdeployments/$', NetworkDeploymentsList.as_view(), name='networkdeployments-list'),
61 url(r'plstackapi/networkdeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDeploymentsDetail.as_view(), name ='networkdeployments-detail'),
63 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
64 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
66 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
67 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
69 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
70 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
72 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
73 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
75 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
76 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
78 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
79 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
81 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
82 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
84 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
85 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
87 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
88 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
90 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
91 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
93 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
94 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
96 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
97 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
99 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
100 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
102 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
103 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
105 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
106 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
108 url(r'plstackapi/imagedeployments/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
109 url(r'plstackapi/imagedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
111 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
112 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
114 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
115 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
117 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
118 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
120 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
121 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
123 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
124 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
126 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
127 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
129 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
130 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
132 url(r'plstackapi/slice_deployments/$', SliceDeploymentsList.as_view(), name='slicedeployments-list'),
133 url(r'plstackapi/slice_deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDeploymentsDetail.as_view(), name ='slicedeployments-detail'),
135 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
136 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
138 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
139 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
141 url(r'plstackapi/user_deployments/$', UserDeploymentsList.as_view(), name='userdeployments-list'),
142 url(r'plstackapi/user_deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDeploymentsDetail.as_view(), name ='userdeployments-detail'),
144 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
145 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
147 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
148 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
150 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
151 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
153 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
154 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
156 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
157 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
159 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
160 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
162 url(r'plstackapi/sitedeployments/$', SiteDeploymentsList.as_view(), name='sitedeployments-list'),
163 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentsDetail.as_view(), name ='sitedeployments-detail'),
165 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
166 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
168 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
169 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
171 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
172 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
174 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
175 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
180 def api_root(request, format=None):
182 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
183 'images': reverse('image-list', request=request, format=format),
184 'networkparameters': reverse('networkparameter-list', request=request, format=format),
185 'sites': reverse('site-list', request=request, format=format),
186 'sliceroles': reverse('slicerole-list', request=request, format=format),
187 'tags': reverse('tag-list', request=request, format=format),
188 'invoices': reverse('invoice-list', request=request, format=format),
189 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
190 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
191 'networkslivers': reverse('networksliver-list', request=request, format=format),
192 'networkdeploymentses': reverse('networkdeployments-list', request=request, format=format),
193 'flavors': reverse('flavor-list', request=request, format=format),
194 'projects': reverse('project-list', request=request, format=format),
195 'slices': reverse('slice-list', request=request, format=format),
196 'networks': reverse('network-list', request=request, format=format),
197 'services': reverse('service-list', request=request, format=format),
198 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
199 'payments': reverse('payment-list', request=request, format=format),
200 'charges': reverse('charge-list', request=request, format=format),
201 'roles': reverse('role-list', request=request, format=format),
202 'usableobjects': reverse('usableobject-list', request=request, format=format),
203 'siteroles': reverse('siterole-list', request=request, format=format),
204 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
205 'slivers': reverse('sliver-list', request=request, format=format),
206 'nodes': reverse('node-list', request=request, format=format),
207 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
208 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
209 'reservedresources': reverse('reservedresource-list', request=request, format=format),
210 'networkslices': reverse('networkslice-list', request=request, format=format),
211 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
212 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
213 'users': reverse('user-list', request=request, format=format),
214 'deployments': reverse('deployment-list', request=request, format=format),
215 'reservations': reverse('reservation-list', request=request, format=format),
216 'slicedeploymentses': reverse('slicedeployments-list', request=request, format=format),
217 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
218 'planetstacks': reverse('planetstack-list', request=request, format=format),
219 'userdeploymentses': reverse('userdeployments-list', request=request, format=format),
220 'accounts': reverse('account-list', request=request, format=format),
221 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
222 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
223 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
224 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
225 'usercredentials': reverse('usercredential-list', request=request, format=format),
226 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
227 'slicetags': reverse('slicetag-list', request=request, format=format),
228 'networktemplates': reverse('networktemplate-list', request=request, format=format),
229 'routers': reverse('router-list', request=request, format=format),
230 'serviceresources': reverse('serviceresource-list', request=request, format=format),
234 # Based on serializers.py
238 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
239 id = serializers.Field()
242 model = ServiceAttribute
243 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
245 class ServiceAttributeIdSerializer(serializers.ModelSerializer):
246 id = serializers.Field()
249 model = ServiceAttribute
250 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
255 class ImageSerializer(serializers.HyperlinkedModelSerializer):
256 id = serializers.Field()
260 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
262 class ImageIdSerializer(serializers.ModelSerializer):
263 id = serializers.Field()
267 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
272 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
273 id = serializers.Field()
276 model = NetworkParameter
277 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
279 class NetworkParameterIdSerializer(serializers.ModelSerializer):
280 id = serializers.Field()
283 model = NetworkParameter
284 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
289 class SiteSerializer(serializers.HyperlinkedModelSerializer):
290 id = serializers.Field()
294 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
296 class SiteIdSerializer(serializers.ModelSerializer):
297 id = serializers.Field()
301 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
306 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
307 id = serializers.Field()
311 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
313 class SliceRoleIdSerializer(serializers.ModelSerializer):
314 id = serializers.Field()
318 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
323 class TagSerializer(serializers.HyperlinkedModelSerializer):
324 id = serializers.Field()
328 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
330 class TagIdSerializer(serializers.ModelSerializer):
331 id = serializers.Field()
335 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
340 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
341 id = serializers.Field()
345 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
347 class InvoiceIdSerializer(serializers.ModelSerializer):
348 id = serializers.Field()
352 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
357 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
358 id = serializers.Field()
361 model = SlicePrivilege
362 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
364 class SlicePrivilegeIdSerializer(serializers.ModelSerializer):
365 id = serializers.Field()
368 model = SlicePrivilege
369 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
374 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
375 id = serializers.Field()
378 model = PlanetStackRole
379 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
381 class PlanetStackRoleIdSerializer(serializers.ModelSerializer):
382 id = serializers.Field()
385 model = PlanetStackRole
386 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
391 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
392 id = serializers.Field()
395 model = NetworkSliver
396 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
398 class NetworkSliverIdSerializer(serializers.ModelSerializer):
399 id = serializers.Field()
402 model = NetworkSliver
403 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
408 class NetworkDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
409 id = serializers.Field()
412 model = NetworkDeployments
413 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
415 class NetworkDeploymentsIdSerializer(serializers.ModelSerializer):
416 id = serializers.Field()
419 model = NetworkDeployments
420 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
425 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
426 id = serializers.Field()
430 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
432 class FlavorIdSerializer(serializers.ModelSerializer):
433 id = serializers.Field()
437 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
442 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
443 id = serializers.Field()
447 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
449 class ProjectIdSerializer(serializers.ModelSerializer):
450 id = serializers.Field()
454 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
459 class SliceSerializer(serializers.HyperlinkedModelSerializer):
460 id = serializers.Field()
463 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
467 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
471 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
475 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
480 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','availableNetworks','networks','networks',)
482 class SliceIdSerializer(serializers.ModelSerializer):
483 id = serializers.Field()
486 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
490 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
494 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
498 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
503 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','availableNetworks','networks','networks',)
508 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
509 id = serializers.Field()
512 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
516 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
520 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
524 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
529 fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
531 class NetworkIdSerializer(serializers.ModelSerializer):
532 id = serializers.Field()
535 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
539 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
543 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
547 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
552 fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
557 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
558 id = serializers.Field()
562 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
564 class ServiceIdSerializer(serializers.ModelSerializer):
565 id = serializers.Field()
569 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
574 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
575 id = serializers.Field()
579 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
581 class ServiceClassIdSerializer(serializers.ModelSerializer):
582 id = serializers.Field()
586 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
591 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
592 id = serializers.Field()
596 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
598 class PaymentIdSerializer(serializers.ModelSerializer):
599 id = serializers.Field()
603 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
608 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
609 id = serializers.Field()
613 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
615 class ChargeIdSerializer(serializers.ModelSerializer):
616 id = serializers.Field()
620 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
625 class RoleSerializer(serializers.HyperlinkedModelSerializer):
626 id = serializers.Field()
630 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
632 class RoleIdSerializer(serializers.ModelSerializer):
633 id = serializers.Field()
637 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
642 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
643 id = serializers.Field()
647 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
649 class UsableObjectIdSerializer(serializers.ModelSerializer):
650 id = serializers.Field()
654 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
659 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
660 id = serializers.Field()
664 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
666 class SiteRoleIdSerializer(serializers.ModelSerializer):
667 id = serializers.Field()
671 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
676 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
677 id = serializers.Field()
680 model = SliceCredential
681 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
683 class SliceCredentialIdSerializer(serializers.ModelSerializer):
684 id = serializers.Field()
687 model = SliceCredential
688 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
693 class SliverSerializer(serializers.HyperlinkedModelSerializer):
694 id = serializers.Field()
697 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
701 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
706 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
708 class SliverIdSerializer(serializers.ModelSerializer):
709 id = serializers.Field()
712 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
716 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
721 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
726 class NodeSerializer(serializers.HyperlinkedModelSerializer):
727 id = serializers.Field()
731 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
733 class NodeIdSerializer(serializers.ModelSerializer):
734 id = serializers.Field()
738 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
743 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
744 id = serializers.Field()
747 model = DashboardView
748 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
750 class DashboardViewIdSerializer(serializers.ModelSerializer):
751 id = serializers.Field()
754 model = DashboardView
755 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
760 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
761 id = serializers.Field()
764 model = ImageDeployments
765 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
767 class ImageDeploymentsIdSerializer(serializers.ModelSerializer):
768 id = serializers.Field()
771 model = ImageDeployments
772 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
777 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
778 id = serializers.Field()
781 model = ReservedResource
782 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
784 class ReservedResourceIdSerializer(serializers.ModelSerializer):
785 id = serializers.Field()
788 model = ReservedResource
789 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
794 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
795 id = serializers.Field()
799 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
801 class NetworkSliceIdSerializer(serializers.ModelSerializer):
802 id = serializers.Field()
806 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
811 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
812 id = serializers.Field()
815 model = UserDashboardView
816 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
818 class UserDashboardViewIdSerializer(serializers.ModelSerializer):
819 id = serializers.Field()
822 model = UserDashboardView
823 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
828 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
829 id = serializers.Field()
832 model = PlanetStackPrivilege
833 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
835 class PlanetStackPrivilegeIdSerializer(serializers.ModelSerializer):
836 id = serializers.Field()
839 model = PlanetStackPrivilege
840 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
845 class UserSerializer(serializers.HyperlinkedModelSerializer):
846 id = serializers.Field()
850 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',)
852 class UserIdSerializer(serializers.ModelSerializer):
853 id = serializers.Field()
857 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',)
862 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
863 id = serializers.Field()
866 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
870 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
874 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
878 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
883 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
885 class DeploymentIdSerializer(serializers.ModelSerializer):
886 id = serializers.Field()
889 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
893 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
897 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
901 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
906 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
911 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
912 id = serializers.Field()
916 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
918 class ReservationIdSerializer(serializers.ModelSerializer):
919 id = serializers.Field()
923 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
928 class SliceDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
929 id = serializers.Field()
932 model = SliceDeployments
933 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
935 class SliceDeploymentsIdSerializer(serializers.ModelSerializer):
936 id = serializers.Field()
939 model = SliceDeployments
940 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
945 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
946 id = serializers.Field()
949 model = SitePrivilege
950 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
952 class SitePrivilegeIdSerializer(serializers.ModelSerializer):
953 id = serializers.Field()
956 model = SitePrivilege
957 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
962 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
963 id = serializers.Field()
967 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
969 class PlanetStackIdSerializer(serializers.ModelSerializer):
970 id = serializers.Field()
974 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
979 class UserDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
980 id = serializers.Field()
983 model = UserDeployments
984 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
986 class UserDeploymentsIdSerializer(serializers.ModelSerializer):
987 id = serializers.Field()
990 model = UserDeployments
991 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
996 class AccountSerializer(serializers.HyperlinkedModelSerializer):
997 id = serializers.Field()
1001 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
1003 class AccountIdSerializer(serializers.ModelSerializer):
1004 id = serializers.Field()
1008 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
1013 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
1014 id = serializers.Field()
1017 model = NetworkParameterType
1018 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
1020 class NetworkParameterTypeIdSerializer(serializers.ModelSerializer):
1021 id = serializers.Field()
1024 model = NetworkParameterType
1025 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
1030 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
1031 id = serializers.Field()
1034 model = SiteCredential
1035 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1037 class SiteCredentialIdSerializer(serializers.ModelSerializer):
1038 id = serializers.Field()
1041 model = SiteCredential
1042 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
1047 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
1048 id = serializers.Field()
1051 model = DeploymentPrivilege
1052 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
1054 class DeploymentPrivilegeIdSerializer(serializers.ModelSerializer):
1055 id = serializers.Field()
1058 model = DeploymentPrivilege
1059 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
1064 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
1065 id = serializers.Field()
1068 model = DeploymentRole
1069 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1071 class DeploymentRoleIdSerializer(serializers.ModelSerializer):
1072 id = serializers.Field()
1075 model = DeploymentRole
1076 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1081 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
1082 id = serializers.Field()
1085 model = UserCredential
1086 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
1088 class UserCredentialIdSerializer(serializers.ModelSerializer):
1089 id = serializers.Field()
1092 model = UserCredential
1093 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
1098 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
1099 id = serializers.Field()
1102 model = SiteDeployments
1103 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
1105 class SiteDeploymentsIdSerializer(serializers.ModelSerializer):
1106 id = serializers.Field()
1109 model = SiteDeployments
1110 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
1115 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
1116 id = serializers.Field()
1120 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
1122 class SliceTagIdSerializer(serializers.ModelSerializer):
1123 id = serializers.Field()
1127 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
1132 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
1133 id = serializers.Field()
1136 model = NetworkTemplate
1137 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
1139 class NetworkTemplateIdSerializer(serializers.ModelSerializer):
1140 id = serializers.Field()
1143 model = NetworkTemplate
1144 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
1149 class RouterSerializer(serializers.HyperlinkedModelSerializer):
1150 id = serializers.Field()
1154 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1156 class RouterIdSerializer(serializers.ModelSerializer):
1157 id = serializers.Field()
1161 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1166 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
1167 id = serializers.Field()
1170 model = ServiceResource
1171 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1173 class ServiceResourceIdSerializer(serializers.ModelSerializer):
1174 id = serializers.Field()
1177 model = ServiceResource
1178 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1183 serializerLookUp = {
1185 ServiceAttribute: ServiceAttributeSerializer,
1187 Image: ImageSerializer,
1189 NetworkParameter: NetworkParameterSerializer,
1191 Site: SiteSerializer,
1193 SliceRole: SliceRoleSerializer,
1197 Invoice: InvoiceSerializer,
1199 SlicePrivilege: SlicePrivilegeSerializer,
1201 PlanetStackRole: PlanetStackRoleSerializer,
1203 NetworkSliver: NetworkSliverSerializer,
1205 NetworkDeployments: NetworkDeploymentsSerializer,
1207 Flavor: FlavorSerializer,
1209 Project: ProjectSerializer,
1211 Slice: SliceSerializer,
1213 Network: NetworkSerializer,
1215 Service: ServiceSerializer,
1217 ServiceClass: ServiceClassSerializer,
1219 Payment: PaymentSerializer,
1221 Charge: ChargeSerializer,
1223 Role: RoleSerializer,
1225 UsableObject: UsableObjectSerializer,
1227 SiteRole: SiteRoleSerializer,
1229 SliceCredential: SliceCredentialSerializer,
1231 Sliver: SliverSerializer,
1233 Node: NodeSerializer,
1235 DashboardView: DashboardViewSerializer,
1237 ImageDeployments: ImageDeploymentsSerializer,
1239 ReservedResource: ReservedResourceSerializer,
1241 NetworkSlice: NetworkSliceSerializer,
1243 UserDashboardView: UserDashboardViewSerializer,
1245 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
1247 User: UserSerializer,
1249 Deployment: DeploymentSerializer,
1251 Reservation: ReservationSerializer,
1253 SliceDeployments: SliceDeploymentsSerializer,
1255 SitePrivilege: SitePrivilegeSerializer,
1257 PlanetStack: PlanetStackSerializer,
1259 UserDeployments: UserDeploymentsSerializer,
1261 Account: AccountSerializer,
1263 NetworkParameterType: NetworkParameterTypeSerializer,
1265 SiteCredential: SiteCredentialSerializer,
1267 DeploymentPrivilege: DeploymentPrivilegeSerializer,
1269 DeploymentRole: DeploymentRoleSerializer,
1271 UserCredential: UserCredentialSerializer,
1273 SiteDeployments: SiteDeploymentsSerializer,
1275 SliceTag: SliceTagSerializer,
1277 NetworkTemplate: NetworkTemplateSerializer,
1279 Router: RouterSerializer,
1281 ServiceResource: ServiceResourceSerializer,
1286 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
1288 # To handle fine-grained field permissions, we have to check can_update
1289 # the object has been updated but before it has been saved.
1291 def update(self, request, *args, **kwargs):
\r
1292 partial = kwargs.pop('partial', False)
\r
1293 self.object = self.get_object_or_none()
\r
1295 serializer = self.get_serializer(self.object, data=request.DATA,
\r
1296 files=request.FILES, partial=partial)
\r
1298 if not serializer.is_valid():
\r
1299 print "UpdateModelMixin: not serializer.is_valid"
\r
1300 print serializer.errors
\r
1301 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
\r
1304 self.pre_save(serializer.object)
\r
1305 except ValidationError as err:
\r
1306 # full_clean on model instance may be called in pre_save,
\r
1307 # so we have to handle eventual errors.
\r
1308 return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
\r
1310 if serializer.object is not None:
\r
1311 if not serializer.object.can_update(request.user):
\r
1312 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
1314 if self.object is None:
\r
1315 self.object = serializer.save(force_insert=True)
\r
1316 self.post_save(self.object, created=True)
\r
1317 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
1319 self.object = serializer.save(force_update=True)
\r
1320 self.post_save(self.object, created=False)
\r
1321 return Response(serializer.data, status=status.HTTP_200_OK)
1323 def destroy(self, request, *args, **kwargs):
1324 obj = self.get_object()
1325 if obj.can_update(request.user):
1326 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
1328 return Response(status=status.HTTP_400_BAD_REQUEST)
1331 # Based on core/views/*.py
1334 class ServiceAttributeList(generics.ListCreateAPIView):
1335 queryset = ServiceAttribute.objects.select_related().all()
1336 serializer_class = ServiceAttributeSerializer
1337 id_serializer_class = ServiceAttributeIdSerializer
1338 filter_backends = (filters.DjangoFilterBackend,)
1339 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
1341 def get_serializer_class(self):
1342 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1344 return self.id_serializer_class
1346 return self.serializer_class
1348 def get_queryset(self):
1349 return ServiceAttribute.select_by_user(self.request.user)
1351 def create(self, request, *args, **kwargs):
1352 obj = ServiceAttribute(**request.DATA)
1353 obj.caller = request.user
1354 if obj.can_update(request.user):
1355 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
1357 raise Exception("failed obj.can_update")
1359 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
1360 if (ret.status_code%100 != 200):
1361 raise Exception(ret.data)
1366 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1367 queryset = ServiceAttribute.objects.select_related().all()
1368 serializer_class = ServiceAttributeSerializer
1369 id_serializer_class = ServiceAttributeIdSerializer
1371 def get_serializer_class(self):
1372 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1374 return self.id_serializer_class
1376 return self.serializer_class
1378 def get_queryset(self):
1379 return ServiceAttribute.select_by_user(self.request.user)
1381 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1383 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1387 class ImageList(generics.ListCreateAPIView):
1388 queryset = Image.objects.select_related().all()
1389 serializer_class = ImageSerializer
1390 id_serializer_class = ImageIdSerializer
1391 filter_backends = (filters.DjangoFilterBackend,)
1392 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
1394 def get_serializer_class(self):
1395 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1397 return self.id_serializer_class
1399 return self.serializer_class
1401 def get_queryset(self):
1402 return Image.select_by_user(self.request.user)
1404 def create(self, request, *args, **kwargs):
1405 obj = Image(**request.DATA)
1406 obj.caller = request.user
1407 if obj.can_update(request.user):
1408 return super(ImageList, self).create(request, *args, **kwargs)
1410 raise Exception("failed obj.can_update")
1412 ret = super(ImageList, self).create(request, *args, **kwargs)
1413 if (ret.status_code%100 != 200):
1414 raise Exception(ret.data)
1419 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1420 queryset = Image.objects.select_related().all()
1421 serializer_class = ImageSerializer
1422 id_serializer_class = ImageIdSerializer
1424 def get_serializer_class(self):
1425 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1427 return self.id_serializer_class
1429 return self.serializer_class
1431 def get_queryset(self):
1432 return Image.select_by_user(self.request.user)
1434 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1436 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1440 class NetworkParameterList(generics.ListCreateAPIView):
1441 queryset = NetworkParameter.objects.select_related().all()
1442 serializer_class = NetworkParameterSerializer
1443 id_serializer_class = NetworkParameterIdSerializer
1444 filter_backends = (filters.DjangoFilterBackend,)
1445 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
1447 def get_serializer_class(self):
1448 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1450 return self.id_serializer_class
1452 return self.serializer_class
1454 def get_queryset(self):
1455 return NetworkParameter.select_by_user(self.request.user)
1457 def create(self, request, *args, **kwargs):
1458 obj = NetworkParameter(**request.DATA)
1459 obj.caller = request.user
1460 if obj.can_update(request.user):
1461 return super(NetworkParameterList, self).create(request, *args, **kwargs)
1463 raise Exception("failed obj.can_update")
1465 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
1466 if (ret.status_code%100 != 200):
1467 raise Exception(ret.data)
1472 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1473 queryset = NetworkParameter.objects.select_related().all()
1474 serializer_class = NetworkParameterSerializer
1475 id_serializer_class = NetworkParameterIdSerializer
1477 def get_serializer_class(self):
1478 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1480 return self.id_serializer_class
1482 return self.serializer_class
1484 def get_queryset(self):
1485 return NetworkParameter.select_by_user(self.request.user)
1487 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1489 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1493 class SiteList(generics.ListCreateAPIView):
1494 queryset = Site.objects.select_related().all()
1495 serializer_class = SiteSerializer
1496 id_serializer_class = SiteIdSerializer
1497 filter_backends = (filters.DjangoFilterBackend,)
1498 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
1500 def get_serializer_class(self):
1501 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1503 return self.id_serializer_class
1505 return self.serializer_class
1507 def get_queryset(self):
1508 return Site.select_by_user(self.request.user)
1510 def create(self, request, *args, **kwargs):
1511 obj = Site(**request.DATA)
1512 obj.caller = request.user
1513 if obj.can_update(request.user):
1514 return super(SiteList, self).create(request, *args, **kwargs)
1516 raise Exception("failed obj.can_update")
1518 ret = super(SiteList, self).create(request, *args, **kwargs)
1519 if (ret.status_code%100 != 200):
1520 raise Exception(ret.data)
1525 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1526 queryset = Site.objects.select_related().all()
1527 serializer_class = SiteSerializer
1528 id_serializer_class = SiteIdSerializer
1530 def get_serializer_class(self):
1531 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1533 return self.id_serializer_class
1535 return self.serializer_class
1537 def get_queryset(self):
1538 return Site.select_by_user(self.request.user)
1540 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1542 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1546 class SliceRoleList(generics.ListCreateAPIView):
1547 queryset = SliceRole.objects.select_related().all()
1548 serializer_class = SliceRoleSerializer
1549 id_serializer_class = SliceRoleIdSerializer
1550 filter_backends = (filters.DjangoFilterBackend,)
1551 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1553 def get_serializer_class(self):
1554 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1556 return self.id_serializer_class
1558 return self.serializer_class
1560 def get_queryset(self):
1561 return SliceRole.select_by_user(self.request.user)
1563 def create(self, request, *args, **kwargs):
1564 obj = SliceRole(**request.DATA)
1565 obj.caller = request.user
1566 if obj.can_update(request.user):
1567 return super(SliceRoleList, self).create(request, *args, **kwargs)
1569 raise Exception("failed obj.can_update")
1571 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
1572 if (ret.status_code%100 != 200):
1573 raise Exception(ret.data)
1578 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1579 queryset = SliceRole.objects.select_related().all()
1580 serializer_class = SliceRoleSerializer
1581 id_serializer_class = SliceRoleIdSerializer
1583 def get_serializer_class(self):
1584 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1586 return self.id_serializer_class
1588 return self.serializer_class
1590 def get_queryset(self):
1591 return SliceRole.select_by_user(self.request.user)
1593 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1595 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1599 class TagList(generics.ListCreateAPIView):
1600 queryset = Tag.objects.select_related().all()
1601 serializer_class = TagSerializer
1602 id_serializer_class = TagIdSerializer
1603 filter_backends = (filters.DjangoFilterBackend,)
1604 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
1606 def get_serializer_class(self):
1607 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1609 return self.id_serializer_class
1611 return self.serializer_class
1613 def get_queryset(self):
1614 return Tag.select_by_user(self.request.user)
1616 def create(self, request, *args, **kwargs):
1617 obj = Tag(**request.DATA)
1618 obj.caller = request.user
1619 if obj.can_update(request.user):
1620 return super(TagList, self).create(request, *args, **kwargs)
1622 raise Exception("failed obj.can_update")
1624 ret = super(TagList, self).create(request, *args, **kwargs)
1625 if (ret.status_code%100 != 200):
1626 raise Exception(ret.data)
1631 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1632 queryset = Tag.objects.select_related().all()
1633 serializer_class = TagSerializer
1634 id_serializer_class = TagIdSerializer
1636 def get_serializer_class(self):
1637 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1639 return self.id_serializer_class
1641 return self.serializer_class
1643 def get_queryset(self):
1644 return Tag.select_by_user(self.request.user)
1646 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1648 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1652 class InvoiceList(generics.ListCreateAPIView):
1653 queryset = Invoice.objects.select_related().all()
1654 serializer_class = InvoiceSerializer
1655 id_serializer_class = InvoiceIdSerializer
1656 filter_backends = (filters.DjangoFilterBackend,)
1657 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
1659 def get_serializer_class(self):
1660 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1662 return self.id_serializer_class
1664 return self.serializer_class
1666 def get_queryset(self):
1667 return Invoice.select_by_user(self.request.user)
1669 def create(self, request, *args, **kwargs):
1670 obj = Invoice(**request.DATA)
1671 obj.caller = request.user
1672 if obj.can_update(request.user):
1673 return super(InvoiceList, self).create(request, *args, **kwargs)
1675 raise Exception("failed obj.can_update")
1677 ret = super(InvoiceList, self).create(request, *args, **kwargs)
1678 if (ret.status_code%100 != 200):
1679 raise Exception(ret.data)
1684 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1685 queryset = Invoice.objects.select_related().all()
1686 serializer_class = InvoiceSerializer
1687 id_serializer_class = InvoiceIdSerializer
1689 def get_serializer_class(self):
1690 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1692 return self.id_serializer_class
1694 return self.serializer_class
1696 def get_queryset(self):
1697 return Invoice.select_by_user(self.request.user)
1699 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1701 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1705 class SlicePrivilegeList(generics.ListCreateAPIView):
1706 queryset = SlicePrivilege.objects.select_related().all()
1707 serializer_class = SlicePrivilegeSerializer
1708 id_serializer_class = SlicePrivilegeIdSerializer
1709 filter_backends = (filters.DjangoFilterBackend,)
1710 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
1712 def get_serializer_class(self):
1713 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1715 return self.id_serializer_class
1717 return self.serializer_class
1719 def get_queryset(self):
1720 return SlicePrivilege.select_by_user(self.request.user)
1722 def create(self, request, *args, **kwargs):
1723 obj = SlicePrivilege(**request.DATA)
1724 obj.caller = request.user
1725 if obj.can_update(request.user):
1726 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1728 raise Exception("failed obj.can_update")
1730 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1731 if (ret.status_code%100 != 200):
1732 raise Exception(ret.data)
1737 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1738 queryset = SlicePrivilege.objects.select_related().all()
1739 serializer_class = SlicePrivilegeSerializer
1740 id_serializer_class = SlicePrivilegeIdSerializer
1742 def get_serializer_class(self):
1743 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1745 return self.id_serializer_class
1747 return self.serializer_class
1749 def get_queryset(self):
1750 return SlicePrivilege.select_by_user(self.request.user)
1752 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1754 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1758 class PlanetStackRoleList(generics.ListCreateAPIView):
1759 queryset = PlanetStackRole.objects.select_related().all()
1760 serializer_class = PlanetStackRoleSerializer
1761 id_serializer_class = PlanetStackRoleIdSerializer
1762 filter_backends = (filters.DjangoFilterBackend,)
1763 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1765 def get_serializer_class(self):
1766 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1768 return self.id_serializer_class
1770 return self.serializer_class
1772 def get_queryset(self):
1773 return PlanetStackRole.select_by_user(self.request.user)
1775 def create(self, request, *args, **kwargs):
1776 obj = PlanetStackRole(**request.DATA)
1777 obj.caller = request.user
1778 if obj.can_update(request.user):
1779 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1781 raise Exception("failed obj.can_update")
1783 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1784 if (ret.status_code%100 != 200):
1785 raise Exception(ret.data)
1790 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1791 queryset = PlanetStackRole.objects.select_related().all()
1792 serializer_class = PlanetStackRoleSerializer
1793 id_serializer_class = PlanetStackRoleIdSerializer
1795 def get_serializer_class(self):
1796 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1798 return self.id_serializer_class
1800 return self.serializer_class
1802 def get_queryset(self):
1803 return PlanetStackRole.select_by_user(self.request.user)
1805 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1807 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1811 class NetworkSliverList(generics.ListCreateAPIView):
1812 queryset = NetworkSliver.objects.select_related().all()
1813 serializer_class = NetworkSliverSerializer
1814 id_serializer_class = NetworkSliverIdSerializer
1815 filter_backends = (filters.DjangoFilterBackend,)
1816 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
1818 def get_serializer_class(self):
1819 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1821 return self.id_serializer_class
1823 return self.serializer_class
1825 def get_queryset(self):
1826 return NetworkSliver.select_by_user(self.request.user)
1828 def create(self, request, *args, **kwargs):
1829 obj = NetworkSliver(**request.DATA)
1830 obj.caller = request.user
1831 if obj.can_update(request.user):
1832 return super(NetworkSliverList, self).create(request, *args, **kwargs)
1834 raise Exception("failed obj.can_update")
1836 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
1837 if (ret.status_code%100 != 200):
1838 raise Exception(ret.data)
1843 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1844 queryset = NetworkSliver.objects.select_related().all()
1845 serializer_class = NetworkSliverSerializer
1846 id_serializer_class = NetworkSliverIdSerializer
1848 def get_serializer_class(self):
1849 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1851 return self.id_serializer_class
1853 return self.serializer_class
1855 def get_queryset(self):
1856 return NetworkSliver.select_by_user(self.request.user)
1858 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1860 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1864 class NetworkDeploymentsList(generics.ListCreateAPIView):
1865 queryset = NetworkDeployments.objects.select_related().all()
1866 serializer_class = NetworkDeploymentsSerializer
1867 id_serializer_class = NetworkDeploymentsIdSerializer
1868 filter_backends = (filters.DjangoFilterBackend,)
1869 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
1871 def get_serializer_class(self):
1872 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1874 return self.id_serializer_class
1876 return self.serializer_class
1878 def get_queryset(self):
1879 return NetworkDeployments.select_by_user(self.request.user)
1881 def create(self, request, *args, **kwargs):
1882 obj = NetworkDeployments(**request.DATA)
1883 obj.caller = request.user
1884 if obj.can_update(request.user):
1885 return super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
1887 raise Exception("failed obj.can_update")
1889 ret = super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
1890 if (ret.status_code%100 != 200):
1891 raise Exception(ret.data)
1896 class NetworkDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1897 queryset = NetworkDeployments.objects.select_related().all()
1898 serializer_class = NetworkDeploymentsSerializer
1899 id_serializer_class = NetworkDeploymentsIdSerializer
1901 def get_serializer_class(self):
1902 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1904 return self.id_serializer_class
1906 return self.serializer_class
1908 def get_queryset(self):
1909 return NetworkDeployments.select_by_user(self.request.user)
1911 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1913 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1917 class FlavorList(generics.ListCreateAPIView):
1918 queryset = Flavor.objects.select_related().all()
1919 serializer_class = FlavorSerializer
1920 id_serializer_class = FlavorIdSerializer
1921 filter_backends = (filters.DjangoFilterBackend,)
1922 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
1924 def get_serializer_class(self):
1925 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1927 return self.id_serializer_class
1929 return self.serializer_class
1931 def get_queryset(self):
1932 return Flavor.select_by_user(self.request.user)
1934 def create(self, request, *args, **kwargs):
1935 obj = Flavor(**request.DATA)
1936 obj.caller = request.user
1937 if obj.can_update(request.user):
1938 return super(FlavorList, self).create(request, *args, **kwargs)
1940 raise Exception("failed obj.can_update")
1942 ret = super(FlavorList, self).create(request, *args, **kwargs)
1943 if (ret.status_code%100 != 200):
1944 raise Exception(ret.data)
1949 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1950 queryset = Flavor.objects.select_related().all()
1951 serializer_class = FlavorSerializer
1952 id_serializer_class = FlavorIdSerializer
1954 def get_serializer_class(self):
1955 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1957 return self.id_serializer_class
1959 return self.serializer_class
1961 def get_queryset(self):
1962 return Flavor.select_by_user(self.request.user)
1964 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1966 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1970 class ProjectList(generics.ListCreateAPIView):
1971 queryset = Project.objects.select_related().all()
1972 serializer_class = ProjectSerializer
1973 id_serializer_class = ProjectIdSerializer
1974 filter_backends = (filters.DjangoFilterBackend,)
1975 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
1977 def get_serializer_class(self):
1978 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1980 return self.id_serializer_class
1982 return self.serializer_class
1984 def get_queryset(self):
1985 return Project.select_by_user(self.request.user)
1987 def create(self, request, *args, **kwargs):
1988 obj = Project(**request.DATA)
1989 obj.caller = request.user
1990 if obj.can_update(request.user):
1991 return super(ProjectList, self).create(request, *args, **kwargs)
1993 raise Exception("failed obj.can_update")
1995 ret = super(ProjectList, self).create(request, *args, **kwargs)
1996 if (ret.status_code%100 != 200):
1997 raise Exception(ret.data)
2002 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2003 queryset = Project.objects.select_related().all()
2004 serializer_class = ProjectSerializer
2005 id_serializer_class = ProjectIdSerializer
2007 def get_serializer_class(self):
2008 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2010 return self.id_serializer_class
2012 return self.serializer_class
2014 def get_queryset(self):
2015 return Project.select_by_user(self.request.user)
2017 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2019 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2023 class SliceList(generics.ListCreateAPIView):
2024 queryset = Slice.objects.select_related().all()
2025 serializer_class = SliceSerializer
2026 id_serializer_class = SliceIdSerializer
2027 filter_backends = (filters.DjangoFilterBackend,)
2028 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','availableNetworks','networks','networks',)
2030 def get_serializer_class(self):
2031 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2033 return self.id_serializer_class
2035 return self.serializer_class
2037 def get_queryset(self):
2038 return Slice.select_by_user(self.request.user)
2040 def create(self, request, *args, **kwargs):
2041 obj = Slice(**request.DATA)
2042 obj.caller = request.user
2043 if obj.can_update(request.user):
2044 return super(SliceList, self).create(request, *args, **kwargs)
2046 raise Exception("failed obj.can_update")
2048 ret = super(SliceList, self).create(request, *args, **kwargs)
2049 if (ret.status_code%100 != 200):
2050 raise Exception(ret.data)
2055 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2056 queryset = Slice.objects.select_related().all()
2057 serializer_class = SliceSerializer
2058 id_serializer_class = SliceIdSerializer
2060 def get_serializer_class(self):
2061 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2063 return self.id_serializer_class
2065 return self.serializer_class
2067 def get_queryset(self):
2068 return Slice.select_by_user(self.request.user)
2070 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2072 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2076 class NetworkList(generics.ListCreateAPIView):
2077 queryset = Network.objects.select_related().all()
2078 serializer_class = NetworkSerializer
2079 id_serializer_class = NetworkIdSerializer
2080 filter_backends = (filters.DjangoFilterBackend,)
2081 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
2083 def get_serializer_class(self):
2084 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2086 return self.id_serializer_class
2088 return self.serializer_class
2090 def get_queryset(self):
2091 return Network.select_by_user(self.request.user)
2093 def create(self, request, *args, **kwargs):
2094 obj = Network(**request.DATA)
2095 obj.caller = request.user
2096 if obj.can_update(request.user):
2097 return super(NetworkList, self).create(request, *args, **kwargs)
2099 raise Exception("failed obj.can_update")
2101 ret = super(NetworkList, self).create(request, *args, **kwargs)
2102 if (ret.status_code%100 != 200):
2103 raise Exception(ret.data)
2108 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2109 queryset = Network.objects.select_related().all()
2110 serializer_class = NetworkSerializer
2111 id_serializer_class = NetworkIdSerializer
2113 def get_serializer_class(self):
2114 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2116 return self.id_serializer_class
2118 return self.serializer_class
2120 def get_queryset(self):
2121 return Network.select_by_user(self.request.user)
2123 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2125 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2129 class ServiceList(generics.ListCreateAPIView):
2130 queryset = Service.objects.select_related().all()
2131 serializer_class = ServiceSerializer
2132 id_serializer_class = ServiceIdSerializer
2133 filter_backends = (filters.DjangoFilterBackend,)
2134 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
2136 def get_serializer_class(self):
2137 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2139 return self.id_serializer_class
2141 return self.serializer_class
2143 def get_queryset(self):
2144 return Service.select_by_user(self.request.user)
2146 def create(self, request, *args, **kwargs):
2147 obj = Service(**request.DATA)
2148 obj.caller = request.user
2149 if obj.can_update(request.user):
2150 return super(ServiceList, self).create(request, *args, **kwargs)
2152 raise Exception("failed obj.can_update")
2154 ret = super(ServiceList, self).create(request, *args, **kwargs)
2155 if (ret.status_code%100 != 200):
2156 raise Exception(ret.data)
2161 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2162 queryset = Service.objects.select_related().all()
2163 serializer_class = ServiceSerializer
2164 id_serializer_class = ServiceIdSerializer
2166 def get_serializer_class(self):
2167 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2169 return self.id_serializer_class
2171 return self.serializer_class
2173 def get_queryset(self):
2174 return Service.select_by_user(self.request.user)
2176 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2178 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2182 class ServiceClassList(generics.ListCreateAPIView):
2183 queryset = ServiceClass.objects.select_related().all()
2184 serializer_class = ServiceClassSerializer
2185 id_serializer_class = ServiceClassIdSerializer
2186 filter_backends = (filters.DjangoFilterBackend,)
2187 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
2189 def get_serializer_class(self):
2190 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2192 return self.id_serializer_class
2194 return self.serializer_class
2196 def get_queryset(self):
2197 return ServiceClass.select_by_user(self.request.user)
2199 def create(self, request, *args, **kwargs):
2200 obj = ServiceClass(**request.DATA)
2201 obj.caller = request.user
2202 if obj.can_update(request.user):
2203 return super(ServiceClassList, self).create(request, *args, **kwargs)
2205 raise Exception("failed obj.can_update")
2207 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
2208 if (ret.status_code%100 != 200):
2209 raise Exception(ret.data)
2214 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2215 queryset = ServiceClass.objects.select_related().all()
2216 serializer_class = ServiceClassSerializer
2217 id_serializer_class = ServiceClassIdSerializer
2219 def get_serializer_class(self):
2220 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2222 return self.id_serializer_class
2224 return self.serializer_class
2226 def get_queryset(self):
2227 return ServiceClass.select_by_user(self.request.user)
2229 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2231 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2235 class PaymentList(generics.ListCreateAPIView):
2236 queryset = Payment.objects.select_related().all()
2237 serializer_class = PaymentSerializer
2238 id_serializer_class = PaymentIdSerializer
2239 filter_backends = (filters.DjangoFilterBackend,)
2240 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
2242 def get_serializer_class(self):
2243 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2245 return self.id_serializer_class
2247 return self.serializer_class
2249 def get_queryset(self):
2250 return Payment.select_by_user(self.request.user)
2252 def create(self, request, *args, **kwargs):
2253 obj = Payment(**request.DATA)
2254 obj.caller = request.user
2255 if obj.can_update(request.user):
2256 return super(PaymentList, self).create(request, *args, **kwargs)
2258 raise Exception("failed obj.can_update")
2260 ret = super(PaymentList, self).create(request, *args, **kwargs)
2261 if (ret.status_code%100 != 200):
2262 raise Exception(ret.data)
2267 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2268 queryset = Payment.objects.select_related().all()
2269 serializer_class = PaymentSerializer
2270 id_serializer_class = PaymentIdSerializer
2272 def get_serializer_class(self):
2273 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2275 return self.id_serializer_class
2277 return self.serializer_class
2279 def get_queryset(self):
2280 return Payment.select_by_user(self.request.user)
2282 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2284 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2288 class ChargeList(generics.ListCreateAPIView):
2289 queryset = Charge.objects.select_related().all()
2290 serializer_class = ChargeSerializer
2291 id_serializer_class = ChargeIdSerializer
2292 filter_backends = (filters.DjangoFilterBackend,)
2293 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
2295 def get_serializer_class(self):
2296 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2298 return self.id_serializer_class
2300 return self.serializer_class
2302 def get_queryset(self):
2303 return Charge.select_by_user(self.request.user)
2305 def create(self, request, *args, **kwargs):
2306 obj = Charge(**request.DATA)
2307 obj.caller = request.user
2308 if obj.can_update(request.user):
2309 return super(ChargeList, self).create(request, *args, **kwargs)
2311 raise Exception("failed obj.can_update")
2313 ret = super(ChargeList, self).create(request, *args, **kwargs)
2314 if (ret.status_code%100 != 200):
2315 raise Exception(ret.data)
2320 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2321 queryset = Charge.objects.select_related().all()
2322 serializer_class = ChargeSerializer
2323 id_serializer_class = ChargeIdSerializer
2325 def get_serializer_class(self):
2326 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2328 return self.id_serializer_class
2330 return self.serializer_class
2332 def get_queryset(self):
2333 return Charge.select_by_user(self.request.user)
2335 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2337 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2341 class RoleList(generics.ListCreateAPIView):
2342 queryset = Role.objects.select_related().all()
2343 serializer_class = RoleSerializer
2344 id_serializer_class = RoleIdSerializer
2345 filter_backends = (filters.DjangoFilterBackend,)
2346 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
2348 def get_serializer_class(self):
2349 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2351 return self.id_serializer_class
2353 return self.serializer_class
2355 def get_queryset(self):
2356 return Role.select_by_user(self.request.user)
2358 def create(self, request, *args, **kwargs):
2359 obj = Role(**request.DATA)
2360 obj.caller = request.user
2361 if obj.can_update(request.user):
2362 return super(RoleList, self).create(request, *args, **kwargs)
2364 raise Exception("failed obj.can_update")
2366 ret = super(RoleList, self).create(request, *args, **kwargs)
2367 if (ret.status_code%100 != 200):
2368 raise Exception(ret.data)
2373 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2374 queryset = Role.objects.select_related().all()
2375 serializer_class = RoleSerializer
2376 id_serializer_class = RoleIdSerializer
2378 def get_serializer_class(self):
2379 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2381 return self.id_serializer_class
2383 return self.serializer_class
2385 def get_queryset(self):
2386 return Role.select_by_user(self.request.user)
2388 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2390 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2394 class UsableObjectList(generics.ListCreateAPIView):
2395 queryset = UsableObject.objects.select_related().all()
2396 serializer_class = UsableObjectSerializer
2397 id_serializer_class = UsableObjectIdSerializer
2398 filter_backends = (filters.DjangoFilterBackend,)
2399 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
2401 def get_serializer_class(self):
2402 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2404 return self.id_serializer_class
2406 return self.serializer_class
2408 def get_queryset(self):
2409 return UsableObject.select_by_user(self.request.user)
2411 def create(self, request, *args, **kwargs):
2412 obj = UsableObject(**request.DATA)
2413 obj.caller = request.user
2414 if obj.can_update(request.user):
2415 return super(UsableObjectList, self).create(request, *args, **kwargs)
2417 raise Exception("failed obj.can_update")
2419 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
2420 if (ret.status_code%100 != 200):
2421 raise Exception(ret.data)
2426 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2427 queryset = UsableObject.objects.select_related().all()
2428 serializer_class = UsableObjectSerializer
2429 id_serializer_class = UsableObjectIdSerializer
2431 def get_serializer_class(self):
2432 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2434 return self.id_serializer_class
2436 return self.serializer_class
2438 def get_queryset(self):
2439 return UsableObject.select_by_user(self.request.user)
2441 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2443 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2447 class SiteRoleList(generics.ListCreateAPIView):
2448 queryset = SiteRole.objects.select_related().all()
2449 serializer_class = SiteRoleSerializer
2450 id_serializer_class = SiteRoleIdSerializer
2451 filter_backends = (filters.DjangoFilterBackend,)
2452 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2454 def get_serializer_class(self):
2455 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2457 return self.id_serializer_class
2459 return self.serializer_class
2461 def get_queryset(self):
2462 return SiteRole.select_by_user(self.request.user)
2464 def create(self, request, *args, **kwargs):
2465 obj = SiteRole(**request.DATA)
2466 obj.caller = request.user
2467 if obj.can_update(request.user):
2468 return super(SiteRoleList, self).create(request, *args, **kwargs)
2470 raise Exception("failed obj.can_update")
2472 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
2473 if (ret.status_code%100 != 200):
2474 raise Exception(ret.data)
2479 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2480 queryset = SiteRole.objects.select_related().all()
2481 serializer_class = SiteRoleSerializer
2482 id_serializer_class = SiteRoleIdSerializer
2484 def get_serializer_class(self):
2485 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2487 return self.id_serializer_class
2489 return self.serializer_class
2491 def get_queryset(self):
2492 return SiteRole.select_by_user(self.request.user)
2494 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2496 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2500 class SliceCredentialList(generics.ListCreateAPIView):
2501 queryset = SliceCredential.objects.select_related().all()
2502 serializer_class = SliceCredentialSerializer
2503 id_serializer_class = SliceCredentialIdSerializer
2504 filter_backends = (filters.DjangoFilterBackend,)
2505 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
2507 def get_serializer_class(self):
2508 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2510 return self.id_serializer_class
2512 return self.serializer_class
2514 def get_queryset(self):
2515 return SliceCredential.select_by_user(self.request.user)
2517 def create(self, request, *args, **kwargs):
2518 obj = SliceCredential(**request.DATA)
2519 obj.caller = request.user
2520 if obj.can_update(request.user):
2521 return super(SliceCredentialList, self).create(request, *args, **kwargs)
2523 raise Exception("failed obj.can_update")
2525 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
2526 if (ret.status_code%100 != 200):
2527 raise Exception(ret.data)
2532 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2533 queryset = SliceCredential.objects.select_related().all()
2534 serializer_class = SliceCredentialSerializer
2535 id_serializer_class = SliceCredentialIdSerializer
2537 def get_serializer_class(self):
2538 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2540 return self.id_serializer_class
2542 return self.serializer_class
2544 def get_queryset(self):
2545 return SliceCredential.select_by_user(self.request.user)
2547 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2549 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2553 class SliverList(generics.ListCreateAPIView):
2554 queryset = Sliver.objects.select_related().all()
2555 serializer_class = SliverSerializer
2556 id_serializer_class = SliverIdSerializer
2557 filter_backends = (filters.DjangoFilterBackend,)
2558 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
2560 def get_serializer_class(self):
2561 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2563 return self.id_serializer_class
2565 return self.serializer_class
2567 def get_queryset(self):
2568 return Sliver.select_by_user(self.request.user)
2570 def create(self, request, *args, **kwargs):
2571 obj = Sliver(**request.DATA)
2572 obj.caller = request.user
2573 if obj.can_update(request.user):
2574 return super(SliverList, self).create(request, *args, **kwargs)
2576 raise Exception("failed obj.can_update")
2578 ret = super(SliverList, self).create(request, *args, **kwargs)
2579 if (ret.status_code%100 != 200):
2580 raise Exception(ret.data)
2585 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2586 queryset = Sliver.objects.select_related().all()
2587 serializer_class = SliverSerializer
2588 id_serializer_class = SliverIdSerializer
2590 def get_serializer_class(self):
2591 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2593 return self.id_serializer_class
2595 return self.serializer_class
2597 def get_queryset(self):
2598 return Sliver.select_by_user(self.request.user)
2600 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2602 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2606 class NodeList(generics.ListCreateAPIView):
2607 queryset = Node.objects.select_related().all()
2608 serializer_class = NodeSerializer
2609 id_serializer_class = NodeIdSerializer
2610 filter_backends = (filters.DjangoFilterBackend,)
2611 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
2613 def get_serializer_class(self):
2614 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2616 return self.id_serializer_class
2618 return self.serializer_class
2620 def get_queryset(self):
2621 return Node.select_by_user(self.request.user)
2623 def create(self, request, *args, **kwargs):
2624 obj = Node(**request.DATA)
2625 obj.caller = request.user
2626 if obj.can_update(request.user):
2627 return super(NodeList, self).create(request, *args, **kwargs)
2629 raise Exception("failed obj.can_update")
2631 ret = super(NodeList, self).create(request, *args, **kwargs)
2632 if (ret.status_code%100 != 200):
2633 raise Exception(ret.data)
2638 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2639 queryset = Node.objects.select_related().all()
2640 serializer_class = NodeSerializer
2641 id_serializer_class = NodeIdSerializer
2643 def get_serializer_class(self):
2644 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2646 return self.id_serializer_class
2648 return self.serializer_class
2650 def get_queryset(self):
2651 return Node.select_by_user(self.request.user)
2653 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2655 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2659 class DashboardViewList(generics.ListCreateAPIView):
2660 queryset = DashboardView.objects.select_related().all()
2661 serializer_class = DashboardViewSerializer
2662 id_serializer_class = DashboardViewIdSerializer
2663 filter_backends = (filters.DjangoFilterBackend,)
2664 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
2666 def get_serializer_class(self):
2667 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2669 return self.id_serializer_class
2671 return self.serializer_class
2673 def get_queryset(self):
2674 return DashboardView.select_by_user(self.request.user)
2676 def create(self, request, *args, **kwargs):
2677 obj = DashboardView(**request.DATA)
2678 obj.caller = request.user
2679 if obj.can_update(request.user):
2680 return super(DashboardViewList, self).create(request, *args, **kwargs)
2682 raise Exception("failed obj.can_update")
2684 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
2685 if (ret.status_code%100 != 200):
2686 raise Exception(ret.data)
2691 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2692 queryset = DashboardView.objects.select_related().all()
2693 serializer_class = DashboardViewSerializer
2694 id_serializer_class = DashboardViewIdSerializer
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 DashboardView.select_by_user(self.request.user)
2706 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2708 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2712 class ImageDeploymentsList(generics.ListCreateAPIView):
2713 queryset = ImageDeployments.objects.select_related().all()
2714 serializer_class = ImageDeploymentsSerializer
2715 id_serializer_class = ImageDeploymentsIdSerializer
2716 filter_backends = (filters.DjangoFilterBackend,)
2717 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
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 ImageDeployments.select_by_user(self.request.user)
2729 def create(self, request, *args, **kwargs):
2730 obj = ImageDeployments(**request.DATA)
2731 obj.caller = request.user
2732 if obj.can_update(request.user):
2733 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2735 raise Exception("failed obj.can_update")
2737 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2738 if (ret.status_code%100 != 200):
2739 raise Exception(ret.data)
2744 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2745 queryset = ImageDeployments.objects.select_related().all()
2746 serializer_class = ImageDeploymentsSerializer
2747 id_serializer_class = ImageDeploymentsIdSerializer
2749 def get_serializer_class(self):
2750 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2752 return self.id_serializer_class
2754 return self.serializer_class
2756 def get_queryset(self):
2757 return ImageDeployments.select_by_user(self.request.user)
2759 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2761 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2765 class ReservedResourceList(generics.ListCreateAPIView):
2766 queryset = ReservedResource.objects.select_related().all()
2767 serializer_class = ReservedResourceSerializer
2768 id_serializer_class = ReservedResourceIdSerializer
2769 filter_backends = (filters.DjangoFilterBackend,)
2770 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
2772 def get_serializer_class(self):
2773 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2775 return self.id_serializer_class
2777 return self.serializer_class
2779 def get_queryset(self):
2780 return ReservedResource.select_by_user(self.request.user)
2782 def create(self, request, *args, **kwargs):
2783 obj = ReservedResource(**request.DATA)
2784 obj.caller = request.user
2785 if obj.can_update(request.user):
2786 return super(ReservedResourceList, self).create(request, *args, **kwargs)
2788 raise Exception("failed obj.can_update")
2790 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
2791 if (ret.status_code%100 != 200):
2792 raise Exception(ret.data)
2797 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2798 queryset = ReservedResource.objects.select_related().all()
2799 serializer_class = ReservedResourceSerializer
2800 id_serializer_class = ReservedResourceIdSerializer
2802 def get_serializer_class(self):
2803 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2805 return self.id_serializer_class
2807 return self.serializer_class
2809 def get_queryset(self):
2810 return ReservedResource.select_by_user(self.request.user)
2812 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2814 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2818 class NetworkSliceList(generics.ListCreateAPIView):
2819 queryset = NetworkSlice.objects.select_related().all()
2820 serializer_class = NetworkSliceSerializer
2821 id_serializer_class = NetworkSliceIdSerializer
2822 filter_backends = (filters.DjangoFilterBackend,)
2823 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
2825 def get_serializer_class(self):
2826 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2828 return self.id_serializer_class
2830 return self.serializer_class
2832 def get_queryset(self):
2833 return NetworkSlice.select_by_user(self.request.user)
2835 def create(self, request, *args, **kwargs):
2836 obj = NetworkSlice(**request.DATA)
2837 obj.caller = request.user
2838 if obj.can_update(request.user):
2839 return super(NetworkSliceList, self).create(request, *args, **kwargs)
2841 raise Exception("failed obj.can_update")
2843 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
2844 if (ret.status_code%100 != 200):
2845 raise Exception(ret.data)
2850 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2851 queryset = NetworkSlice.objects.select_related().all()
2852 serializer_class = NetworkSliceSerializer
2853 id_serializer_class = NetworkSliceIdSerializer
2855 def get_serializer_class(self):
2856 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2858 return self.id_serializer_class
2860 return self.serializer_class
2862 def get_queryset(self):
2863 return NetworkSlice.select_by_user(self.request.user)
2865 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2867 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2871 class UserDashboardViewList(generics.ListCreateAPIView):
2872 queryset = UserDashboardView.objects.select_related().all()
2873 serializer_class = UserDashboardViewSerializer
2874 id_serializer_class = UserDashboardViewIdSerializer
2875 filter_backends = (filters.DjangoFilterBackend,)
2876 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
2878 def get_serializer_class(self):
2879 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2881 return self.id_serializer_class
2883 return self.serializer_class
2885 def get_queryset(self):
2886 return UserDashboardView.select_by_user(self.request.user)
2888 def create(self, request, *args, **kwargs):
2889 obj = UserDashboardView(**request.DATA)
2890 obj.caller = request.user
2891 if obj.can_update(request.user):
2892 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
2894 raise Exception("failed obj.can_update")
2896 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
2897 if (ret.status_code%100 != 200):
2898 raise Exception(ret.data)
2903 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2904 queryset = UserDashboardView.objects.select_related().all()
2905 serializer_class = UserDashboardViewSerializer
2906 id_serializer_class = UserDashboardViewIdSerializer
2908 def get_serializer_class(self):
2909 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2911 return self.id_serializer_class
2913 return self.serializer_class
2915 def get_queryset(self):
2916 return UserDashboardView.select_by_user(self.request.user)
2918 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2920 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2924 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
2925 queryset = PlanetStackPrivilege.objects.select_related().all()
2926 serializer_class = PlanetStackPrivilegeSerializer
2927 id_serializer_class = PlanetStackPrivilegeIdSerializer
2928 filter_backends = (filters.DjangoFilterBackend,)
2929 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
2931 def get_serializer_class(self):
2932 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2934 return self.id_serializer_class
2936 return self.serializer_class
2938 def get_queryset(self):
2939 return PlanetStackPrivilege.select_by_user(self.request.user)
2941 def create(self, request, *args, **kwargs):
2942 obj = PlanetStackPrivilege(**request.DATA)
2943 obj.caller = request.user
2944 if obj.can_update(request.user):
2945 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2947 raise Exception("failed obj.can_update")
2949 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2950 if (ret.status_code%100 != 200):
2951 raise Exception(ret.data)
2956 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2957 queryset = PlanetStackPrivilege.objects.select_related().all()
2958 serializer_class = PlanetStackPrivilegeSerializer
2959 id_serializer_class = PlanetStackPrivilegeIdSerializer
2961 def get_serializer_class(self):
2962 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2964 return self.id_serializer_class
2966 return self.serializer_class
2968 def get_queryset(self):
2969 return PlanetStackPrivilege.select_by_user(self.request.user)
2971 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2973 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2977 class UserList(generics.ListCreateAPIView):
2978 queryset = User.objects.select_related().all()
2979 serializer_class = UserSerializer
2980 id_serializer_class = UserIdSerializer
2981 filter_backends = (filters.DjangoFilterBackend,)
2982 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',)
2984 def get_serializer_class(self):
2985 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2987 return self.id_serializer_class
2989 return self.serializer_class
2991 def get_queryset(self):
2992 return User.select_by_user(self.request.user)
2994 def create(self, request, *args, **kwargs):
2995 obj = User(**request.DATA)
2996 obj.caller = request.user
2997 if obj.can_update(request.user):
2998 return super(UserList, self).create(request, *args, **kwargs)
3000 raise Exception("failed obj.can_update")
3002 ret = super(UserList, self).create(request, *args, **kwargs)
3003 if (ret.status_code%100 != 200):
3004 raise Exception(ret.data)
3009 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3010 queryset = User.objects.select_related().all()
3011 serializer_class = UserSerializer
3012 id_serializer_class = UserIdSerializer
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 User.select_by_user(self.request.user)
3024 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3026 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3030 class DeploymentList(generics.ListCreateAPIView):
3031 queryset = Deployment.objects.select_related().all()
3032 serializer_class = DeploymentSerializer
3033 id_serializer_class = DeploymentIdSerializer
3034 filter_backends = (filters.DjangoFilterBackend,)
3035 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
3037 def get_serializer_class(self):
3038 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3040 return self.id_serializer_class
3042 return self.serializer_class
3044 def get_queryset(self):
3045 return Deployment.select_by_user(self.request.user)
3047 def create(self, request, *args, **kwargs):
3048 obj = Deployment(**request.DATA)
3049 obj.caller = request.user
3050 if obj.can_update(request.user):
3051 return super(DeploymentList, self).create(request, *args, **kwargs)
3053 raise Exception("failed obj.can_update")
3055 ret = super(DeploymentList, self).create(request, *args, **kwargs)
3056 if (ret.status_code%100 != 200):
3057 raise Exception(ret.data)
3062 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3063 queryset = Deployment.objects.select_related().all()
3064 serializer_class = DeploymentSerializer
3065 id_serializer_class = DeploymentIdSerializer
3067 def get_serializer_class(self):
3068 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3070 return self.id_serializer_class
3072 return self.serializer_class
3074 def get_queryset(self):
3075 return Deployment.select_by_user(self.request.user)
3077 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3079 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3083 class ReservationList(generics.ListCreateAPIView):
3084 queryset = Reservation.objects.select_related().all()
3085 serializer_class = ReservationSerializer
3086 id_serializer_class = ReservationIdSerializer
3087 filter_backends = (filters.DjangoFilterBackend,)
3088 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
3090 def get_serializer_class(self):
3091 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3093 return self.id_serializer_class
3095 return self.serializer_class
3097 def get_queryset(self):
3098 return Reservation.select_by_user(self.request.user)
3100 def create(self, request, *args, **kwargs):
3101 obj = Reservation(**request.DATA)
3102 obj.caller = request.user
3103 if obj.can_update(request.user):
3104 return super(ReservationList, self).create(request, *args, **kwargs)
3106 raise Exception("failed obj.can_update")
3108 ret = super(ReservationList, self).create(request, *args, **kwargs)
3109 if (ret.status_code%100 != 200):
3110 raise Exception(ret.data)
3115 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3116 queryset = Reservation.objects.select_related().all()
3117 serializer_class = ReservationSerializer
3118 id_serializer_class = ReservationIdSerializer
3120 def get_serializer_class(self):
3121 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3123 return self.id_serializer_class
3125 return self.serializer_class
3127 def get_queryset(self):
3128 return Reservation.select_by_user(self.request.user)
3130 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3132 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3136 class SliceDeploymentsList(generics.ListCreateAPIView):
3137 queryset = SliceDeployments.objects.select_related().all()
3138 serializer_class = SliceDeploymentsSerializer
3139 id_serializer_class = SliceDeploymentsIdSerializer
3140 filter_backends = (filters.DjangoFilterBackend,)
3141 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
3143 def get_serializer_class(self):
3144 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3146 return self.id_serializer_class
3148 return self.serializer_class
3150 def get_queryset(self):
3151 return SliceDeployments.select_by_user(self.request.user)
3153 def create(self, request, *args, **kwargs):
3154 obj = SliceDeployments(**request.DATA)
3155 obj.caller = request.user
3156 if obj.can_update(request.user):
3157 return super(SliceDeploymentsList, self).create(request, *args, **kwargs)
3159 raise Exception("failed obj.can_update")
3161 ret = super(SliceDeploymentsList, self).create(request, *args, **kwargs)
3162 if (ret.status_code%100 != 200):
3163 raise Exception(ret.data)
3168 class SliceDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3169 queryset = SliceDeployments.objects.select_related().all()
3170 serializer_class = SliceDeploymentsSerializer
3171 id_serializer_class = SliceDeploymentsIdSerializer
3173 def get_serializer_class(self):
3174 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3176 return self.id_serializer_class
3178 return self.serializer_class
3180 def get_queryset(self):
3181 return SliceDeployments.select_by_user(self.request.user)
3183 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3185 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3189 class SitePrivilegeList(generics.ListCreateAPIView):
3190 queryset = SitePrivilege.objects.select_related().all()
3191 serializer_class = SitePrivilegeSerializer
3192 id_serializer_class = SitePrivilegeIdSerializer
3193 filter_backends = (filters.DjangoFilterBackend,)
3194 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
3196 def get_serializer_class(self):
3197 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3199 return self.id_serializer_class
3201 return self.serializer_class
3203 def get_queryset(self):
3204 return SitePrivilege.select_by_user(self.request.user)
3206 def create(self, request, *args, **kwargs):
3207 obj = SitePrivilege(**request.DATA)
3208 obj.caller = request.user
3209 if obj.can_update(request.user):
3210 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
3212 raise Exception("failed obj.can_update")
3214 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
3215 if (ret.status_code%100 != 200):
3216 raise Exception(ret.data)
3221 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3222 queryset = SitePrivilege.objects.select_related().all()
3223 serializer_class = SitePrivilegeSerializer
3224 id_serializer_class = SitePrivilegeIdSerializer
3226 def get_serializer_class(self):
3227 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3229 return self.id_serializer_class
3231 return self.serializer_class
3233 def get_queryset(self):
3234 return SitePrivilege.select_by_user(self.request.user)
3236 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3238 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3242 class PlanetStackList(generics.ListCreateAPIView):
3243 queryset = PlanetStack.objects.select_related().all()
3244 serializer_class = PlanetStackSerializer
3245 id_serializer_class = PlanetStackIdSerializer
3246 filter_backends = (filters.DjangoFilterBackend,)
3247 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
3249 def get_serializer_class(self):
3250 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3252 return self.id_serializer_class
3254 return self.serializer_class
3256 def get_queryset(self):
3257 return PlanetStack.select_by_user(self.request.user)
3259 def create(self, request, *args, **kwargs):
3260 obj = PlanetStack(**request.DATA)
3261 obj.caller = request.user
3262 if obj.can_update(request.user):
3263 return super(PlanetStackList, self).create(request, *args, **kwargs)
3265 raise Exception("failed obj.can_update")
3267 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
3268 if (ret.status_code%100 != 200):
3269 raise Exception(ret.data)
3274 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3275 queryset = PlanetStack.objects.select_related().all()
3276 serializer_class = PlanetStackSerializer
3277 id_serializer_class = PlanetStackIdSerializer
3279 def get_serializer_class(self):
3280 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3282 return self.id_serializer_class
3284 return self.serializer_class
3286 def get_queryset(self):
3287 return PlanetStack.select_by_user(self.request.user)
3289 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3291 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3295 class UserDeploymentsList(generics.ListCreateAPIView):
3296 queryset = UserDeployments.objects.select_related().all()
3297 serializer_class = UserDeploymentsSerializer
3298 id_serializer_class = UserDeploymentsIdSerializer
3299 filter_backends = (filters.DjangoFilterBackend,)
3300 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
3302 def get_serializer_class(self):
3303 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3305 return self.id_serializer_class
3307 return self.serializer_class
3309 def get_queryset(self):
3310 return UserDeployments.select_by_user(self.request.user)
3312 def create(self, request, *args, **kwargs):
3313 obj = UserDeployments(**request.DATA)
3314 obj.caller = request.user
3315 if obj.can_update(request.user):
3316 return super(UserDeploymentsList, self).create(request, *args, **kwargs)
3318 raise Exception("failed obj.can_update")
3320 ret = super(UserDeploymentsList, self).create(request, *args, **kwargs)
3321 if (ret.status_code%100 != 200):
3322 raise Exception(ret.data)
3327 class UserDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3328 queryset = UserDeployments.objects.select_related().all()
3329 serializer_class = UserDeploymentsSerializer
3330 id_serializer_class = UserDeploymentsIdSerializer
3332 def get_serializer_class(self):
3333 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3335 return self.id_serializer_class
3337 return self.serializer_class
3339 def get_queryset(self):
3340 return UserDeployments.select_by_user(self.request.user)
3342 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3344 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3348 class AccountList(generics.ListCreateAPIView):
3349 queryset = Account.objects.select_related().all()
3350 serializer_class = AccountSerializer
3351 id_serializer_class = AccountIdSerializer
3352 filter_backends = (filters.DjangoFilterBackend,)
3353 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
3355 def get_serializer_class(self):
3356 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3358 return self.id_serializer_class
3360 return self.serializer_class
3362 def get_queryset(self):
3363 return Account.select_by_user(self.request.user)
3365 def create(self, request, *args, **kwargs):
3366 obj = Account(**request.DATA)
3367 obj.caller = request.user
3368 if obj.can_update(request.user):
3369 return super(AccountList, self).create(request, *args, **kwargs)
3371 raise Exception("failed obj.can_update")
3373 ret = super(AccountList, self).create(request, *args, **kwargs)
3374 if (ret.status_code%100 != 200):
3375 raise Exception(ret.data)
3380 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3381 queryset = Account.objects.select_related().all()
3382 serializer_class = AccountSerializer
3383 id_serializer_class = AccountIdSerializer
3385 def get_serializer_class(self):
3386 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3388 return self.id_serializer_class
3390 return self.serializer_class
3392 def get_queryset(self):
3393 return Account.select_by_user(self.request.user)
3395 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3397 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3401 class NetworkParameterTypeList(generics.ListCreateAPIView):
3402 queryset = NetworkParameterType.objects.select_related().all()
3403 serializer_class = NetworkParameterTypeSerializer
3404 id_serializer_class = NetworkParameterTypeIdSerializer
3405 filter_backends = (filters.DjangoFilterBackend,)
3406 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
3408 def get_serializer_class(self):
3409 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3411 return self.id_serializer_class
3413 return self.serializer_class
3415 def get_queryset(self):
3416 return NetworkParameterType.select_by_user(self.request.user)
3418 def create(self, request, *args, **kwargs):
3419 obj = NetworkParameterType(**request.DATA)
3420 obj.caller = request.user
3421 if obj.can_update(request.user):
3422 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3424 raise Exception("failed obj.can_update")
3426 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3427 if (ret.status_code%100 != 200):
3428 raise Exception(ret.data)
3433 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3434 queryset = NetworkParameterType.objects.select_related().all()
3435 serializer_class = NetworkParameterTypeSerializer
3436 id_serializer_class = NetworkParameterTypeIdSerializer
3438 def get_serializer_class(self):
3439 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3441 return self.id_serializer_class
3443 return self.serializer_class
3445 def get_queryset(self):
3446 return NetworkParameterType.select_by_user(self.request.user)
3448 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3450 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3454 class SiteCredentialList(generics.ListCreateAPIView):
3455 queryset = SiteCredential.objects.select_related().all()
3456 serializer_class = SiteCredentialSerializer
3457 id_serializer_class = SiteCredentialIdSerializer
3458 filter_backends = (filters.DjangoFilterBackend,)
3459 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
3461 def get_serializer_class(self):
3462 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3464 return self.id_serializer_class
3466 return self.serializer_class
3468 def get_queryset(self):
3469 return SiteCredential.select_by_user(self.request.user)
3471 def create(self, request, *args, **kwargs):
3472 obj = SiteCredential(**request.DATA)
3473 obj.caller = request.user
3474 if obj.can_update(request.user):
3475 return super(SiteCredentialList, self).create(request, *args, **kwargs)
3477 raise Exception("failed obj.can_update")
3479 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
3480 if (ret.status_code%100 != 200):
3481 raise Exception(ret.data)
3486 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3487 queryset = SiteCredential.objects.select_related().all()
3488 serializer_class = SiteCredentialSerializer
3489 id_serializer_class = SiteCredentialIdSerializer
3491 def get_serializer_class(self):
3492 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3494 return self.id_serializer_class
3496 return self.serializer_class
3498 def get_queryset(self):
3499 return SiteCredential.select_by_user(self.request.user)
3501 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3503 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3507 class DeploymentPrivilegeList(generics.ListCreateAPIView):
3508 queryset = DeploymentPrivilege.objects.select_related().all()
3509 serializer_class = DeploymentPrivilegeSerializer
3510 id_serializer_class = DeploymentPrivilegeIdSerializer
3511 filter_backends = (filters.DjangoFilterBackend,)
3512 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
3514 def get_serializer_class(self):
3515 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3517 return self.id_serializer_class
3519 return self.serializer_class
3521 def get_queryset(self):
3522 return DeploymentPrivilege.select_by_user(self.request.user)
3524 def create(self, request, *args, **kwargs):
3525 obj = DeploymentPrivilege(**request.DATA)
3526 obj.caller = request.user
3527 if obj.can_update(request.user):
3528 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3530 raise Exception("failed obj.can_update")
3532 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3533 if (ret.status_code%100 != 200):
3534 raise Exception(ret.data)
3539 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3540 queryset = DeploymentPrivilege.objects.select_related().all()
3541 serializer_class = DeploymentPrivilegeSerializer
3542 id_serializer_class = DeploymentPrivilegeIdSerializer
3544 def get_serializer_class(self):
3545 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3547 return self.id_serializer_class
3549 return self.serializer_class
3551 def get_queryset(self):
3552 return DeploymentPrivilege.select_by_user(self.request.user)
3554 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3556 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3560 class DeploymentRoleList(generics.ListCreateAPIView):
3561 queryset = DeploymentRole.objects.select_related().all()
3562 serializer_class = DeploymentRoleSerializer
3563 id_serializer_class = DeploymentRoleIdSerializer
3564 filter_backends = (filters.DjangoFilterBackend,)
3565 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3567 def get_serializer_class(self):
3568 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3570 return self.id_serializer_class
3572 return self.serializer_class
3574 def get_queryset(self):
3575 return DeploymentRole.select_by_user(self.request.user)
3577 def create(self, request, *args, **kwargs):
3578 obj = DeploymentRole(**request.DATA)
3579 obj.caller = request.user
3580 if obj.can_update(request.user):
3581 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
3583 raise Exception("failed obj.can_update")
3585 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
3586 if (ret.status_code%100 != 200):
3587 raise Exception(ret.data)
3592 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3593 queryset = DeploymentRole.objects.select_related().all()
3594 serializer_class = DeploymentRoleSerializer
3595 id_serializer_class = DeploymentRoleIdSerializer
3597 def get_serializer_class(self):
3598 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3600 return self.id_serializer_class
3602 return self.serializer_class
3604 def get_queryset(self):
3605 return DeploymentRole.select_by_user(self.request.user)
3607 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3609 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3613 class UserCredentialList(generics.ListCreateAPIView):
3614 queryset = UserCredential.objects.select_related().all()
3615 serializer_class = UserCredentialSerializer
3616 id_serializer_class = UserCredentialIdSerializer
3617 filter_backends = (filters.DjangoFilterBackend,)
3618 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
3620 def get_serializer_class(self):
3621 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3623 return self.id_serializer_class
3625 return self.serializer_class
3627 def get_queryset(self):
3628 return UserCredential.select_by_user(self.request.user)
3630 def create(self, request, *args, **kwargs):
3631 obj = UserCredential(**request.DATA)
3632 obj.caller = request.user
3633 if obj.can_update(request.user):
3634 return super(UserCredentialList, self).create(request, *args, **kwargs)
3636 raise Exception("failed obj.can_update")
3638 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
3639 if (ret.status_code%100 != 200):
3640 raise Exception(ret.data)
3645 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3646 queryset = UserCredential.objects.select_related().all()
3647 serializer_class = UserCredentialSerializer
3648 id_serializer_class = UserCredentialIdSerializer
3650 def get_serializer_class(self):
3651 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3653 return self.id_serializer_class
3655 return self.serializer_class
3657 def get_queryset(self):
3658 return UserCredential.select_by_user(self.request.user)
3660 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3662 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3666 class SiteDeploymentsList(generics.ListCreateAPIView):
3667 queryset = SiteDeployments.objects.select_related().all()
3668 serializer_class = SiteDeploymentsSerializer
3669 id_serializer_class = SiteDeploymentsIdSerializer
3670 filter_backends = (filters.DjangoFilterBackend,)
3671 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
3673 def get_serializer_class(self):
3674 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3676 return self.id_serializer_class
3678 return self.serializer_class
3680 def get_queryset(self):
3681 return SiteDeployments.select_by_user(self.request.user)
3683 def create(self, request, *args, **kwargs):
3684 obj = SiteDeployments(**request.DATA)
3685 obj.caller = request.user
3686 if obj.can_update(request.user):
3687 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3689 raise Exception("failed obj.can_update")
3691 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3692 if (ret.status_code%100 != 200):
3693 raise Exception(ret.data)
3698 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3699 queryset = SiteDeployments.objects.select_related().all()
3700 serializer_class = SiteDeploymentsSerializer
3701 id_serializer_class = SiteDeploymentsIdSerializer
3703 def get_serializer_class(self):
3704 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3706 return self.id_serializer_class
3708 return self.serializer_class
3710 def get_queryset(self):
3711 return SiteDeployments.select_by_user(self.request.user)
3713 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3715 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3719 class SliceTagList(generics.ListCreateAPIView):
3720 queryset = SliceTag.objects.select_related().all()
3721 serializer_class = SliceTagSerializer
3722 id_serializer_class = SliceTagIdSerializer
3723 filter_backends = (filters.DjangoFilterBackend,)
3724 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
3726 def get_serializer_class(self):
3727 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3729 return self.id_serializer_class
3731 return self.serializer_class
3733 def get_queryset(self):
3734 return SliceTag.select_by_user(self.request.user)
3736 def create(self, request, *args, **kwargs):
3737 obj = SliceTag(**request.DATA)
3738 obj.caller = request.user
3739 if obj.can_update(request.user):
3740 return super(SliceTagList, self).create(request, *args, **kwargs)
3742 raise Exception("failed obj.can_update")
3744 ret = super(SliceTagList, self).create(request, *args, **kwargs)
3745 if (ret.status_code%100 != 200):
3746 raise Exception(ret.data)
3751 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3752 queryset = SliceTag.objects.select_related().all()
3753 serializer_class = SliceTagSerializer
3754 id_serializer_class = SliceTagIdSerializer
3756 def get_serializer_class(self):
3757 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3759 return self.id_serializer_class
3761 return self.serializer_class
3763 def get_queryset(self):
3764 return SliceTag.select_by_user(self.request.user)
3766 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3768 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3772 class NetworkTemplateList(generics.ListCreateAPIView):
3773 queryset = NetworkTemplate.objects.select_related().all()
3774 serializer_class = NetworkTemplateSerializer
3775 id_serializer_class = NetworkTemplateIdSerializer
3776 filter_backends = (filters.DjangoFilterBackend,)
3777 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
3779 def get_serializer_class(self):
3780 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3782 return self.id_serializer_class
3784 return self.serializer_class
3786 def get_queryset(self):
3787 return NetworkTemplate.select_by_user(self.request.user)
3789 def create(self, request, *args, **kwargs):
3790 obj = NetworkTemplate(**request.DATA)
3791 obj.caller = request.user
3792 if obj.can_update(request.user):
3793 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
3795 raise Exception("failed obj.can_update")
3797 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
3798 if (ret.status_code%100 != 200):
3799 raise Exception(ret.data)
3804 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3805 queryset = NetworkTemplate.objects.select_related().all()
3806 serializer_class = NetworkTemplateSerializer
3807 id_serializer_class = NetworkTemplateIdSerializer
3809 def get_serializer_class(self):
3810 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3812 return self.id_serializer_class
3814 return self.serializer_class
3816 def get_queryset(self):
3817 return NetworkTemplate.select_by_user(self.request.user)
3819 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3821 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3825 class RouterList(generics.ListCreateAPIView):
3826 queryset = Router.objects.select_related().all()
3827 serializer_class = RouterSerializer
3828 id_serializer_class = RouterIdSerializer
3829 filter_backends = (filters.DjangoFilterBackend,)
3830 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
3832 def get_serializer_class(self):
3833 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3835 return self.id_serializer_class
3837 return self.serializer_class
3839 def get_queryset(self):
3840 return Router.select_by_user(self.request.user)
3842 def create(self, request, *args, **kwargs):
3843 obj = Router(**request.DATA)
3844 obj.caller = request.user
3845 if obj.can_update(request.user):
3846 return super(RouterList, self).create(request, *args, **kwargs)
3848 raise Exception("failed obj.can_update")
3850 ret = super(RouterList, self).create(request, *args, **kwargs)
3851 if (ret.status_code%100 != 200):
3852 raise Exception(ret.data)
3857 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3858 queryset = Router.objects.select_related().all()
3859 serializer_class = RouterSerializer
3860 id_serializer_class = RouterIdSerializer
3862 def get_serializer_class(self):
3863 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3865 return self.id_serializer_class
3867 return self.serializer_class
3869 def get_queryset(self):
3870 return Router.select_by_user(self.request.user)
3872 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3874 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3878 class ServiceResourceList(generics.ListCreateAPIView):
3879 queryset = ServiceResource.objects.select_related().all()
3880 serializer_class = ServiceResourceSerializer
3881 id_serializer_class = ServiceResourceIdSerializer
3882 filter_backends = (filters.DjangoFilterBackend,)
3883 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
3885 def get_serializer_class(self):
3886 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3888 return self.id_serializer_class
3890 return self.serializer_class
3892 def get_queryset(self):
3893 return ServiceResource.select_by_user(self.request.user)
3895 def create(self, request, *args, **kwargs):
3896 obj = ServiceResource(**request.DATA)
3897 obj.caller = request.user
3898 if obj.can_update(request.user):
3899 return super(ServiceResourceList, self).create(request, *args, **kwargs)
3901 raise Exception("failed obj.can_update")
3903 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
3904 if (ret.status_code%100 != 200):
3905 raise Exception(ret.data)
3910 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3911 queryset = ServiceResource.objects.select_related().all()
3912 serializer_class = ServiceResourceSerializer
3913 id_serializer_class = ServiceResourceIdSerializer
3915 def get_serializer_class(self):
3916 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3918 return self.id_serializer_class
3920 return self.serializer_class
3922 def get_queryset(self):
3923 return ServiceResource.select_by_user(self.request.user)
3925 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3927 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView