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
12 Schema of the generator object:
13 all: Set of all Model objects
14 all_if(regex): Set of Model objects that match regex
17 plural: English plural of object name
18 camel: CamelCase version of object name
19 refs: list of references to other Model objects
20 props: list of properties minus refs
22 TODO: Deal with subnets
25 # Based on api_root.py
28 def api_root(request, format=None):
30 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
31 'images': reverse('image-list', request=request, format=format),
32 'networkparameters': reverse('networkparameter-list', request=request, format=format),
33 'sites': reverse('site-list', request=request, format=format),
34 'sliceroles': reverse('slicerole-list', request=request, format=format),
35 'tags': reverse('tag-list', request=request, format=format),
36 'invoices': reverse('invoice-list', request=request, format=format),
37 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
38 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
39 'networkslivers': reverse('networksliver-list', request=request, format=format),
40 'networkdeploymentses': reverse('networkdeployments-list', request=request, format=format),
41 'flavors': reverse('flavor-list', request=request, format=format),
42 'projects': reverse('project-list', request=request, format=format),
43 'slices': reverse('slice-list', request=request, format=format),
44 'networks': reverse('network-list', request=request, format=format),
45 'services': reverse('service-list', request=request, format=format),
46 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
47 'payments': reverse('payment-list', request=request, format=format),
48 'charges': reverse('charge-list', request=request, format=format),
49 'roles': reverse('role-list', request=request, format=format),
50 'usableobjects': reverse('usableobject-list', request=request, format=format),
51 'siteroles': reverse('siterole-list', request=request, format=format),
52 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
53 'slivers': reverse('sliver-list', request=request, format=format),
54 'nodes': reverse('node-list', request=request, format=format),
55 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
56 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
57 'reservedresources': reverse('reservedresource-list', request=request, format=format),
58 'networkslices': reverse('networkslice-list', request=request, format=format),
59 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
60 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
61 'users': reverse('user-list', request=request, format=format),
62 'deployments': reverse('deployment-list', request=request, format=format),
63 'reservations': reverse('reservation-list', request=request, format=format),
64 'slicedeploymentses': reverse('slicedeployments-list', request=request, format=format),
65 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
66 'planetstacks': reverse('planetstack-list', request=request, format=format),
67 'userdeploymentses': reverse('userdeployments-list', request=request, format=format),
68 'accounts': reverse('account-list', request=request, format=format),
69 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
70 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
71 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
72 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
73 'usercredentials': reverse('usercredential-list', request=request, format=format),
74 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
75 'slicetags': reverse('slicetag-list', request=request, format=format),
76 'networktemplates': reverse('networktemplate-list', request=request, format=format),
77 'routers': reverse('router-list', request=request, format=format),
78 'serviceresources': reverse('serviceresource-list', request=request, format=format),
82 # Based on serializers.py
86 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
87 id = serializers.Field()
90 model = ServiceAttribute
91 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
93 class ServiceAttributeIdSerializer(serializers.ModelSerializer):
94 id = serializers.Field()
97 model = ServiceAttribute
98 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
103 class ImageSerializer(serializers.HyperlinkedModelSerializer):
104 id = serializers.Field()
108 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
110 class ImageIdSerializer(serializers.ModelSerializer):
111 id = serializers.Field()
115 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
120 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
121 id = serializers.Field()
124 model = NetworkParameter
125 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
127 class NetworkParameterIdSerializer(serializers.ModelSerializer):
128 id = serializers.Field()
131 model = NetworkParameter
132 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
137 class SiteSerializer(serializers.HyperlinkedModelSerializer):
138 id = serializers.Field()
142 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
144 class SiteIdSerializer(serializers.ModelSerializer):
145 id = serializers.Field()
149 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
154 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
155 id = serializers.Field()
159 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
161 class SliceRoleIdSerializer(serializers.ModelSerializer):
162 id = serializers.Field()
166 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
171 class TagSerializer(serializers.HyperlinkedModelSerializer):
172 id = serializers.Field()
176 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
178 class TagIdSerializer(serializers.ModelSerializer):
179 id = serializers.Field()
183 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
188 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
189 id = serializers.Field()
193 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
195 class InvoiceIdSerializer(serializers.ModelSerializer):
196 id = serializers.Field()
200 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
205 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
206 id = serializers.Field()
209 model = SlicePrivilege
210 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
212 class SlicePrivilegeIdSerializer(serializers.ModelSerializer):
213 id = serializers.Field()
216 model = SlicePrivilege
217 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
222 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
223 id = serializers.Field()
226 model = PlanetStackRole
227 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
229 class PlanetStackRoleIdSerializer(serializers.ModelSerializer):
230 id = serializers.Field()
233 model = PlanetStackRole
234 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
239 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
240 id = serializers.Field()
243 model = NetworkSliver
244 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
246 class NetworkSliverIdSerializer(serializers.ModelSerializer):
247 id = serializers.Field()
250 model = NetworkSliver
251 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
256 class NetworkDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
257 id = serializers.Field()
260 model = NetworkDeployments
261 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
263 class NetworkDeploymentsIdSerializer(serializers.ModelSerializer):
264 id = serializers.Field()
267 model = NetworkDeployments
268 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
273 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
274 id = serializers.Field()
278 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
280 class FlavorIdSerializer(serializers.ModelSerializer):
281 id = serializers.Field()
285 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
290 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
291 id = serializers.Field()
295 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
297 class ProjectIdSerializer(serializers.ModelSerializer):
298 id = serializers.Field()
302 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
307 class SliceSerializer(serializers.HyperlinkedModelSerializer):
308 id = serializers.Field()
311 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
315 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
319 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
323 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
328 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',)
330 class SliceIdSerializer(serializers.ModelSerializer):
331 id = serializers.Field()
334 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
338 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
342 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
346 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
351 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',)
356 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
357 id = serializers.Field()
360 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
364 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
368 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
372 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
377 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',)
379 class NetworkIdSerializer(serializers.ModelSerializer):
380 id = serializers.Field()
383 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
387 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
391 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
395 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
400 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',)
405 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
406 id = serializers.Field()
410 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
412 class ServiceIdSerializer(serializers.ModelSerializer):
413 id = serializers.Field()
417 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
422 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
423 id = serializers.Field()
427 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
429 class ServiceClassIdSerializer(serializers.ModelSerializer):
430 id = serializers.Field()
434 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
439 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
440 id = serializers.Field()
444 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
446 class PaymentIdSerializer(serializers.ModelSerializer):
447 id = serializers.Field()
451 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
456 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
457 id = serializers.Field()
461 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
463 class ChargeIdSerializer(serializers.ModelSerializer):
464 id = serializers.Field()
468 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
473 class RoleSerializer(serializers.HyperlinkedModelSerializer):
474 id = serializers.Field()
478 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
480 class RoleIdSerializer(serializers.ModelSerializer):
481 id = serializers.Field()
485 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
490 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
491 id = serializers.Field()
495 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
497 class UsableObjectIdSerializer(serializers.ModelSerializer):
498 id = serializers.Field()
502 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
507 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
508 id = serializers.Field()
512 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
514 class SiteRoleIdSerializer(serializers.ModelSerializer):
515 id = serializers.Field()
519 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
524 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
525 id = serializers.Field()
528 model = SliceCredential
529 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
531 class SliceCredentialIdSerializer(serializers.ModelSerializer):
532 id = serializers.Field()
535 model = SliceCredential
536 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
541 class SliverSerializer(serializers.HyperlinkedModelSerializer):
542 id = serializers.Field()
545 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
549 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
554 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
556 class SliverIdSerializer(serializers.ModelSerializer):
557 id = serializers.Field()
560 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
564 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
569 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
574 class NodeSerializer(serializers.HyperlinkedModelSerializer):
575 id = serializers.Field()
579 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
581 class NodeIdSerializer(serializers.ModelSerializer):
582 id = serializers.Field()
586 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
591 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
592 id = serializers.Field()
595 model = DashboardView
596 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
598 class DashboardViewIdSerializer(serializers.ModelSerializer):
599 id = serializers.Field()
602 model = DashboardView
603 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
608 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
609 id = serializers.Field()
612 model = ImageDeployments
613 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
615 class ImageDeploymentsIdSerializer(serializers.ModelSerializer):
616 id = serializers.Field()
619 model = ImageDeployments
620 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
625 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
626 id = serializers.Field()
629 model = ReservedResource
630 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
632 class ReservedResourceIdSerializer(serializers.ModelSerializer):
633 id = serializers.Field()
636 model = ReservedResource
637 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
642 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
643 id = serializers.Field()
647 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
649 class NetworkSliceIdSerializer(serializers.ModelSerializer):
650 id = serializers.Field()
654 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
659 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
660 id = serializers.Field()
663 model = UserDashboardView
664 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
666 class UserDashboardViewIdSerializer(serializers.ModelSerializer):
667 id = serializers.Field()
670 model = UserDashboardView
671 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
676 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
677 id = serializers.Field()
680 model = PlanetStackPrivilege
681 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
683 class PlanetStackPrivilegeIdSerializer(serializers.ModelSerializer):
684 id = serializers.Field()
687 model = PlanetStackPrivilege
688 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
693 class UserSerializer(serializers.HyperlinkedModelSerializer):
694 id = serializers.Field()
698 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',)
700 class UserIdSerializer(serializers.ModelSerializer):
701 id = serializers.Field()
705 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',)
710 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
711 id = serializers.Field()
714 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
718 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
722 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
726 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
731 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',)
733 class DeploymentIdSerializer(serializers.ModelSerializer):
734 id = serializers.Field()
737 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
741 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
745 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
749 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
754 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',)
759 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
760 id = serializers.Field()
764 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
766 class ReservationIdSerializer(serializers.ModelSerializer):
767 id = serializers.Field()
771 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
776 class SliceDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
777 id = serializers.Field()
780 model = SliceDeployments
781 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
783 class SliceDeploymentsIdSerializer(serializers.ModelSerializer):
784 id = serializers.Field()
787 model = SliceDeployments
788 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
793 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
794 id = serializers.Field()
797 model = SitePrivilege
798 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
800 class SitePrivilegeIdSerializer(serializers.ModelSerializer):
801 id = serializers.Field()
804 model = SitePrivilege
805 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
810 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
811 id = serializers.Field()
815 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
817 class PlanetStackIdSerializer(serializers.ModelSerializer):
818 id = serializers.Field()
822 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
827 class UserDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
828 id = serializers.Field()
831 model = UserDeployments
832 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
834 class UserDeploymentsIdSerializer(serializers.ModelSerializer):
835 id = serializers.Field()
838 model = UserDeployments
839 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
844 class AccountSerializer(serializers.HyperlinkedModelSerializer):
845 id = serializers.Field()
849 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
851 class AccountIdSerializer(serializers.ModelSerializer):
852 id = serializers.Field()
856 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
861 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
862 id = serializers.Field()
865 model = NetworkParameterType
866 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
868 class NetworkParameterTypeIdSerializer(serializers.ModelSerializer):
869 id = serializers.Field()
872 model = NetworkParameterType
873 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
878 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
879 id = serializers.Field()
882 model = SiteCredential
883 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
885 class SiteCredentialIdSerializer(serializers.ModelSerializer):
886 id = serializers.Field()
889 model = SiteCredential
890 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
895 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
896 id = serializers.Field()
899 model = DeploymentPrivilege
900 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
902 class DeploymentPrivilegeIdSerializer(serializers.ModelSerializer):
903 id = serializers.Field()
906 model = DeploymentPrivilege
907 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
912 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
913 id = serializers.Field()
916 model = DeploymentRole
917 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
919 class DeploymentRoleIdSerializer(serializers.ModelSerializer):
920 id = serializers.Field()
923 model = DeploymentRole
924 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
929 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
930 id = serializers.Field()
933 model = UserCredential
934 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
936 class UserCredentialIdSerializer(serializers.ModelSerializer):
937 id = serializers.Field()
940 model = UserCredential
941 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
946 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
947 id = serializers.Field()
950 model = SiteDeployments
951 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
953 class SiteDeploymentsIdSerializer(serializers.ModelSerializer):
954 id = serializers.Field()
957 model = SiteDeployments
958 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
963 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
964 id = serializers.Field()
968 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
970 class SliceTagIdSerializer(serializers.ModelSerializer):
971 id = serializers.Field()
975 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
980 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
981 id = serializers.Field()
984 model = NetworkTemplate
985 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
987 class NetworkTemplateIdSerializer(serializers.ModelSerializer):
988 id = serializers.Field()
991 model = NetworkTemplate
992 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
997 class RouterSerializer(serializers.HyperlinkedModelSerializer):
998 id = serializers.Field()
1002 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1004 class RouterIdSerializer(serializers.ModelSerializer):
1005 id = serializers.Field()
1009 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1014 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
1015 id = serializers.Field()
1018 model = ServiceResource
1019 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1021 class ServiceResourceIdSerializer(serializers.ModelSerializer):
1022 id = serializers.Field()
1025 model = ServiceResource
1026 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1031 serializerLookUp = {
1033 ServiceAttribute: ServiceAttributeSerializer,
1035 Image: ImageSerializer,
1037 NetworkParameter: NetworkParameterSerializer,
1039 Site: SiteSerializer,
1041 SliceRole: SliceRoleSerializer,
1045 Invoice: InvoiceSerializer,
1047 SlicePrivilege: SlicePrivilegeSerializer,
1049 PlanetStackRole: PlanetStackRoleSerializer,
1051 NetworkSliver: NetworkSliverSerializer,
1053 NetworkDeployments: NetworkDeploymentsSerializer,
1055 Flavor: FlavorSerializer,
1057 Project: ProjectSerializer,
1059 Slice: SliceSerializer,
1061 Network: NetworkSerializer,
1063 Service: ServiceSerializer,
1065 ServiceClass: ServiceClassSerializer,
1067 Payment: PaymentSerializer,
1069 Charge: ChargeSerializer,
1071 Role: RoleSerializer,
1073 UsableObject: UsableObjectSerializer,
1075 SiteRole: SiteRoleSerializer,
1077 SliceCredential: SliceCredentialSerializer,
1079 Sliver: SliverSerializer,
1081 Node: NodeSerializer,
1083 DashboardView: DashboardViewSerializer,
1085 ImageDeployments: ImageDeploymentsSerializer,
1087 ReservedResource: ReservedResourceSerializer,
1089 NetworkSlice: NetworkSliceSerializer,
1091 UserDashboardView: UserDashboardViewSerializer,
1093 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
1095 User: UserSerializer,
1097 Deployment: DeploymentSerializer,
1099 Reservation: ReservationSerializer,
1101 SliceDeployments: SliceDeploymentsSerializer,
1103 SitePrivilege: SitePrivilegeSerializer,
1105 PlanetStack: PlanetStackSerializer,
1107 UserDeployments: UserDeploymentsSerializer,
1109 Account: AccountSerializer,
1111 NetworkParameterType: NetworkParameterTypeSerializer,
1113 SiteCredential: SiteCredentialSerializer,
1115 DeploymentPrivilege: DeploymentPrivilegeSerializer,
1117 DeploymentRole: DeploymentRoleSerializer,
1119 UserCredential: UserCredentialSerializer,
1121 SiteDeployments: SiteDeploymentsSerializer,
1123 SliceTag: SliceTagSerializer,
1125 NetworkTemplate: NetworkTemplateSerializer,
1127 Router: RouterSerializer,
1129 ServiceResource: ServiceResourceSerializer,
1134 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
1136 # To handle fine-grained field permissions, we have to check can_update
1137 # the object has been updated but before it has been saved.
1139 def update(self, request, *args, **kwargs):
\r
1141 partial = kwargs.pop('partial', False)
\r
1142 self.object = self.get_object_or_none()
\r
1144 serializer = self.get_serializer(self.object, data=request.DATA,
\r
1145 files=request.FILES, partial=partial)
\r
1147 if not serializer.is_valid():
\r
1148 print "UpdateModelMixin: not serializer.is_valid"
\r
1149 print serializer.errors
\r
1150 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
\r
1153 self.pre_save(serializer.object)
\r
1154 except ValidationError as err:
\r
1155 # full_clean on model instance may be called in pre_save,
\r
1156 # so we have to handle eventual errors.
\r
1157 return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
\r
1159 if serializer.object is not None:
\r
1160 if not serializer.object.can_update(request.user):
\r
1161 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
1163 if self.object is None:
\r
1164 self.object = serializer.save(force_insert=True)
\r
1165 self.post_save(self.object, created=True)
\r
1166 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
1168 self.object = serializer.save(force_update=True)
\r
1169 self.post_save(self.object, created=False)
\r
1170 return Response(serializer.data, status=status.HTTP_200_OK)
1172 def destroy(self, request, *args, **kwargs):
1173 obj = self.get_object()
1174 if obj.can_update(request.user):
1175 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
1177 return Response(status=status.HTTP_400_BAD_REQUEST)
1180 def put(self, request, *args, **kwargs):
1182 return super(PlanetStackRetrieveUpdateDestroyAPIView,self).put(request,*args, **kwargs);
1183 #return self.update(request, *args, **kwargs)
1186 # Based on core/views/*.py
1189 class ServiceAttributeList(generics.ListCreateAPIView):
1190 queryset = ServiceAttribute.objects.select_related().all()
1191 serializer_class = ServiceAttributeSerializer
1192 id_serializer_class = ServiceAttributeIdSerializer
1193 filter_backends = (filters.DjangoFilterBackend,)
1194 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
1196 def get_serializer_class(self):
1197 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1199 return self.id_serializer_class
1201 return self.serializer_class
1203 def get_queryset(self):
1204 return ServiceAttribute.select_by_user(self.request.user)
1206 def create(self, request, *args, **kwargs):
1207 obj = ServiceAttribute(**request.DATA)
1208 obj.caller = request.user
1209 if obj.can_update(request.user):
1210 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
1212 raise Exception("failed obj.can_update")
1214 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
1215 if (ret.status_code%100 != 200):
1216 raise Exception(ret.data)
1221 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1222 queryset = ServiceAttribute.objects.select_related().all()
1223 serializer_class = ServiceAttributeSerializer
1224 id_serializer_class = ServiceAttributeIdSerializer
1226 def get_serializer_class(self):
1227 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1229 return self.id_serializer_class
1231 return self.serializer_class
1233 def get_queryset(self):
1234 return ServiceAttribute.select_by_user(self.request.user)
1236 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1238 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1242 class ImageList(generics.ListCreateAPIView):
1243 queryset = Image.objects.select_related().all()
1244 serializer_class = ImageSerializer
1245 id_serializer_class = ImageIdSerializer
1246 filter_backends = (filters.DjangoFilterBackend,)
1247 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
1249 def get_serializer_class(self):
1250 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1252 return self.id_serializer_class
1254 return self.serializer_class
1256 def get_queryset(self):
1257 return Image.select_by_user(self.request.user)
1259 def create(self, request, *args, **kwargs):
1260 obj = Image(**request.DATA)
1261 obj.caller = request.user
1262 if obj.can_update(request.user):
1263 return super(ImageList, self).create(request, *args, **kwargs)
1265 raise Exception("failed obj.can_update")
1267 ret = super(ImageList, self).create(request, *args, **kwargs)
1268 if (ret.status_code%100 != 200):
1269 raise Exception(ret.data)
1274 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1275 queryset = Image.objects.select_related().all()
1276 serializer_class = ImageSerializer
1277 id_serializer_class = ImageIdSerializer
1279 def get_serializer_class(self):
1280 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1282 return self.id_serializer_class
1284 return self.serializer_class
1286 def get_queryset(self):
1287 return Image.select_by_user(self.request.user)
1289 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1291 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1295 class NetworkParameterList(generics.ListCreateAPIView):
1296 queryset = NetworkParameter.objects.select_related().all()
1297 serializer_class = NetworkParameterSerializer
1298 id_serializer_class = NetworkParameterIdSerializer
1299 filter_backends = (filters.DjangoFilterBackend,)
1300 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
1302 def get_serializer_class(self):
1303 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1305 return self.id_serializer_class
1307 return self.serializer_class
1309 def get_queryset(self):
1310 return NetworkParameter.select_by_user(self.request.user)
1312 def create(self, request, *args, **kwargs):
1313 obj = NetworkParameter(**request.DATA)
1314 obj.caller = request.user
1315 if obj.can_update(request.user):
1316 return super(NetworkParameterList, self).create(request, *args, **kwargs)
1318 raise Exception("failed obj.can_update")
1320 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
1321 if (ret.status_code%100 != 200):
1322 raise Exception(ret.data)
1327 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1328 queryset = NetworkParameter.objects.select_related().all()
1329 serializer_class = NetworkParameterSerializer
1330 id_serializer_class = NetworkParameterIdSerializer
1332 def get_serializer_class(self):
1333 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1335 return self.id_serializer_class
1337 return self.serializer_class
1339 def get_queryset(self):
1340 return NetworkParameter.select_by_user(self.request.user)
1342 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1344 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1348 class SiteList(generics.ListCreateAPIView):
1349 queryset = Site.objects.select_related().all()
1350 serializer_class = SiteSerializer
1351 id_serializer_class = SiteIdSerializer
1352 filter_backends = (filters.DjangoFilterBackend,)
1353 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
1355 def get_serializer_class(self):
1356 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1358 return self.id_serializer_class
1360 return self.serializer_class
1362 def get_queryset(self):
1363 return Site.select_by_user(self.request.user)
1365 def create(self, request, *args, **kwargs):
1366 obj = Site(**request.DATA)
1367 obj.caller = request.user
1368 if obj.can_update(request.user):
1369 return super(SiteList, self).create(request, *args, **kwargs)
1371 raise Exception("failed obj.can_update")
1373 ret = super(SiteList, self).create(request, *args, **kwargs)
1374 if (ret.status_code%100 != 200):
1375 raise Exception(ret.data)
1380 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1381 queryset = Site.objects.select_related().all()
1382 serializer_class = SiteSerializer
1383 id_serializer_class = SiteIdSerializer
1385 def get_serializer_class(self):
1386 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1388 return self.id_serializer_class
1390 return self.serializer_class
1392 def get_queryset(self):
1393 return Site.select_by_user(self.request.user)
1395 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1397 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1401 class SliceRoleList(generics.ListCreateAPIView):
1402 queryset = SliceRole.objects.select_related().all()
1403 serializer_class = SliceRoleSerializer
1404 id_serializer_class = SliceRoleIdSerializer
1405 filter_backends = (filters.DjangoFilterBackend,)
1406 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1408 def get_serializer_class(self):
1409 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1411 return self.id_serializer_class
1413 return self.serializer_class
1415 def get_queryset(self):
1416 return SliceRole.select_by_user(self.request.user)
1418 def create(self, request, *args, **kwargs):
1419 obj = SliceRole(**request.DATA)
1420 obj.caller = request.user
1421 if obj.can_update(request.user):
1422 return super(SliceRoleList, self).create(request, *args, **kwargs)
1424 raise Exception("failed obj.can_update")
1426 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
1427 if (ret.status_code%100 != 200):
1428 raise Exception(ret.data)
1433 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1434 queryset = SliceRole.objects.select_related().all()
1435 serializer_class = SliceRoleSerializer
1436 id_serializer_class = SliceRoleIdSerializer
1438 def get_serializer_class(self):
1439 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1441 return self.id_serializer_class
1443 return self.serializer_class
1445 def get_queryset(self):
1446 return SliceRole.select_by_user(self.request.user)
1448 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1450 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1454 class TagList(generics.ListCreateAPIView):
1455 queryset = Tag.objects.select_related().all()
1456 serializer_class = TagSerializer
1457 id_serializer_class = TagIdSerializer
1458 filter_backends = (filters.DjangoFilterBackend,)
1459 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
1461 def get_serializer_class(self):
1462 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1464 return self.id_serializer_class
1466 return self.serializer_class
1468 def get_queryset(self):
1469 return Tag.select_by_user(self.request.user)
1471 def create(self, request, *args, **kwargs):
1472 obj = Tag(**request.DATA)
1473 obj.caller = request.user
1474 if obj.can_update(request.user):
1475 return super(TagList, self).create(request, *args, **kwargs)
1477 raise Exception("failed obj.can_update")
1479 ret = super(TagList, self).create(request, *args, **kwargs)
1480 if (ret.status_code%100 != 200):
1481 raise Exception(ret.data)
1486 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1487 queryset = Tag.objects.select_related().all()
1488 serializer_class = TagSerializer
1489 id_serializer_class = TagIdSerializer
1491 def get_serializer_class(self):
1492 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1494 return self.id_serializer_class
1496 return self.serializer_class
1498 def get_queryset(self):
1499 return Tag.select_by_user(self.request.user)
1501 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1503 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1507 class InvoiceList(generics.ListCreateAPIView):
1508 queryset = Invoice.objects.select_related().all()
1509 serializer_class = InvoiceSerializer
1510 id_serializer_class = InvoiceIdSerializer
1511 filter_backends = (filters.DjangoFilterBackend,)
1512 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
1514 def get_serializer_class(self):
1515 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1517 return self.id_serializer_class
1519 return self.serializer_class
1521 def get_queryset(self):
1522 return Invoice.select_by_user(self.request.user)
1524 def create(self, request, *args, **kwargs):
1525 obj = Invoice(**request.DATA)
1526 obj.caller = request.user
1527 if obj.can_update(request.user):
1528 return super(InvoiceList, self).create(request, *args, **kwargs)
1530 raise Exception("failed obj.can_update")
1532 ret = super(InvoiceList, self).create(request, *args, **kwargs)
1533 if (ret.status_code%100 != 200):
1534 raise Exception(ret.data)
1539 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1540 queryset = Invoice.objects.select_related().all()
1541 serializer_class = InvoiceSerializer
1542 id_serializer_class = InvoiceIdSerializer
1544 def get_serializer_class(self):
1545 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1547 return self.id_serializer_class
1549 return self.serializer_class
1551 def get_queryset(self):
1552 return Invoice.select_by_user(self.request.user)
1554 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1556 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1560 class SlicePrivilegeList(generics.ListCreateAPIView):
1561 queryset = SlicePrivilege.objects.select_related().all()
1562 serializer_class = SlicePrivilegeSerializer
1563 id_serializer_class = SlicePrivilegeIdSerializer
1564 filter_backends = (filters.DjangoFilterBackend,)
1565 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
1567 def get_serializer_class(self):
1568 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1570 return self.id_serializer_class
1572 return self.serializer_class
1574 def get_queryset(self):
1575 return SlicePrivilege.select_by_user(self.request.user)
1577 def create(self, request, *args, **kwargs):
1578 obj = SlicePrivilege(**request.DATA)
1579 obj.caller = request.user
1580 if obj.can_update(request.user):
1581 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1583 raise Exception("failed obj.can_update")
1585 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1586 if (ret.status_code%100 != 200):
1587 raise Exception(ret.data)
1592 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1593 queryset = SlicePrivilege.objects.select_related().all()
1594 serializer_class = SlicePrivilegeSerializer
1595 id_serializer_class = SlicePrivilegeIdSerializer
1597 def get_serializer_class(self):
1598 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1600 return self.id_serializer_class
1602 return self.serializer_class
1604 def get_queryset(self):
1605 return SlicePrivilege.select_by_user(self.request.user)
1607 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1609 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1613 class PlanetStackRoleList(generics.ListCreateAPIView):
1614 queryset = PlanetStackRole.objects.select_related().all()
1615 serializer_class = PlanetStackRoleSerializer
1616 id_serializer_class = PlanetStackRoleIdSerializer
1617 filter_backends = (filters.DjangoFilterBackend,)
1618 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1620 def get_serializer_class(self):
1621 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1623 return self.id_serializer_class
1625 return self.serializer_class
1627 def get_queryset(self):
1628 return PlanetStackRole.select_by_user(self.request.user)
1630 def create(self, request, *args, **kwargs):
1631 obj = PlanetStackRole(**request.DATA)
1632 obj.caller = request.user
1633 if obj.can_update(request.user):
1634 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1636 raise Exception("failed obj.can_update")
1638 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1639 if (ret.status_code%100 != 200):
1640 raise Exception(ret.data)
1645 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1646 queryset = PlanetStackRole.objects.select_related().all()
1647 serializer_class = PlanetStackRoleSerializer
1648 id_serializer_class = PlanetStackRoleIdSerializer
1650 def get_serializer_class(self):
1651 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1653 return self.id_serializer_class
1655 return self.serializer_class
1657 def get_queryset(self):
1658 return PlanetStackRole.select_by_user(self.request.user)
1660 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1662 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1666 class NetworkSliverList(generics.ListCreateAPIView):
1667 queryset = NetworkSliver.objects.select_related().all()
1668 serializer_class = NetworkSliverSerializer
1669 id_serializer_class = NetworkSliverIdSerializer
1670 filter_backends = (filters.DjangoFilterBackend,)
1671 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
1673 def get_serializer_class(self):
1674 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1676 return self.id_serializer_class
1678 return self.serializer_class
1680 def get_queryset(self):
1681 return NetworkSliver.select_by_user(self.request.user)
1683 def create(self, request, *args, **kwargs):
1684 obj = NetworkSliver(**request.DATA)
1685 obj.caller = request.user
1686 if obj.can_update(request.user):
1687 return super(NetworkSliverList, self).create(request, *args, **kwargs)
1689 raise Exception("failed obj.can_update")
1691 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
1692 if (ret.status_code%100 != 200):
1693 raise Exception(ret.data)
1698 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1699 queryset = NetworkSliver.objects.select_related().all()
1700 serializer_class = NetworkSliverSerializer
1701 id_serializer_class = NetworkSliverIdSerializer
1703 def get_serializer_class(self):
1704 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1706 return self.id_serializer_class
1708 return self.serializer_class
1710 def get_queryset(self):
1711 return NetworkSliver.select_by_user(self.request.user)
1713 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1715 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1719 class NetworkDeploymentsList(generics.ListCreateAPIView):
1720 queryset = NetworkDeployments.objects.select_related().all()
1721 serializer_class = NetworkDeploymentsSerializer
1722 id_serializer_class = NetworkDeploymentsIdSerializer
1723 filter_backends = (filters.DjangoFilterBackend,)
1724 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
1726 def get_serializer_class(self):
1727 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1729 return self.id_serializer_class
1731 return self.serializer_class
1733 def get_queryset(self):
1734 return NetworkDeployments.select_by_user(self.request.user)
1736 def create(self, request, *args, **kwargs):
1737 obj = NetworkDeployments(**request.DATA)
1738 obj.caller = request.user
1739 if obj.can_update(request.user):
1740 return super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
1742 raise Exception("failed obj.can_update")
1744 ret = super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
1745 if (ret.status_code%100 != 200):
1746 raise Exception(ret.data)
1751 class NetworkDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1752 queryset = NetworkDeployments.objects.select_related().all()
1753 serializer_class = NetworkDeploymentsSerializer
1754 id_serializer_class = NetworkDeploymentsIdSerializer
1756 def get_serializer_class(self):
1757 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1759 return self.id_serializer_class
1761 return self.serializer_class
1763 def get_queryset(self):
1764 return NetworkDeployments.select_by_user(self.request.user)
1766 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1768 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1772 class FlavorList(generics.ListCreateAPIView):
1773 queryset = Flavor.objects.select_related().all()
1774 serializer_class = FlavorSerializer
1775 id_serializer_class = FlavorIdSerializer
1776 filter_backends = (filters.DjangoFilterBackend,)
1777 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
1779 def get_serializer_class(self):
1780 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1782 return self.id_serializer_class
1784 return self.serializer_class
1786 def get_queryset(self):
1787 return Flavor.select_by_user(self.request.user)
1789 def create(self, request, *args, **kwargs):
1790 obj = Flavor(**request.DATA)
1791 obj.caller = request.user
1792 if obj.can_update(request.user):
1793 return super(FlavorList, self).create(request, *args, **kwargs)
1795 raise Exception("failed obj.can_update")
1797 ret = super(FlavorList, self).create(request, *args, **kwargs)
1798 if (ret.status_code%100 != 200):
1799 raise Exception(ret.data)
1804 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1805 queryset = Flavor.objects.select_related().all()
1806 serializer_class = FlavorSerializer
1807 id_serializer_class = FlavorIdSerializer
1809 def get_serializer_class(self):
1810 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1812 return self.id_serializer_class
1814 return self.serializer_class
1816 def get_queryset(self):
1817 return Flavor.select_by_user(self.request.user)
1819 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1821 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1825 class ProjectList(generics.ListCreateAPIView):
1826 queryset = Project.objects.select_related().all()
1827 serializer_class = ProjectSerializer
1828 id_serializer_class = ProjectIdSerializer
1829 filter_backends = (filters.DjangoFilterBackend,)
1830 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
1832 def get_serializer_class(self):
1833 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1835 return self.id_serializer_class
1837 return self.serializer_class
1839 def get_queryset(self):
1840 return Project.select_by_user(self.request.user)
1842 def create(self, request, *args, **kwargs):
1843 obj = Project(**request.DATA)
1844 obj.caller = request.user
1845 if obj.can_update(request.user):
1846 return super(ProjectList, self).create(request, *args, **kwargs)
1848 raise Exception("failed obj.can_update")
1850 ret = super(ProjectList, self).create(request, *args, **kwargs)
1851 if (ret.status_code%100 != 200):
1852 raise Exception(ret.data)
1857 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1858 queryset = Project.objects.select_related().all()
1859 serializer_class = ProjectSerializer
1860 id_serializer_class = ProjectIdSerializer
1862 def get_serializer_class(self):
1863 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1865 return self.id_serializer_class
1867 return self.serializer_class
1869 def get_queryset(self):
1870 return Project.select_by_user(self.request.user)
1872 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1874 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1878 class SliceList(generics.ListCreateAPIView):
1879 queryset = Slice.objects.select_related().all()
1880 serializer_class = SliceSerializer
1881 id_serializer_class = SliceIdSerializer
1882 filter_backends = (filters.DjangoFilterBackend,)
1883 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',)
1885 def get_serializer_class(self):
1886 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1888 return self.id_serializer_class
1890 return self.serializer_class
1892 def get_queryset(self):
1893 return Slice.select_by_user(self.request.user)
1895 def create(self, request, *args, **kwargs):
1896 obj = Slice(**request.DATA)
1897 obj.caller = request.user
1898 if obj.can_update(request.user):
1899 return super(SliceList, self).create(request, *args, **kwargs)
1901 raise Exception("failed obj.can_update")
1903 ret = super(SliceList, self).create(request, *args, **kwargs)
1904 if (ret.status_code%100 != 200):
1905 raise Exception(ret.data)
1910 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1911 queryset = Slice.objects.select_related().all()
1912 serializer_class = SliceSerializer
1913 id_serializer_class = SliceIdSerializer
1915 def get_serializer_class(self):
1916 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1918 return self.id_serializer_class
1920 return self.serializer_class
1922 def get_queryset(self):
1923 return Slice.select_by_user(self.request.user)
1925 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1927 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1931 class NetworkList(generics.ListCreateAPIView):
1932 queryset = Network.objects.select_related().all()
1933 serializer_class = NetworkSerializer
1934 id_serializer_class = NetworkIdSerializer
1935 filter_backends = (filters.DjangoFilterBackend,)
1936 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',)
1938 def get_serializer_class(self):
1939 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1941 return self.id_serializer_class
1943 return self.serializer_class
1945 def get_queryset(self):
1946 return Network.select_by_user(self.request.user)
1948 def create(self, request, *args, **kwargs):
1949 obj = Network(**request.DATA)
1950 obj.caller = request.user
1951 if obj.can_update(request.user):
1952 return super(NetworkList, self).create(request, *args, **kwargs)
1954 raise Exception("failed obj.can_update")
1956 ret = super(NetworkList, self).create(request, *args, **kwargs)
1957 if (ret.status_code%100 != 200):
1958 raise Exception(ret.data)
1963 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1964 queryset = Network.objects.select_related().all()
1965 serializer_class = NetworkSerializer
1966 id_serializer_class = NetworkIdSerializer
1968 def get_serializer_class(self):
1969 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1971 return self.id_serializer_class
1973 return self.serializer_class
1975 def get_queryset(self):
1976 return Network.select_by_user(self.request.user)
1978 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1980 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1984 class ServiceList(generics.ListCreateAPIView):
1985 queryset = Service.objects.select_related().all()
1986 serializer_class = ServiceSerializer
1987 id_serializer_class = ServiceIdSerializer
1988 filter_backends = (filters.DjangoFilterBackend,)
1989 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
1991 def get_serializer_class(self):
1992 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1994 return self.id_serializer_class
1996 return self.serializer_class
1998 def get_queryset(self):
1999 return Service.select_by_user(self.request.user)
2001 def create(self, request, *args, **kwargs):
2002 obj = Service(**request.DATA)
2003 obj.caller = request.user
2004 if obj.can_update(request.user):
2005 return super(ServiceList, self).create(request, *args, **kwargs)
2007 raise Exception("failed obj.can_update")
2009 ret = super(ServiceList, self).create(request, *args, **kwargs)
2010 if (ret.status_code%100 != 200):
2011 raise Exception(ret.data)
2016 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2017 queryset = Service.objects.select_related().all()
2018 serializer_class = ServiceSerializer
2019 id_serializer_class = ServiceIdSerializer
2021 def get_serializer_class(self):
2022 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2024 return self.id_serializer_class
2026 return self.serializer_class
2028 def get_queryset(self):
2029 return Service.select_by_user(self.request.user)
2031 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2033 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2037 class ServiceClassList(generics.ListCreateAPIView):
2038 queryset = ServiceClass.objects.select_related().all()
2039 serializer_class = ServiceClassSerializer
2040 id_serializer_class = ServiceClassIdSerializer
2041 filter_backends = (filters.DjangoFilterBackend,)
2042 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
2044 def get_serializer_class(self):
2045 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2047 return self.id_serializer_class
2049 return self.serializer_class
2051 def get_queryset(self):
2052 return ServiceClass.select_by_user(self.request.user)
2054 def create(self, request, *args, **kwargs):
2055 obj = ServiceClass(**request.DATA)
2056 obj.caller = request.user
2057 if obj.can_update(request.user):
2058 return super(ServiceClassList, self).create(request, *args, **kwargs)
2060 raise Exception("failed obj.can_update")
2062 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
2063 if (ret.status_code%100 != 200):
2064 raise Exception(ret.data)
2069 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2070 queryset = ServiceClass.objects.select_related().all()
2071 serializer_class = ServiceClassSerializer
2072 id_serializer_class = ServiceClassIdSerializer
2074 def get_serializer_class(self):
2075 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2077 return self.id_serializer_class
2079 return self.serializer_class
2081 def get_queryset(self):
2082 return ServiceClass.select_by_user(self.request.user)
2084 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2086 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2090 class PaymentList(generics.ListCreateAPIView):
2091 queryset = Payment.objects.select_related().all()
2092 serializer_class = PaymentSerializer
2093 id_serializer_class = PaymentIdSerializer
2094 filter_backends = (filters.DjangoFilterBackend,)
2095 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
2097 def get_serializer_class(self):
2098 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2100 return self.id_serializer_class
2102 return self.serializer_class
2104 def get_queryset(self):
2105 return Payment.select_by_user(self.request.user)
2107 def create(self, request, *args, **kwargs):
2108 obj = Payment(**request.DATA)
2109 obj.caller = request.user
2110 if obj.can_update(request.user):
2111 return super(PaymentList, self).create(request, *args, **kwargs)
2113 raise Exception("failed obj.can_update")
2115 ret = super(PaymentList, self).create(request, *args, **kwargs)
2116 if (ret.status_code%100 != 200):
2117 raise Exception(ret.data)
2122 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2123 queryset = Payment.objects.select_related().all()
2124 serializer_class = PaymentSerializer
2125 id_serializer_class = PaymentIdSerializer
2127 def get_serializer_class(self):
2128 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2130 return self.id_serializer_class
2132 return self.serializer_class
2134 def get_queryset(self):
2135 return Payment.select_by_user(self.request.user)
2137 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2139 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2143 class ChargeList(generics.ListCreateAPIView):
2144 queryset = Charge.objects.select_related().all()
2145 serializer_class = ChargeSerializer
2146 id_serializer_class = ChargeIdSerializer
2147 filter_backends = (filters.DjangoFilterBackend,)
2148 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
2150 def get_serializer_class(self):
2151 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2153 return self.id_serializer_class
2155 return self.serializer_class
2157 def get_queryset(self):
2158 return Charge.select_by_user(self.request.user)
2160 def create(self, request, *args, **kwargs):
2161 obj = Charge(**request.DATA)
2162 obj.caller = request.user
2163 if obj.can_update(request.user):
2164 return super(ChargeList, self).create(request, *args, **kwargs)
2166 raise Exception("failed obj.can_update")
2168 ret = super(ChargeList, self).create(request, *args, **kwargs)
2169 if (ret.status_code%100 != 200):
2170 raise Exception(ret.data)
2175 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2176 queryset = Charge.objects.select_related().all()
2177 serializer_class = ChargeSerializer
2178 id_serializer_class = ChargeIdSerializer
2180 def get_serializer_class(self):
2181 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2183 return self.id_serializer_class
2185 return self.serializer_class
2187 def get_queryset(self):
2188 return Charge.select_by_user(self.request.user)
2190 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2192 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2196 class RoleList(generics.ListCreateAPIView):
2197 queryset = Role.objects.select_related().all()
2198 serializer_class = RoleSerializer
2199 id_serializer_class = RoleIdSerializer
2200 filter_backends = (filters.DjangoFilterBackend,)
2201 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
2203 def get_serializer_class(self):
2204 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2206 return self.id_serializer_class
2208 return self.serializer_class
2210 def get_queryset(self):
2211 return Role.select_by_user(self.request.user)
2213 def create(self, request, *args, **kwargs):
2214 obj = Role(**request.DATA)
2215 obj.caller = request.user
2216 if obj.can_update(request.user):
2217 return super(RoleList, self).create(request, *args, **kwargs)
2219 raise Exception("failed obj.can_update")
2221 ret = super(RoleList, self).create(request, *args, **kwargs)
2222 if (ret.status_code%100 != 200):
2223 raise Exception(ret.data)
2228 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2229 queryset = Role.objects.select_related().all()
2230 serializer_class = RoleSerializer
2231 id_serializer_class = RoleIdSerializer
2233 def get_serializer_class(self):
2234 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2236 return self.id_serializer_class
2238 return self.serializer_class
2240 def get_queryset(self):
2241 return Role.select_by_user(self.request.user)
2243 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2245 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2249 class UsableObjectList(generics.ListCreateAPIView):
2250 queryset = UsableObject.objects.select_related().all()
2251 serializer_class = UsableObjectSerializer
2252 id_serializer_class = UsableObjectIdSerializer
2253 filter_backends = (filters.DjangoFilterBackend,)
2254 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
2256 def get_serializer_class(self):
2257 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2259 return self.id_serializer_class
2261 return self.serializer_class
2263 def get_queryset(self):
2264 return UsableObject.select_by_user(self.request.user)
2266 def create(self, request, *args, **kwargs):
2267 obj = UsableObject(**request.DATA)
2268 obj.caller = request.user
2269 if obj.can_update(request.user):
2270 return super(UsableObjectList, self).create(request, *args, **kwargs)
2272 raise Exception("failed obj.can_update")
2274 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
2275 if (ret.status_code%100 != 200):
2276 raise Exception(ret.data)
2281 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2282 queryset = UsableObject.objects.select_related().all()
2283 serializer_class = UsableObjectSerializer
2284 id_serializer_class = UsableObjectIdSerializer
2286 def get_serializer_class(self):
2287 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2289 return self.id_serializer_class
2291 return self.serializer_class
2293 def get_queryset(self):
2294 return UsableObject.select_by_user(self.request.user)
2296 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2298 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2302 class SiteRoleList(generics.ListCreateAPIView):
2303 queryset = SiteRole.objects.select_related().all()
2304 serializer_class = SiteRoleSerializer
2305 id_serializer_class = SiteRoleIdSerializer
2306 filter_backends = (filters.DjangoFilterBackend,)
2307 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2309 def get_serializer_class(self):
2310 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2312 return self.id_serializer_class
2314 return self.serializer_class
2316 def get_queryset(self):
2317 return SiteRole.select_by_user(self.request.user)
2319 def create(self, request, *args, **kwargs):
2320 obj = SiteRole(**request.DATA)
2321 obj.caller = request.user
2322 if obj.can_update(request.user):
2323 return super(SiteRoleList, self).create(request, *args, **kwargs)
2325 raise Exception("failed obj.can_update")
2327 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
2328 if (ret.status_code%100 != 200):
2329 raise Exception(ret.data)
2334 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2335 queryset = SiteRole.objects.select_related().all()
2336 serializer_class = SiteRoleSerializer
2337 id_serializer_class = SiteRoleIdSerializer
2339 def get_serializer_class(self):
2340 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2342 return self.id_serializer_class
2344 return self.serializer_class
2346 def get_queryset(self):
2347 return SiteRole.select_by_user(self.request.user)
2349 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2351 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2355 class SliceCredentialList(generics.ListCreateAPIView):
2356 queryset = SliceCredential.objects.select_related().all()
2357 serializer_class = SliceCredentialSerializer
2358 id_serializer_class = SliceCredentialIdSerializer
2359 filter_backends = (filters.DjangoFilterBackend,)
2360 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
2362 def get_serializer_class(self):
2363 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2365 return self.id_serializer_class
2367 return self.serializer_class
2369 def get_queryset(self):
2370 return SliceCredential.select_by_user(self.request.user)
2372 def create(self, request, *args, **kwargs):
2373 obj = SliceCredential(**request.DATA)
2374 obj.caller = request.user
2375 if obj.can_update(request.user):
2376 return super(SliceCredentialList, self).create(request, *args, **kwargs)
2378 raise Exception("failed obj.can_update")
2380 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
2381 if (ret.status_code%100 != 200):
2382 raise Exception(ret.data)
2387 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2388 queryset = SliceCredential.objects.select_related().all()
2389 serializer_class = SliceCredentialSerializer
2390 id_serializer_class = SliceCredentialIdSerializer
2392 def get_serializer_class(self):
2393 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2395 return self.id_serializer_class
2397 return self.serializer_class
2399 def get_queryset(self):
2400 return SliceCredential.select_by_user(self.request.user)
2402 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2404 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2408 class SliverList(generics.ListCreateAPIView):
2409 queryset = Sliver.objects.select_related().all()
2410 serializer_class = SliverSerializer
2411 id_serializer_class = SliverIdSerializer
2412 filter_backends = (filters.DjangoFilterBackend,)
2413 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',)
2415 def get_serializer_class(self):
2416 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2418 return self.id_serializer_class
2420 return self.serializer_class
2422 def get_queryset(self):
2423 return Sliver.select_by_user(self.request.user)
2425 def create(self, request, *args, **kwargs):
2426 obj = Sliver(**request.DATA)
2427 obj.caller = request.user
2428 if obj.can_update(request.user):
2429 return super(SliverList, self).create(request, *args, **kwargs)
2431 raise Exception("failed obj.can_update")
2433 ret = super(SliverList, self).create(request, *args, **kwargs)
2434 if (ret.status_code%100 != 200):
2435 raise Exception(ret.data)
2440 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2441 queryset = Sliver.objects.select_related().all()
2442 serializer_class = SliverSerializer
2443 id_serializer_class = SliverIdSerializer
2445 def get_serializer_class(self):
2446 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2448 return self.id_serializer_class
2450 return self.serializer_class
2452 def get_queryset(self):
2453 return Sliver.select_by_user(self.request.user)
2455 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2457 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2461 class NodeList(generics.ListCreateAPIView):
2462 queryset = Node.objects.select_related().all()
2463 serializer_class = NodeSerializer
2464 id_serializer_class = NodeIdSerializer
2465 filter_backends = (filters.DjangoFilterBackend,)
2466 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
2468 def get_serializer_class(self):
2469 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2471 return self.id_serializer_class
2473 return self.serializer_class
2475 def get_queryset(self):
2476 return Node.select_by_user(self.request.user)
2478 def create(self, request, *args, **kwargs):
2479 obj = Node(**request.DATA)
2480 obj.caller = request.user
2481 if obj.can_update(request.user):
2482 return super(NodeList, self).create(request, *args, **kwargs)
2484 raise Exception("failed obj.can_update")
2486 ret = super(NodeList, self).create(request, *args, **kwargs)
2487 if (ret.status_code%100 != 200):
2488 raise Exception(ret.data)
2493 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2494 queryset = Node.objects.select_related().all()
2495 serializer_class = NodeSerializer
2496 id_serializer_class = NodeIdSerializer
2498 def get_serializer_class(self):
2499 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2501 return self.id_serializer_class
2503 return self.serializer_class
2505 def get_queryset(self):
2506 return Node.select_by_user(self.request.user)
2508 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2510 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2514 class DashboardViewList(generics.ListCreateAPIView):
2515 queryset = DashboardView.objects.select_related().all()
2516 serializer_class = DashboardViewSerializer
2517 id_serializer_class = DashboardViewIdSerializer
2518 filter_backends = (filters.DjangoFilterBackend,)
2519 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
2521 def get_serializer_class(self):
2522 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2524 return self.id_serializer_class
2526 return self.serializer_class
2528 def get_queryset(self):
2529 return DashboardView.select_by_user(self.request.user)
2531 def create(self, request, *args, **kwargs):
2532 obj = DashboardView(**request.DATA)
2533 obj.caller = request.user
2534 if obj.can_update(request.user):
2535 return super(DashboardViewList, self).create(request, *args, **kwargs)
2537 raise Exception("failed obj.can_update")
2539 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
2540 if (ret.status_code%100 != 200):
2541 raise Exception(ret.data)
2546 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2547 queryset = DashboardView.objects.select_related().all()
2548 serializer_class = DashboardViewSerializer
2549 id_serializer_class = DashboardViewIdSerializer
2551 def get_serializer_class(self):
2552 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2554 return self.id_serializer_class
2556 return self.serializer_class
2558 def get_queryset(self):
2559 return DashboardView.select_by_user(self.request.user)
2561 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2563 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2567 class ImageDeploymentsList(generics.ListCreateAPIView):
2568 queryset = ImageDeployments.objects.select_related().all()
2569 serializer_class = ImageDeploymentsSerializer
2570 id_serializer_class = ImageDeploymentsIdSerializer
2571 filter_backends = (filters.DjangoFilterBackend,)
2572 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
2574 def get_serializer_class(self):
2575 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2577 return self.id_serializer_class
2579 return self.serializer_class
2581 def get_queryset(self):
2582 return ImageDeployments.select_by_user(self.request.user)
2584 def create(self, request, *args, **kwargs):
2585 obj = ImageDeployments(**request.DATA)
2586 obj.caller = request.user
2587 if obj.can_update(request.user):
2588 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2590 raise Exception("failed obj.can_update")
2592 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2593 if (ret.status_code%100 != 200):
2594 raise Exception(ret.data)
2599 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2600 queryset = ImageDeployments.objects.select_related().all()
2601 serializer_class = ImageDeploymentsSerializer
2602 id_serializer_class = ImageDeploymentsIdSerializer
2604 def get_serializer_class(self):
2605 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2607 return self.id_serializer_class
2609 return self.serializer_class
2611 def get_queryset(self):
2612 return ImageDeployments.select_by_user(self.request.user)
2614 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2616 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2620 class ReservedResourceList(generics.ListCreateAPIView):
2621 queryset = ReservedResource.objects.select_related().all()
2622 serializer_class = ReservedResourceSerializer
2623 id_serializer_class = ReservedResourceIdSerializer
2624 filter_backends = (filters.DjangoFilterBackend,)
2625 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
2627 def get_serializer_class(self):
2628 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2630 return self.id_serializer_class
2632 return self.serializer_class
2634 def get_queryset(self):
2635 return ReservedResource.select_by_user(self.request.user)
2637 def create(self, request, *args, **kwargs):
2638 obj = ReservedResource(**request.DATA)
2639 obj.caller = request.user
2640 if obj.can_update(request.user):
2641 return super(ReservedResourceList, self).create(request, *args, **kwargs)
2643 raise Exception("failed obj.can_update")
2645 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
2646 if (ret.status_code%100 != 200):
2647 raise Exception(ret.data)
2652 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2653 queryset = ReservedResource.objects.select_related().all()
2654 serializer_class = ReservedResourceSerializer
2655 id_serializer_class = ReservedResourceIdSerializer
2657 def get_serializer_class(self):
2658 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2660 return self.id_serializer_class
2662 return self.serializer_class
2664 def get_queryset(self):
2665 return ReservedResource.select_by_user(self.request.user)
2667 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2669 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2673 class NetworkSliceList(generics.ListCreateAPIView):
2674 queryset = NetworkSlice.objects.select_related().all()
2675 serializer_class = NetworkSliceSerializer
2676 id_serializer_class = NetworkSliceIdSerializer
2677 filter_backends = (filters.DjangoFilterBackend,)
2678 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
2680 def get_serializer_class(self):
2681 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2683 return self.id_serializer_class
2685 return self.serializer_class
2687 def get_queryset(self):
2688 return NetworkSlice.select_by_user(self.request.user)
2690 def create(self, request, *args, **kwargs):
2691 obj = NetworkSlice(**request.DATA)
2692 obj.caller = request.user
2693 if obj.can_update(request.user):
2694 return super(NetworkSliceList, self).create(request, *args, **kwargs)
2696 raise Exception("failed obj.can_update")
2698 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
2699 if (ret.status_code%100 != 200):
2700 raise Exception(ret.data)
2705 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2706 queryset = NetworkSlice.objects.select_related().all()
2707 serializer_class = NetworkSliceSerializer
2708 id_serializer_class = NetworkSliceIdSerializer
2710 def get_serializer_class(self):
2711 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2713 return self.id_serializer_class
2715 return self.serializer_class
2717 def get_queryset(self):
2718 return NetworkSlice.select_by_user(self.request.user)
2720 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2722 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2726 class UserDashboardViewList(generics.ListCreateAPIView):
2727 queryset = UserDashboardView.objects.select_related().all()
2728 serializer_class = UserDashboardViewSerializer
2729 id_serializer_class = UserDashboardViewIdSerializer
2730 filter_backends = (filters.DjangoFilterBackend,)
2731 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
2733 def get_serializer_class(self):
2734 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2736 return self.id_serializer_class
2738 return self.serializer_class
2740 def get_queryset(self):
2741 return UserDashboardView.select_by_user(self.request.user)
2743 def create(self, request, *args, **kwargs):
2744 obj = UserDashboardView(**request.DATA)
2745 obj.caller = request.user
2746 if obj.can_update(request.user):
2747 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
2749 raise Exception("failed obj.can_update")
2751 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
2752 if (ret.status_code%100 != 200):
2753 raise Exception(ret.data)
2758 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2759 queryset = UserDashboardView.objects.select_related().all()
2760 serializer_class = UserDashboardViewSerializer
2761 id_serializer_class = UserDashboardViewIdSerializer
2763 def get_serializer_class(self):
2764 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2766 return self.id_serializer_class
2768 return self.serializer_class
2770 def get_queryset(self):
2771 return UserDashboardView.select_by_user(self.request.user)
2773 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2775 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2779 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
2780 queryset = PlanetStackPrivilege.objects.select_related().all()
2781 serializer_class = PlanetStackPrivilegeSerializer
2782 id_serializer_class = PlanetStackPrivilegeIdSerializer
2783 filter_backends = (filters.DjangoFilterBackend,)
2784 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
2786 def get_serializer_class(self):
2787 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2789 return self.id_serializer_class
2791 return self.serializer_class
2793 def get_queryset(self):
2794 return PlanetStackPrivilege.select_by_user(self.request.user)
2796 def create(self, request, *args, **kwargs):
2797 obj = PlanetStackPrivilege(**request.DATA)
2798 obj.caller = request.user
2799 if obj.can_update(request.user):
2800 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2802 raise Exception("failed obj.can_update")
2804 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2805 if (ret.status_code%100 != 200):
2806 raise Exception(ret.data)
2811 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2812 queryset = PlanetStackPrivilege.objects.select_related().all()
2813 serializer_class = PlanetStackPrivilegeSerializer
2814 id_serializer_class = PlanetStackPrivilegeIdSerializer
2816 def get_serializer_class(self):
2817 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2819 return self.id_serializer_class
2821 return self.serializer_class
2823 def get_queryset(self):
2824 return PlanetStackPrivilege.select_by_user(self.request.user)
2826 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2828 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2832 class UserList(generics.ListCreateAPIView):
2833 queryset = User.objects.select_related().all()
2834 serializer_class = UserSerializer
2835 id_serializer_class = UserIdSerializer
2836 filter_backends = (filters.DjangoFilterBackend,)
2837 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',)
2839 def get_serializer_class(self):
2840 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2842 return self.id_serializer_class
2844 return self.serializer_class
2846 def get_queryset(self):
2847 return User.select_by_user(self.request.user)
2849 def create(self, request, *args, **kwargs):
2851 obj = User(**request.DATA)
2852 obj.caller = request.user
2853 if obj.can_update(request.user):
2854 return super(UserList, self).create(request, *args, **kwargs)
2856 raise Exception("failed obj.can_update")
2858 ret = super(UserList, self).create(request, *args, **kwargs)
2859 if (ret.status_code%100 != 200):
2860 raise Exception(ret.data)
2864 def put(self, request, *args, **kwargs):
2865 print "XXX UserList.put"
2866 return super(UserList,self).put(request,*args, **kwargs)
2869 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2870 queryset = User.objects.select_related().all()
2871 serializer_class = UserSerializer
2872 id_serializer_class = UserIdSerializer
2874 def get_serializer_class(self):
2875 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2877 return self.id_serializer_class
2879 return self.serializer_class
2881 def get_queryset(self):
2882 return User.select_by_user(self.request.user)
2884 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2886 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2890 class DeploymentList(generics.ListCreateAPIView):
2891 queryset = Deployment.objects.select_related().all()
2892 serializer_class = DeploymentSerializer
2893 id_serializer_class = DeploymentIdSerializer
2894 filter_backends = (filters.DjangoFilterBackend,)
2895 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',)
2897 def get_serializer_class(self):
2898 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2900 return self.id_serializer_class
2902 return self.serializer_class
2904 def get_queryset(self):
2905 return Deployment.select_by_user(self.request.user)
2907 def create(self, request, *args, **kwargs):
2908 obj = Deployment(**request.DATA)
2909 obj.caller = request.user
2910 if obj.can_update(request.user):
2911 return super(DeploymentList, self).create(request, *args, **kwargs)
2913 raise Exception("failed obj.can_update")
2915 ret = super(DeploymentList, self).create(request, *args, **kwargs)
2916 if (ret.status_code%100 != 200):
2917 raise Exception(ret.data)
2922 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2923 queryset = Deployment.objects.select_related().all()
2924 serializer_class = DeploymentSerializer
2925 id_serializer_class = DeploymentIdSerializer
2927 def get_serializer_class(self):
2928 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2930 return self.id_serializer_class
2932 return self.serializer_class
2934 def get_queryset(self):
2935 return Deployment.select_by_user(self.request.user)
2937 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2939 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2943 class ReservationList(generics.ListCreateAPIView):
2944 queryset = Reservation.objects.select_related().all()
2945 serializer_class = ReservationSerializer
2946 id_serializer_class = ReservationIdSerializer
2947 filter_backends = (filters.DjangoFilterBackend,)
2948 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
2950 def get_serializer_class(self):
2951 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2953 return self.id_serializer_class
2955 return self.serializer_class
2957 def get_queryset(self):
2958 return Reservation.select_by_user(self.request.user)
2960 def create(self, request, *args, **kwargs):
2961 obj = Reservation(**request.DATA)
2962 obj.caller = request.user
2963 if obj.can_update(request.user):
2964 return super(ReservationList, self).create(request, *args, **kwargs)
2966 raise Exception("failed obj.can_update")
2968 ret = super(ReservationList, self).create(request, *args, **kwargs)
2969 if (ret.status_code%100 != 200):
2970 raise Exception(ret.data)
2975 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2976 queryset = Reservation.objects.select_related().all()
2977 serializer_class = ReservationSerializer
2978 id_serializer_class = ReservationIdSerializer
2980 def get_serializer_class(self):
2981 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2983 return self.id_serializer_class
2985 return self.serializer_class
2987 def get_queryset(self):
2988 return Reservation.select_by_user(self.request.user)
2990 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2992 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2996 class SliceDeploymentsList(generics.ListCreateAPIView):
2997 queryset = SliceDeployments.objects.select_related().all()
2998 serializer_class = SliceDeploymentsSerializer
2999 id_serializer_class = SliceDeploymentsIdSerializer
3000 filter_backends = (filters.DjangoFilterBackend,)
3001 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
3003 def get_serializer_class(self):
3004 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3006 return self.id_serializer_class
3008 return self.serializer_class
3010 def get_queryset(self):
3011 return SliceDeployments.select_by_user(self.request.user)
3013 def create(self, request, *args, **kwargs):
3014 obj = SliceDeployments(**request.DATA)
3015 obj.caller = request.user
3016 if obj.can_update(request.user):
3017 return super(SliceDeploymentsList, self).create(request, *args, **kwargs)
3019 raise Exception("failed obj.can_update")
3021 ret = super(SliceDeploymentsList, self).create(request, *args, **kwargs)
3022 if (ret.status_code%100 != 200):
3023 raise Exception(ret.data)
3028 class SliceDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3029 queryset = SliceDeployments.objects.select_related().all()
3030 serializer_class = SliceDeploymentsSerializer
3031 id_serializer_class = SliceDeploymentsIdSerializer
3033 def get_serializer_class(self):
3034 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3036 return self.id_serializer_class
3038 return self.serializer_class
3040 def get_queryset(self):
3041 return SliceDeployments.select_by_user(self.request.user)
3043 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3045 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3049 class SitePrivilegeList(generics.ListCreateAPIView):
3050 queryset = SitePrivilege.objects.select_related().all()
3051 serializer_class = SitePrivilegeSerializer
3052 id_serializer_class = SitePrivilegeIdSerializer
3053 filter_backends = (filters.DjangoFilterBackend,)
3054 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
3056 def get_serializer_class(self):
3057 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3059 return self.id_serializer_class
3061 return self.serializer_class
3063 def get_queryset(self):
3064 return SitePrivilege.select_by_user(self.request.user)
3066 def create(self, request, *args, **kwargs):
3067 obj = SitePrivilege(**request.DATA)
3068 obj.caller = request.user
3069 if obj.can_update(request.user):
3070 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
3072 raise Exception("failed obj.can_update")
3074 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
3075 if (ret.status_code%100 != 200):
3076 raise Exception(ret.data)
3081 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3082 queryset = SitePrivilege.objects.select_related().all()
3083 serializer_class = SitePrivilegeSerializer
3084 id_serializer_class = SitePrivilegeIdSerializer
3086 def get_serializer_class(self):
3087 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3089 return self.id_serializer_class
3091 return self.serializer_class
3093 def get_queryset(self):
3094 return SitePrivilege.select_by_user(self.request.user)
3096 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3098 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3102 class PlanetStackList(generics.ListCreateAPIView):
3103 queryset = PlanetStack.objects.select_related().all()
3104 serializer_class = PlanetStackSerializer
3105 id_serializer_class = PlanetStackIdSerializer
3106 filter_backends = (filters.DjangoFilterBackend,)
3107 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
3109 def get_serializer_class(self):
3110 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3112 return self.id_serializer_class
3114 return self.serializer_class
3116 def get_queryset(self):
3117 return PlanetStack.select_by_user(self.request.user)
3119 def create(self, request, *args, **kwargs):
3120 obj = PlanetStack(**request.DATA)
3121 obj.caller = request.user
3122 if obj.can_update(request.user):
3123 return super(PlanetStackList, self).create(request, *args, **kwargs)
3125 raise Exception("failed obj.can_update")
3127 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
3128 if (ret.status_code%100 != 200):
3129 raise Exception(ret.data)
3134 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3135 queryset = PlanetStack.objects.select_related().all()
3136 serializer_class = PlanetStackSerializer
3137 id_serializer_class = PlanetStackIdSerializer
3139 def get_serializer_class(self):
3140 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3142 return self.id_serializer_class
3144 return self.serializer_class
3146 def get_queryset(self):
3147 return PlanetStack.select_by_user(self.request.user)
3149 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3151 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3155 class UserDeploymentsList(generics.ListCreateAPIView):
3156 queryset = UserDeployments.objects.select_related().all()
3157 serializer_class = UserDeploymentsSerializer
3158 id_serializer_class = UserDeploymentsIdSerializer
3159 filter_backends = (filters.DjangoFilterBackend,)
3160 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
3162 def get_serializer_class(self):
3163 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3165 return self.id_serializer_class
3167 return self.serializer_class
3169 def get_queryset(self):
3170 return UserDeployments.select_by_user(self.request.user)
3172 def create(self, request, *args, **kwargs):
3173 obj = UserDeployments(**request.DATA)
3174 obj.caller = request.user
3175 if obj.can_update(request.user):
3176 return super(UserDeploymentsList, self).create(request, *args, **kwargs)
3178 raise Exception("failed obj.can_update")
3180 ret = super(UserDeploymentsList, self).create(request, *args, **kwargs)
3181 if (ret.status_code%100 != 200):
3182 raise Exception(ret.data)
3187 class UserDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3188 queryset = UserDeployments.objects.select_related().all()
3189 serializer_class = UserDeploymentsSerializer
3190 id_serializer_class = UserDeploymentsIdSerializer
3192 def get_serializer_class(self):
3193 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3195 return self.id_serializer_class
3197 return self.serializer_class
3199 def get_queryset(self):
3200 return UserDeployments.select_by_user(self.request.user)
3202 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3204 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3208 class AccountList(generics.ListCreateAPIView):
3209 queryset = Account.objects.select_related().all()
3210 serializer_class = AccountSerializer
3211 id_serializer_class = AccountIdSerializer
3212 filter_backends = (filters.DjangoFilterBackend,)
3213 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
3215 def get_serializer_class(self):
3216 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3218 return self.id_serializer_class
3220 return self.serializer_class
3222 def get_queryset(self):
3223 return Account.select_by_user(self.request.user)
3225 def create(self, request, *args, **kwargs):
3226 obj = Account(**request.DATA)
3227 obj.caller = request.user
3228 if obj.can_update(request.user):
3229 return super(AccountList, self).create(request, *args, **kwargs)
3231 raise Exception("failed obj.can_update")
3233 ret = super(AccountList, self).create(request, *args, **kwargs)
3234 if (ret.status_code%100 != 200):
3235 raise Exception(ret.data)
3240 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3241 queryset = Account.objects.select_related().all()
3242 serializer_class = AccountSerializer
3243 id_serializer_class = AccountIdSerializer
3245 def get_serializer_class(self):
3246 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3248 return self.id_serializer_class
3250 return self.serializer_class
3252 def get_queryset(self):
3253 return Account.select_by_user(self.request.user)
3255 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3257 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3261 class NetworkParameterTypeList(generics.ListCreateAPIView):
3262 queryset = NetworkParameterType.objects.select_related().all()
3263 serializer_class = NetworkParameterTypeSerializer
3264 id_serializer_class = NetworkParameterTypeIdSerializer
3265 filter_backends = (filters.DjangoFilterBackend,)
3266 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
3268 def get_serializer_class(self):
3269 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3271 return self.id_serializer_class
3273 return self.serializer_class
3275 def get_queryset(self):
3276 return NetworkParameterType.select_by_user(self.request.user)
3278 def create(self, request, *args, **kwargs):
3279 obj = NetworkParameterType(**request.DATA)
3280 obj.caller = request.user
3281 if obj.can_update(request.user):
3282 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3284 raise Exception("failed obj.can_update")
3286 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3287 if (ret.status_code%100 != 200):
3288 raise Exception(ret.data)
3293 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3294 queryset = NetworkParameterType.objects.select_related().all()
3295 serializer_class = NetworkParameterTypeSerializer
3296 id_serializer_class = NetworkParameterTypeIdSerializer
3298 def get_serializer_class(self):
3299 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3301 return self.id_serializer_class
3303 return self.serializer_class
3305 def get_queryset(self):
3306 return NetworkParameterType.select_by_user(self.request.user)
3308 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3310 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3314 class SiteCredentialList(generics.ListCreateAPIView):
3315 queryset = SiteCredential.objects.select_related().all()
3316 serializer_class = SiteCredentialSerializer
3317 id_serializer_class = SiteCredentialIdSerializer
3318 filter_backends = (filters.DjangoFilterBackend,)
3319 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
3321 def get_serializer_class(self):
3322 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3324 return self.id_serializer_class
3326 return self.serializer_class
3328 def get_queryset(self):
3329 return SiteCredential.select_by_user(self.request.user)
3331 def create(self, request, *args, **kwargs):
3332 obj = SiteCredential(**request.DATA)
3333 obj.caller = request.user
3334 if obj.can_update(request.user):
3335 return super(SiteCredentialList, self).create(request, *args, **kwargs)
3337 raise Exception("failed obj.can_update")
3339 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
3340 if (ret.status_code%100 != 200):
3341 raise Exception(ret.data)
3346 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3347 queryset = SiteCredential.objects.select_related().all()
3348 serializer_class = SiteCredentialSerializer
3349 id_serializer_class = SiteCredentialIdSerializer
3351 def get_serializer_class(self):
3352 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3354 return self.id_serializer_class
3356 return self.serializer_class
3358 def get_queryset(self):
3359 return SiteCredential.select_by_user(self.request.user)
3361 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3363 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3367 class DeploymentPrivilegeList(generics.ListCreateAPIView):
3368 queryset = DeploymentPrivilege.objects.select_related().all()
3369 serializer_class = DeploymentPrivilegeSerializer
3370 id_serializer_class = DeploymentPrivilegeIdSerializer
3371 filter_backends = (filters.DjangoFilterBackend,)
3372 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
3374 def get_serializer_class(self):
3375 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3377 return self.id_serializer_class
3379 return self.serializer_class
3381 def get_queryset(self):
3382 return DeploymentPrivilege.select_by_user(self.request.user)
3384 def create(self, request, *args, **kwargs):
3385 obj = DeploymentPrivilege(**request.DATA)
3386 obj.caller = request.user
3387 if obj.can_update(request.user):
3388 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3390 raise Exception("failed obj.can_update")
3392 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3393 if (ret.status_code%100 != 200):
3394 raise Exception(ret.data)
3399 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3400 queryset = DeploymentPrivilege.objects.select_related().all()
3401 serializer_class = DeploymentPrivilegeSerializer
3402 id_serializer_class = DeploymentPrivilegeIdSerializer
3404 def get_serializer_class(self):
3405 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3407 return self.id_serializer_class
3409 return self.serializer_class
3411 def get_queryset(self):
3412 return DeploymentPrivilege.select_by_user(self.request.user)
3414 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3416 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3420 class DeploymentRoleList(generics.ListCreateAPIView):
3421 queryset = DeploymentRole.objects.select_related().all()
3422 serializer_class = DeploymentRoleSerializer
3423 id_serializer_class = DeploymentRoleIdSerializer
3424 filter_backends = (filters.DjangoFilterBackend,)
3425 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3427 def get_serializer_class(self):
3428 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3430 return self.id_serializer_class
3432 return self.serializer_class
3434 def get_queryset(self):
3435 return DeploymentRole.select_by_user(self.request.user)
3437 def create(self, request, *args, **kwargs):
3438 obj = DeploymentRole(**request.DATA)
3439 obj.caller = request.user
3440 if obj.can_update(request.user):
3441 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
3443 raise Exception("failed obj.can_update")
3445 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
3446 if (ret.status_code%100 != 200):
3447 raise Exception(ret.data)
3452 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3453 queryset = DeploymentRole.objects.select_related().all()
3454 serializer_class = DeploymentRoleSerializer
3455 id_serializer_class = DeploymentRoleIdSerializer
3457 def get_serializer_class(self):
3458 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3460 return self.id_serializer_class
3462 return self.serializer_class
3464 def get_queryset(self):
3465 return DeploymentRole.select_by_user(self.request.user)
3467 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3469 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3473 class UserCredentialList(generics.ListCreateAPIView):
3474 queryset = UserCredential.objects.select_related().all()
3475 serializer_class = UserCredentialSerializer
3476 id_serializer_class = UserCredentialIdSerializer
3477 filter_backends = (filters.DjangoFilterBackend,)
3478 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
3480 def get_serializer_class(self):
3481 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3483 return self.id_serializer_class
3485 return self.serializer_class
3487 def get_queryset(self):
3488 return UserCredential.select_by_user(self.request.user)
3490 def create(self, request, *args, **kwargs):
3491 obj = UserCredential(**request.DATA)
3492 obj.caller = request.user
3493 if obj.can_update(request.user):
3494 return super(UserCredentialList, self).create(request, *args, **kwargs)
3496 raise Exception("failed obj.can_update")
3498 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
3499 if (ret.status_code%100 != 200):
3500 raise Exception(ret.data)
3505 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3506 queryset = UserCredential.objects.select_related().all()
3507 serializer_class = UserCredentialSerializer
3508 id_serializer_class = UserCredentialIdSerializer
3510 def get_serializer_class(self):
3511 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3513 return self.id_serializer_class
3515 return self.serializer_class
3517 def get_queryset(self):
3518 return UserCredential.select_by_user(self.request.user)
3520 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3522 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3526 class SiteDeploymentsList(generics.ListCreateAPIView):
3527 queryset = SiteDeployments.objects.select_related().all()
3528 serializer_class = SiteDeploymentsSerializer
3529 id_serializer_class = SiteDeploymentsIdSerializer
3530 filter_backends = (filters.DjangoFilterBackend,)
3531 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
3533 def get_serializer_class(self):
3534 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3536 return self.id_serializer_class
3538 return self.serializer_class
3540 def get_queryset(self):
3541 return SiteDeployments.select_by_user(self.request.user)
3543 def create(self, request, *args, **kwargs):
3544 obj = SiteDeployments(**request.DATA)
3545 obj.caller = request.user
3546 if obj.can_update(request.user):
3547 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3549 raise Exception("failed obj.can_update")
3551 ret = super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3552 if (ret.status_code%100 != 200):
3553 raise Exception(ret.data)
3558 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3559 queryset = SiteDeployments.objects.select_related().all()
3560 serializer_class = SiteDeploymentsSerializer
3561 id_serializer_class = SiteDeploymentsIdSerializer
3563 def get_serializer_class(self):
3564 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3566 return self.id_serializer_class
3568 return self.serializer_class
3570 def get_queryset(self):
3571 return SiteDeployments.select_by_user(self.request.user)
3573 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3575 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3579 class SliceTagList(generics.ListCreateAPIView):
3580 queryset = SliceTag.objects.select_related().all()
3581 serializer_class = SliceTagSerializer
3582 id_serializer_class = SliceTagIdSerializer
3583 filter_backends = (filters.DjangoFilterBackend,)
3584 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
3586 def get_serializer_class(self):
3587 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3589 return self.id_serializer_class
3591 return self.serializer_class
3593 def get_queryset(self):
3594 return SliceTag.select_by_user(self.request.user)
3596 def create(self, request, *args, **kwargs):
3597 obj = SliceTag(**request.DATA)
3598 obj.caller = request.user
3599 if obj.can_update(request.user):
3600 return super(SliceTagList, self).create(request, *args, **kwargs)
3602 raise Exception("failed obj.can_update")
3604 ret = super(SliceTagList, self).create(request, *args, **kwargs)
3605 if (ret.status_code%100 != 200):
3606 raise Exception(ret.data)
3611 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3612 queryset = SliceTag.objects.select_related().all()
3613 serializer_class = SliceTagSerializer
3614 id_serializer_class = SliceTagIdSerializer
3616 def get_serializer_class(self):
3617 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3619 return self.id_serializer_class
3621 return self.serializer_class
3623 def get_queryset(self):
3624 return SliceTag.select_by_user(self.request.user)
3626 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3628 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3632 class NetworkTemplateList(generics.ListCreateAPIView):
3633 queryset = NetworkTemplate.objects.select_related().all()
3634 serializer_class = NetworkTemplateSerializer
3635 id_serializer_class = NetworkTemplateIdSerializer
3636 filter_backends = (filters.DjangoFilterBackend,)
3637 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
3639 def get_serializer_class(self):
3640 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3642 return self.id_serializer_class
3644 return self.serializer_class
3646 def get_queryset(self):
3647 return NetworkTemplate.select_by_user(self.request.user)
3649 def create(self, request, *args, **kwargs):
3650 obj = NetworkTemplate(**request.DATA)
3651 obj.caller = request.user
3652 if obj.can_update(request.user):
3653 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
3655 raise Exception("failed obj.can_update")
3657 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
3658 if (ret.status_code%100 != 200):
3659 raise Exception(ret.data)
3664 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3665 queryset = NetworkTemplate.objects.select_related().all()
3666 serializer_class = NetworkTemplateSerializer
3667 id_serializer_class = NetworkTemplateIdSerializer
3669 def get_serializer_class(self):
3670 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3672 return self.id_serializer_class
3674 return self.serializer_class
3676 def get_queryset(self):
3677 return NetworkTemplate.select_by_user(self.request.user)
3679 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3681 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3685 class RouterList(generics.ListCreateAPIView):
3686 queryset = Router.objects.select_related().all()
3687 serializer_class = RouterSerializer
3688 id_serializer_class = RouterIdSerializer
3689 filter_backends = (filters.DjangoFilterBackend,)
3690 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
3692 def get_serializer_class(self):
3693 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3695 return self.id_serializer_class
3697 return self.serializer_class
3699 def get_queryset(self):
3700 return Router.select_by_user(self.request.user)
3702 def create(self, request, *args, **kwargs):
3703 obj = Router(**request.DATA)
3704 obj.caller = request.user
3705 if obj.can_update(request.user):
3706 return super(RouterList, self).create(request, *args, **kwargs)
3708 raise Exception("failed obj.can_update")
3710 ret = super(RouterList, self).create(request, *args, **kwargs)
3711 if (ret.status_code%100 != 200):
3712 raise Exception(ret.data)
3717 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3718 queryset = Router.objects.select_related().all()
3719 serializer_class = RouterSerializer
3720 id_serializer_class = RouterIdSerializer
3722 def get_serializer_class(self):
3723 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3725 return self.id_serializer_class
3727 return self.serializer_class
3729 def get_queryset(self):
3730 return Router.select_by_user(self.request.user)
3732 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3734 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3738 class ServiceResourceList(generics.ListCreateAPIView):
3739 queryset = ServiceResource.objects.select_related().all()
3740 serializer_class = ServiceResourceSerializer
3741 id_serializer_class = ServiceResourceIdSerializer
3742 filter_backends = (filters.DjangoFilterBackend,)
3743 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
3745 def get_serializer_class(self):
3746 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3748 return self.id_serializer_class
3750 return self.serializer_class
3752 def get_queryset(self):
3753 return ServiceResource.select_by_user(self.request.user)
3755 def create(self, request, *args, **kwargs):
3756 obj = ServiceResource(**request.DATA)
3757 obj.caller = request.user
3758 if obj.can_update(request.user):
3759 return super(ServiceResourceList, self).create(request, *args, **kwargs)
3761 raise Exception("failed obj.can_update")
3763 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
3764 if (ret.status_code%100 != 200):
3765 raise Exception(ret.data)
3770 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3771 queryset = ServiceResource.objects.select_related().all()
3772 serializer_class = ServiceResourceSerializer
3773 id_serializer_class = ServiceResourceIdSerializer
3775 def get_serializer_class(self):
3776 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3778 return self.id_serializer_class
3780 return self.serializer_class
3782 def get_queryset(self):
3783 return ServiceResource.select_by_user(self.request.user)
3785 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3787 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView