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 core.models import *
7 from django.forms import widgets
8 from rest_framework import filters
11 Schema of the generator object:
12 all: Set of all Model objects
13 all_if(regex): Set of Model objects that match regex
16 plural: English plural of object name
17 camel: CamelCase version of object name
18 refs: list of references to other Model objects
19 props: list of properties minus refs
21 TODO: Deal with subnets
24 # Based on api_root.py
27 def api_root(request, format=None):
29 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
30 'images': reverse('image-list', request=request, format=format),
31 'networkparameters': reverse('networkparameter-list', request=request, format=format),
32 'sites': reverse('site-list', request=request, format=format),
33 'sliceroles': reverse('slicerole-list', request=request, format=format),
34 'tags': reverse('tag-list', request=request, format=format),
35 'invoices': reverse('invoice-list', request=request, format=format),
36 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
37 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
38 'networkslivers': reverse('networksliver-list', request=request, format=format),
39 'networkdeploymentses': reverse('networkdeployments-list', request=request, format=format),
40 'slices': reverse('slice-list', request=request, format=format),
41 'networks': reverse('network-list', request=request, format=format),
42 'services': reverse('service-list', request=request, format=format),
43 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
44 'payments': reverse('payment-list', request=request, format=format),
45 'charges': reverse('charge-list', request=request, format=format),
46 'roles': reverse('role-list', request=request, format=format),
47 'usableobjects': reverse('usableobject-list', request=request, format=format),
48 'siteroles': reverse('siterole-list', request=request, format=format),
49 'slivers': reverse('sliver-list', request=request, format=format),
50 'nodes': reverse('node-list', request=request, format=format),
51 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
52 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
53 'reservedresources': reverse('reservedresource-list', request=request, format=format),
54 'networkslices': reverse('networkslice-list', request=request, format=format),
55 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
56 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
57 'users': reverse('user-list', request=request, format=format),
58 'deployments': reverse('deployment-list', request=request, format=format),
59 'reservations': reverse('reservation-list', request=request, format=format),
60 'slicedeploymentses': reverse('slicedeployments-list', request=request, format=format),
61 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
62 'planetstacks': reverse('planetstack-list', request=request, format=format),
63 'userdeploymentses': reverse('userdeployments-list', request=request, format=format),
64 'accounts': reverse('account-list', request=request, format=format),
65 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
66 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
67 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
68 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
69 'projects': reverse('project-list', request=request, format=format),
70 'slicetags': reverse('slicetag-list', request=request, format=format),
71 'networktemplates': reverse('networktemplate-list', request=request, format=format),
72 'routers': reverse('router-list', request=request, format=format),
73 'serviceresources': reverse('serviceresource-list', request=request, format=format),
77 # Based on serializers.py
81 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
82 id = serializers.Field()
85 model = ServiceAttribute
86 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
88 class ServiceAttributeIdSerializer(serializers.ModelSerializer):
89 id = serializers.Field()
92 model = ServiceAttribute
93 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
98 class ImageSerializer(serializers.HyperlinkedModelSerializer):
99 id = serializers.Field()
103 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
105 class ImageIdSerializer(serializers.ModelSerializer):
106 id = serializers.Field()
110 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
115 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
116 id = serializers.Field()
119 model = NetworkParameter
120 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
122 class NetworkParameterIdSerializer(serializers.ModelSerializer):
123 id = serializers.Field()
126 model = NetworkParameter
127 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
132 class SiteSerializer(serializers.HyperlinkedModelSerializer):
133 id = serializers.Field()
137 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
139 class SiteIdSerializer(serializers.ModelSerializer):
140 id = serializers.Field()
144 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
149 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
150 id = serializers.Field()
154 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
156 class SliceRoleIdSerializer(serializers.ModelSerializer):
157 id = serializers.Field()
161 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
166 class TagSerializer(serializers.HyperlinkedModelSerializer):
167 id = serializers.Field()
170 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
174 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
178 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
182 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
187 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id','sites','slices','slivers','nodes',)
189 class TagIdSerializer(serializers.ModelSerializer):
190 id = serializers.Field()
193 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
197 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
201 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
205 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
210 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id','sites','slices','slivers','nodes',)
215 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
216 id = serializers.Field()
220 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
222 class InvoiceIdSerializer(serializers.ModelSerializer):
223 id = serializers.Field()
227 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
232 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
233 id = serializers.Field()
236 model = PlanetStackRole
237 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
239 class PlanetStackRoleIdSerializer(serializers.ModelSerializer):
240 id = serializers.Field()
243 model = PlanetStackRole
244 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
249 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
250 id = serializers.Field()
253 model = SlicePrivilege
254 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
256 class SlicePrivilegeIdSerializer(serializers.ModelSerializer):
257 id = serializers.Field()
260 model = SlicePrivilege
261 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
266 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
267 id = serializers.Field()
270 model = NetworkSliver
271 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
273 class NetworkSliverIdSerializer(serializers.ModelSerializer):
274 id = serializers.Field()
277 model = NetworkSliver
278 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
283 class NetworkDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
284 id = serializers.Field()
287 model = NetworkDeployments
288 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
290 class NetworkDeploymentsIdSerializer(serializers.ModelSerializer):
291 id = serializers.Field()
294 model = NetworkDeployments
295 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
300 class SliceSerializer(serializers.HyperlinkedModelSerializer):
301 id = serializers.Field()
304 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
308 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
312 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
316 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
321 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',)
323 class SliceIdSerializer(serializers.ModelSerializer):
324 id = serializers.Field()
327 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
331 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
335 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
339 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
344 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',)
349 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
350 id = serializers.Field()
353 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
357 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
361 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
365 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
370 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',)
372 class NetworkIdSerializer(serializers.ModelSerializer):
373 id = serializers.Field()
376 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
380 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
384 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
388 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
393 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',)
398 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
399 id = serializers.Field()
403 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
405 class ServiceIdSerializer(serializers.ModelSerializer):
406 id = serializers.Field()
410 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
415 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
416 id = serializers.Field()
420 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
422 class ServiceClassIdSerializer(serializers.ModelSerializer):
423 id = serializers.Field()
427 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
432 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
433 id = serializers.Field()
437 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
439 class PaymentIdSerializer(serializers.ModelSerializer):
440 id = serializers.Field()
444 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
449 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
450 id = serializers.Field()
454 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
456 class ChargeIdSerializer(serializers.ModelSerializer):
457 id = serializers.Field()
461 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
466 class RoleSerializer(serializers.HyperlinkedModelSerializer):
467 id = serializers.Field()
471 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
473 class RoleIdSerializer(serializers.ModelSerializer):
474 id = serializers.Field()
478 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
483 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
484 id = serializers.Field()
488 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
490 class UsableObjectIdSerializer(serializers.ModelSerializer):
491 id = serializers.Field()
495 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
500 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
501 id = serializers.Field()
505 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
507 class SiteRoleIdSerializer(serializers.ModelSerializer):
508 id = serializers.Field()
512 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
517 class SliverSerializer(serializers.HyperlinkedModelSerializer):
518 id = serializers.Field()
521 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
525 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
530 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','userData','networks','networks',)
532 class SliverIdSerializer(serializers.ModelSerializer):
533 id = serializers.Field()
536 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
540 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
545 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','userData','networks','networks',)
550 class NodeSerializer(serializers.HyperlinkedModelSerializer):
551 id = serializers.Field()
555 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
557 class NodeIdSerializer(serializers.ModelSerializer):
558 id = serializers.Field()
562 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
567 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
568 id = serializers.Field()
571 model = DashboardView
572 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
574 class DashboardViewIdSerializer(serializers.ModelSerializer):
575 id = serializers.Field()
578 model = DashboardView
579 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
584 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
585 id = serializers.Field()
588 model = ImageDeployments
589 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
591 class ImageDeploymentsIdSerializer(serializers.ModelSerializer):
592 id = serializers.Field()
595 model = ImageDeployments
596 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
601 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
602 id = serializers.Field()
605 model = ReservedResource
606 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
608 class ReservedResourceIdSerializer(serializers.ModelSerializer):
609 id = serializers.Field()
612 model = ReservedResource
613 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
618 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
619 id = serializers.Field()
623 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
625 class NetworkSliceIdSerializer(serializers.ModelSerializer):
626 id = serializers.Field()
630 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
635 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
636 id = serializers.Field()
639 model = UserDashboardView
640 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
642 class UserDashboardViewIdSerializer(serializers.ModelSerializer):
643 id = serializers.Field()
646 model = UserDashboardView
647 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
652 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
653 id = serializers.Field()
656 model = PlanetStackPrivilege
657 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
659 class PlanetStackPrivilegeIdSerializer(serializers.ModelSerializer):
660 id = serializers.Field()
663 model = PlanetStackPrivilege
664 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
669 class UserSerializer(serializers.HyperlinkedModelSerializer):
670 id = serializers.Field()
674 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',)
676 class UserIdSerializer(serializers.ModelSerializer):
677 id = serializers.Field()
681 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',)
686 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
687 id = serializers.Field()
690 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
694 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
699 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','accessControl','sites','sites',)
701 class DeploymentIdSerializer(serializers.ModelSerializer):
702 id = serializers.Field()
705 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
709 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
714 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','accessControl','sites','sites',)
719 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
720 id = serializers.Field()
724 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
726 class ReservationIdSerializer(serializers.ModelSerializer):
727 id = serializers.Field()
731 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
736 class SliceDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
737 id = serializers.Field()
740 model = SliceDeployments
741 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
743 class SliceDeploymentsIdSerializer(serializers.ModelSerializer):
744 id = serializers.Field()
747 model = SliceDeployments
748 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
753 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
754 id = serializers.Field()
757 model = SitePrivilege
758 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
760 class SitePrivilegeIdSerializer(serializers.ModelSerializer):
761 id = serializers.Field()
764 model = SitePrivilege
765 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
770 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
771 id = serializers.Field()
775 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
777 class PlanetStackIdSerializer(serializers.ModelSerializer):
778 id = serializers.Field()
782 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
787 class UserDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
788 id = serializers.Field()
791 model = UserDeployments
792 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
794 class UserDeploymentsIdSerializer(serializers.ModelSerializer):
795 id = serializers.Field()
798 model = UserDeployments
799 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
804 class AccountSerializer(serializers.HyperlinkedModelSerializer):
805 id = serializers.Field()
809 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
811 class AccountIdSerializer(serializers.ModelSerializer):
812 id = serializers.Field()
816 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
821 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
822 id = serializers.Field()
825 model = NetworkParameterType
826 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
828 class NetworkParameterTypeIdSerializer(serializers.ModelSerializer):
829 id = serializers.Field()
832 model = NetworkParameterType
833 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
838 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
839 id = serializers.Field()
842 model = SiteDeployments
843 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
845 class SiteDeploymentsIdSerializer(serializers.ModelSerializer):
846 id = serializers.Field()
849 model = SiteDeployments
850 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
855 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
856 id = serializers.Field()
859 model = DeploymentPrivilege
860 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
862 class DeploymentPrivilegeIdSerializer(serializers.ModelSerializer):
863 id = serializers.Field()
866 model = DeploymentPrivilege
867 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
872 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
873 id = serializers.Field()
876 model = DeploymentRole
877 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
879 class DeploymentRoleIdSerializer(serializers.ModelSerializer):
880 id = serializers.Field()
883 model = DeploymentRole
884 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
889 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
890 id = serializers.Field()
894 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
896 class ProjectIdSerializer(serializers.ModelSerializer):
897 id = serializers.Field()
901 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
906 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
907 id = serializers.Field()
911 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
913 class SliceTagIdSerializer(serializers.ModelSerializer):
914 id = serializers.Field()
918 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
923 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
924 id = serializers.Field()
927 model = NetworkTemplate
928 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
930 class NetworkTemplateIdSerializer(serializers.ModelSerializer):
931 id = serializers.Field()
934 model = NetworkTemplate
935 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
940 class RouterSerializer(serializers.HyperlinkedModelSerializer):
941 id = serializers.Field()
945 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
947 class RouterIdSerializer(serializers.ModelSerializer):
948 id = serializers.Field()
952 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
957 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
958 id = serializers.Field()
961 model = ServiceResource
962 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
964 class ServiceResourceIdSerializer(serializers.ModelSerializer):
965 id = serializers.Field()
968 model = ServiceResource
969 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
976 ServiceAttribute: ServiceAttributeSerializer,
978 Image: ImageSerializer,
980 NetworkParameter: NetworkParameterSerializer,
982 Site: SiteSerializer,
984 SliceRole: SliceRoleSerializer,
988 Invoice: InvoiceSerializer,
990 PlanetStackRole: PlanetStackRoleSerializer,
992 SlicePrivilege: SlicePrivilegeSerializer,
994 NetworkSliver: NetworkSliverSerializer,
996 NetworkDeployments: NetworkDeploymentsSerializer,
998 Slice: SliceSerializer,
1000 Network: NetworkSerializer,
1002 Service: ServiceSerializer,
1004 ServiceClass: ServiceClassSerializer,
1006 Payment: PaymentSerializer,
1008 Charge: ChargeSerializer,
1010 Role: RoleSerializer,
1012 UsableObject: UsableObjectSerializer,
1014 SiteRole: SiteRoleSerializer,
1016 Sliver: SliverSerializer,
1018 Node: NodeSerializer,
1020 DashboardView: DashboardViewSerializer,
1022 ImageDeployments: ImageDeploymentsSerializer,
1024 ReservedResource: ReservedResourceSerializer,
1026 NetworkSlice: NetworkSliceSerializer,
1028 UserDashboardView: UserDashboardViewSerializer,
1030 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
1032 User: UserSerializer,
1034 Deployment: DeploymentSerializer,
1036 Reservation: ReservationSerializer,
1038 SliceDeployments: SliceDeploymentsSerializer,
1040 SitePrivilege: SitePrivilegeSerializer,
1042 PlanetStack: PlanetStackSerializer,
1044 UserDeployments: UserDeploymentsSerializer,
1046 Account: AccountSerializer,
1048 NetworkParameterType: NetworkParameterTypeSerializer,
1050 SiteDeployments: SiteDeploymentsSerializer,
1052 DeploymentPrivilege: DeploymentPrivilegeSerializer,
1054 DeploymentRole: DeploymentRoleSerializer,
1056 Project: ProjectSerializer,
1058 SliceTag: SliceTagSerializer,
1060 NetworkTemplate: NetworkTemplateSerializer,
1062 Router: RouterSerializer,
1064 ServiceResource: ServiceResourceSerializer,
1069 # Based on core/views/*.py
1072 class ServiceAttributeList(generics.ListCreateAPIView):
1073 queryset = ServiceAttribute.objects.select_related().all()
1074 serializer_class = ServiceAttributeSerializer
1075 id_serializer_class = ServiceAttributeIdSerializer
1076 filter_backends = (filters.DjangoFilterBackend,)
1077 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
1079 def get_serializer_class(self):
1080 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1082 return self.id_serializer_class
1084 return self.serializer_class
1086 def get_queryset(self):
1087 return ServiceAttribute.select_by_user(self.request.user)
1089 def create(self, request, *args, **kwargs):
1090 #obj = ServiceAttribute().update(request.DATA)
1091 obj = self.get_object()
1092 obj.caller = request.user
1093 if obj.can_update(request.user):
1094 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
1096 return Response(status=status.HTTP_400_BAD_REQUEST)
1098 class ServiceAttributeDetail(generics.RetrieveUpdateDestroyAPIView):
1099 queryset = ServiceAttribute.objects.select_related().all()
1100 serializer_class = ServiceAttributeSerializer
1101 id_serializer_class = ServiceAttributeIdSerializer
1103 def get_serializer_class(self):
1104 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1106 return self.id_serializer_class
1108 return self.serializer_class
1110 def get_queryset(self):
1111 return ServiceAttribute.select_by_user(self.request.user)
1113 def update(self, request, *args, **kwargs):
1114 obj = self.get_object()
1115 if obj.can_update(request.user):
1116 return super(ServiceAttributeDetail, self).update(request, *args, **kwargs)
1118 return Response(status=status.HTTP_400_BAD_REQUEST)
1120 def destroy(self, request, *args, **kwargs):
1121 obj = self.get_object()
1122 if obj.can_update(request.user):
1123 return super(ServiceAttributeDetail, self).destroy(request, *args, **kwargs)
1125 return Response(status=status.HTTP_400_BAD_REQUEST)
1130 class ImageList(generics.ListCreateAPIView):
1131 queryset = Image.objects.select_related().all()
1132 serializer_class = ImageSerializer
1133 id_serializer_class = ImageIdSerializer
1134 filter_backends = (filters.DjangoFilterBackend,)
1135 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
1137 def get_serializer_class(self):
1138 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1140 return self.id_serializer_class
1142 return self.serializer_class
1144 def get_queryset(self):
1145 return Image.select_by_user(self.request.user)
1147 def create(self, request, *args, **kwargs):
1148 #obj = Image().update(request.DATA)
1149 obj = self.get_object()
1150 obj.caller = request.user
1151 if obj.can_update(request.user):
1152 return super(ImageList, self).create(request, *args, **kwargs)
1154 return Response(status=status.HTTP_400_BAD_REQUEST)
1156 class ImageDetail(generics.RetrieveUpdateDestroyAPIView):
1157 queryset = Image.objects.select_related().all()
1158 serializer_class = ImageSerializer
1159 id_serializer_class = ImageIdSerializer
1161 def get_serializer_class(self):
1162 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1164 return self.id_serializer_class
1166 return self.serializer_class
1168 def get_queryset(self):
1169 return Image.select_by_user(self.request.user)
1171 def update(self, request, *args, **kwargs):
1172 obj = self.get_object()
1173 if obj.can_update(request.user):
1174 return super(ImageDetail, self).update(request, *args, **kwargs)
1176 return Response(status=status.HTTP_400_BAD_REQUEST)
1178 def destroy(self, request, *args, **kwargs):
1179 obj = self.get_object()
1180 if obj.can_update(request.user):
1181 return super(ImageDetail, self).destroy(request, *args, **kwargs)
1183 return Response(status=status.HTTP_400_BAD_REQUEST)
1188 class NetworkParameterList(generics.ListCreateAPIView):
1189 queryset = NetworkParameter.objects.select_related().all()
1190 serializer_class = NetworkParameterSerializer
1191 id_serializer_class = NetworkParameterIdSerializer
1192 filter_backends = (filters.DjangoFilterBackend,)
1193 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
1195 def get_serializer_class(self):
1196 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1198 return self.id_serializer_class
1200 return self.serializer_class
1202 def get_queryset(self):
1203 return NetworkParameter.select_by_user(self.request.user)
1205 def create(self, request, *args, **kwargs):
1206 #obj = NetworkParameter().update(request.DATA)
1207 obj = self.get_object()
1208 obj.caller = request.user
1209 if obj.can_update(request.user):
1210 return super(NetworkParameterList, self).create(request, *args, **kwargs)
1212 return Response(status=status.HTTP_400_BAD_REQUEST)
1214 class NetworkParameterDetail(generics.RetrieveUpdateDestroyAPIView):
1215 queryset = NetworkParameter.objects.select_related().all()
1216 serializer_class = NetworkParameterSerializer
1217 id_serializer_class = NetworkParameterIdSerializer
1219 def get_serializer_class(self):
1220 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1222 return self.id_serializer_class
1224 return self.serializer_class
1226 def get_queryset(self):
1227 return NetworkParameter.select_by_user(self.request.user)
1229 def update(self, request, *args, **kwargs):
1230 obj = self.get_object()
1231 if obj.can_update(request.user):
1232 return super(NetworkParameterDetail, self).update(request, *args, **kwargs)
1234 return Response(status=status.HTTP_400_BAD_REQUEST)
1236 def destroy(self, request, *args, **kwargs):
1237 obj = self.get_object()
1238 if obj.can_update(request.user):
1239 return super(NetworkParameterDetail, self).destroy(request, *args, **kwargs)
1241 return Response(status=status.HTTP_400_BAD_REQUEST)
1246 class SiteList(generics.ListCreateAPIView):
1247 queryset = Site.objects.select_related().all()
1248 serializer_class = SiteSerializer
1249 id_serializer_class = SiteIdSerializer
1250 filter_backends = (filters.DjangoFilterBackend,)
1251 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
1253 def get_serializer_class(self):
1254 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1256 return self.id_serializer_class
1258 return self.serializer_class
1260 def get_queryset(self):
1261 return Site.select_by_user(self.request.user)
1263 def create(self, request, *args, **kwargs):
1264 #obj = Site().update(request.DATA)
1265 obj = self.get_object()
1266 obj.caller = request.user
1267 if obj.can_update(request.user):
1268 return super(SiteList, self).create(request, *args, **kwargs)
1270 return Response(status=status.HTTP_400_BAD_REQUEST)
1272 class SiteDetail(generics.RetrieveUpdateDestroyAPIView):
1273 queryset = Site.objects.select_related().all()
1274 serializer_class = SiteSerializer
1275 id_serializer_class = SiteIdSerializer
1277 def get_serializer_class(self):
1278 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1280 return self.id_serializer_class
1282 return self.serializer_class
1284 def get_queryset(self):
1285 return Site.select_by_user(self.request.user)
1287 def update(self, request, *args, **kwargs):
1288 obj = self.get_object()
1289 if obj.can_update(request.user):
1290 return super(SiteDetail, self).update(request, *args, **kwargs)
1292 return Response(status=status.HTTP_400_BAD_REQUEST)
1294 def destroy(self, request, *args, **kwargs):
1295 obj = self.get_object()
1296 if obj.can_update(request.user):
1297 return super(SiteDetail, self).destroy(request, *args, **kwargs)
1299 return Response(status=status.HTTP_400_BAD_REQUEST)
1304 class SliceRoleList(generics.ListCreateAPIView):
1305 queryset = SliceRole.objects.select_related().all()
1306 serializer_class = SliceRoleSerializer
1307 id_serializer_class = SliceRoleIdSerializer
1308 filter_backends = (filters.DjangoFilterBackend,)
1309 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1311 def get_serializer_class(self):
1312 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1314 return self.id_serializer_class
1316 return self.serializer_class
1318 def get_queryset(self):
1319 return SliceRole.select_by_user(self.request.user)
1321 def create(self, request, *args, **kwargs):
1322 #obj = SliceRole().update(request.DATA)
1323 obj = self.get_object()
1324 obj.caller = request.user
1325 if obj.can_update(request.user):
1326 return super(SliceRoleList, self).create(request, *args, **kwargs)
1328 return Response(status=status.HTTP_400_BAD_REQUEST)
1330 class SliceRoleDetail(generics.RetrieveUpdateDestroyAPIView):
1331 queryset = SliceRole.objects.select_related().all()
1332 serializer_class = SliceRoleSerializer
1333 id_serializer_class = SliceRoleIdSerializer
1335 def get_serializer_class(self):
1336 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1338 return self.id_serializer_class
1340 return self.serializer_class
1342 def get_queryset(self):
1343 return SliceRole.select_by_user(self.request.user)
1345 def update(self, request, *args, **kwargs):
1346 obj = self.get_object()
1347 if obj.can_update(request.user):
1348 return super(SliceRoleDetail, self).update(request, *args, **kwargs)
1350 return Response(status=status.HTTP_400_BAD_REQUEST)
1352 def destroy(self, request, *args, **kwargs):
1353 obj = self.get_object()
1354 if obj.can_update(request.user):
1355 return super(SliceRoleDetail, self).destroy(request, *args, **kwargs)
1357 return Response(status=status.HTTP_400_BAD_REQUEST)
1362 class TagList(generics.ListCreateAPIView):
1363 queryset = Tag.objects.select_related().all()
1364 serializer_class = TagSerializer
1365 id_serializer_class = TagIdSerializer
1366 filter_backends = (filters.DjangoFilterBackend,)
1367 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id','sites','slices','slivers','nodes',)
1369 def get_serializer_class(self):
1370 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1372 return self.id_serializer_class
1374 return self.serializer_class
1376 def get_queryset(self):
1377 return Tag.select_by_user(self.request.user)
1379 def create(self, request, *args, **kwargs):
1380 #obj = Tag().update(request.DATA)
1381 obj = self.get_object()
1382 obj.caller = request.user
1383 if obj.can_update(request.user):
1384 return super(TagList, self).create(request, *args, **kwargs)
1386 return Response(status=status.HTTP_400_BAD_REQUEST)
1388 class TagDetail(generics.RetrieveUpdateDestroyAPIView):
1389 queryset = Tag.objects.select_related().all()
1390 serializer_class = TagSerializer
1391 id_serializer_class = TagIdSerializer
1393 def get_serializer_class(self):
1394 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1396 return self.id_serializer_class
1398 return self.serializer_class
1400 def get_queryset(self):
1401 return Tag.select_by_user(self.request.user)
1403 def update(self, request, *args, **kwargs):
1404 obj = self.get_object()
1405 if obj.can_update(request.user):
1406 return super(TagDetail, self).update(request, *args, **kwargs)
1408 return Response(status=status.HTTP_400_BAD_REQUEST)
1410 def destroy(self, request, *args, **kwargs):
1411 obj = self.get_object()
1412 if obj.can_update(request.user):
1413 return super(TagDetail, self).destroy(request, *args, **kwargs)
1415 return Response(status=status.HTTP_400_BAD_REQUEST)
1420 class InvoiceList(generics.ListCreateAPIView):
1421 queryset = Invoice.objects.select_related().all()
1422 serializer_class = InvoiceSerializer
1423 id_serializer_class = InvoiceIdSerializer
1424 filter_backends = (filters.DjangoFilterBackend,)
1425 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
1427 def get_serializer_class(self):
1428 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1430 return self.id_serializer_class
1432 return self.serializer_class
1434 def get_queryset(self):
1435 return Invoice.select_by_user(self.request.user)
1437 def create(self, request, *args, **kwargs):
1438 #obj = Invoice().update(request.DATA)
1439 obj = self.get_object()
1440 obj.caller = request.user
1441 if obj.can_update(request.user):
1442 return super(InvoiceList, self).create(request, *args, **kwargs)
1444 return Response(status=status.HTTP_400_BAD_REQUEST)
1446 class InvoiceDetail(generics.RetrieveUpdateDestroyAPIView):
1447 queryset = Invoice.objects.select_related().all()
1448 serializer_class = InvoiceSerializer
1449 id_serializer_class = InvoiceIdSerializer
1451 def get_serializer_class(self):
1452 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1454 return self.id_serializer_class
1456 return self.serializer_class
1458 def get_queryset(self):
1459 return Invoice.select_by_user(self.request.user)
1461 def update(self, request, *args, **kwargs):
1462 obj = self.get_object()
1463 if obj.can_update(request.user):
1464 return super(InvoiceDetail, self).update(request, *args, **kwargs)
1466 return Response(status=status.HTTP_400_BAD_REQUEST)
1468 def destroy(self, request, *args, **kwargs):
1469 obj = self.get_object()
1470 if obj.can_update(request.user):
1471 return super(InvoiceDetail, self).destroy(request, *args, **kwargs)
1473 return Response(status=status.HTTP_400_BAD_REQUEST)
1478 class PlanetStackRoleList(generics.ListCreateAPIView):
1479 queryset = PlanetStackRole.objects.select_related().all()
1480 serializer_class = PlanetStackRoleSerializer
1481 id_serializer_class = PlanetStackRoleIdSerializer
1482 filter_backends = (filters.DjangoFilterBackend,)
1483 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1485 def get_serializer_class(self):
1486 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1488 return self.id_serializer_class
1490 return self.serializer_class
1492 def get_queryset(self):
1493 return PlanetStackRole.select_by_user(self.request.user)
1495 def create(self, request, *args, **kwargs):
1496 #obj = PlanetStackRole().update(request.DATA)
1497 obj = self.get_object()
1498 obj.caller = request.user
1499 if obj.can_update(request.user):
1500 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1502 return Response(status=status.HTTP_400_BAD_REQUEST)
1504 class PlanetStackRoleDetail(generics.RetrieveUpdateDestroyAPIView):
1505 queryset = PlanetStackRole.objects.select_related().all()
1506 serializer_class = PlanetStackRoleSerializer
1507 id_serializer_class = PlanetStackRoleIdSerializer
1509 def get_serializer_class(self):
1510 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1512 return self.id_serializer_class
1514 return self.serializer_class
1516 def get_queryset(self):
1517 return PlanetStackRole.select_by_user(self.request.user)
1519 def update(self, request, *args, **kwargs):
1520 obj = self.get_object()
1521 if obj.can_update(request.user):
1522 return super(PlanetStackRoleDetail, self).update(request, *args, **kwargs)
1524 return Response(status=status.HTTP_400_BAD_REQUEST)
1526 def destroy(self, request, *args, **kwargs):
1527 obj = self.get_object()
1528 if obj.can_update(request.user):
1529 return super(PlanetStackRoleDetail, self).destroy(request, *args, **kwargs)
1531 return Response(status=status.HTTP_400_BAD_REQUEST)
1536 class SlicePrivilegeList(generics.ListCreateAPIView):
1537 queryset = SlicePrivilege.objects.select_related().all()
1538 serializer_class = SlicePrivilegeSerializer
1539 id_serializer_class = SlicePrivilegeIdSerializer
1540 filter_backends = (filters.DjangoFilterBackend,)
1541 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
1543 def get_serializer_class(self):
1544 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1546 return self.id_serializer_class
1548 return self.serializer_class
1550 def get_queryset(self):
1551 return SlicePrivilege.select_by_user(self.request.user)
1553 def create(self, request, *args, **kwargs):
1554 #obj = SlicePrivilege().update(request.DATA)
1555 obj = self.get_object()
1556 obj.caller = request.user
1557 if obj.can_update(request.user):
1558 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1560 return Response(status=status.HTTP_400_BAD_REQUEST)
1562 class SlicePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
1563 queryset = SlicePrivilege.objects.select_related().all()
1564 serializer_class = SlicePrivilegeSerializer
1565 id_serializer_class = SlicePrivilegeIdSerializer
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 update(self, request, *args, **kwargs):
1578 obj = self.get_object()
1579 if obj.can_update(request.user):
1580 return super(SlicePrivilegeDetail, self).update(request, *args, **kwargs)
1582 return Response(status=status.HTTP_400_BAD_REQUEST)
1584 def destroy(self, request, *args, **kwargs):
1585 obj = self.get_object()
1586 if obj.can_update(request.user):
1587 return super(SlicePrivilegeDetail, self).destroy(request, *args, **kwargs)
1589 return Response(status=status.HTTP_400_BAD_REQUEST)
1594 class NetworkSliverList(generics.ListCreateAPIView):
1595 queryset = NetworkSliver.objects.select_related().all()
1596 serializer_class = NetworkSliverSerializer
1597 id_serializer_class = NetworkSliverIdSerializer
1598 filter_backends = (filters.DjangoFilterBackend,)
1599 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
1601 def get_serializer_class(self):
1602 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1604 return self.id_serializer_class
1606 return self.serializer_class
1608 def get_queryset(self):
1609 return NetworkSliver.select_by_user(self.request.user)
1611 def create(self, request, *args, **kwargs):
1612 #obj = NetworkSliver().update(request.DATA)
1613 obj = self.get_object()
1614 obj.caller = request.user
1615 if obj.can_update(request.user):
1616 return super(NetworkSliverList, self).create(request, *args, **kwargs)
1618 return Response(status=status.HTTP_400_BAD_REQUEST)
1620 class NetworkSliverDetail(generics.RetrieveUpdateDestroyAPIView):
1621 queryset = NetworkSliver.objects.select_related().all()
1622 serializer_class = NetworkSliverSerializer
1623 id_serializer_class = NetworkSliverIdSerializer
1625 def get_serializer_class(self):
1626 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1628 return self.id_serializer_class
1630 return self.serializer_class
1632 def get_queryset(self):
1633 return NetworkSliver.select_by_user(self.request.user)
1635 def update(self, request, *args, **kwargs):
1636 obj = self.get_object()
1637 if obj.can_update(request.user):
1638 return super(NetworkSliverDetail, self).update(request, *args, **kwargs)
1640 return Response(status=status.HTTP_400_BAD_REQUEST)
1642 def destroy(self, request, *args, **kwargs):
1643 obj = self.get_object()
1644 if obj.can_update(request.user):
1645 return super(NetworkSliverDetail, self).destroy(request, *args, **kwargs)
1647 return Response(status=status.HTTP_400_BAD_REQUEST)
1652 class NetworkDeploymentsList(generics.ListCreateAPIView):
1653 queryset = NetworkDeployments.objects.select_related().all()
1654 serializer_class = NetworkDeploymentsSerializer
1655 id_serializer_class = NetworkDeploymentsIdSerializer
1656 filter_backends = (filters.DjangoFilterBackend,)
1657 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
1659 def get_serializer_class(self):
1660 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1662 return self.id_serializer_class
1664 return self.serializer_class
1666 def get_queryset(self):
1667 return NetworkDeployments.select_by_user(self.request.user)
1669 def create(self, request, *args, **kwargs):
1670 #obj = NetworkDeployments().update(request.DATA)
1671 obj = self.get_object()
1672 obj.caller = request.user
1673 if obj.can_update(request.user):
1674 return super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
1676 return Response(status=status.HTTP_400_BAD_REQUEST)
1678 class NetworkDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
1679 queryset = NetworkDeployments.objects.select_related().all()
1680 serializer_class = NetworkDeploymentsSerializer
1681 id_serializer_class = NetworkDeploymentsIdSerializer
1683 def get_serializer_class(self):
1684 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1686 return self.id_serializer_class
1688 return self.serializer_class
1690 def get_queryset(self):
1691 return NetworkDeployments.select_by_user(self.request.user)
1693 def update(self, request, *args, **kwargs):
1694 obj = self.get_object()
1695 if obj.can_update(request.user):
1696 return super(NetworkDeploymentsDetail, self).update(request, *args, **kwargs)
1698 return Response(status=status.HTTP_400_BAD_REQUEST)
1700 def destroy(self, request, *args, **kwargs):
1701 obj = self.get_object()
1702 if obj.can_update(request.user):
1703 return super(NetworkDeploymentsDetail, self).destroy(request, *args, **kwargs)
1705 return Response(status=status.HTTP_400_BAD_REQUEST)
1710 class SliceList(generics.ListCreateAPIView):
1711 queryset = Slice.objects.select_related().all()
1712 serializer_class = SliceSerializer
1713 id_serializer_class = SliceIdSerializer
1714 filter_backends = (filters.DjangoFilterBackend,)
1715 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',)
1717 def get_serializer_class(self):
1718 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1720 return self.id_serializer_class
1722 return self.serializer_class
1724 def get_queryset(self):
1725 return Slice.select_by_user(self.request.user)
1727 def create(self, request, *args, **kwargs):
1728 #obj = Slice().update(request.DATA)
1729 obj = self.get_object()
1730 obj.caller = request.user
1731 if obj.can_update(request.user):
1732 return super(SliceList, self).create(request, *args, **kwargs)
1734 return Response(status=status.HTTP_400_BAD_REQUEST)
1736 class SliceDetail(generics.RetrieveUpdateDestroyAPIView):
1737 queryset = Slice.objects.select_related().all()
1738 serializer_class = SliceSerializer
1739 id_serializer_class = SliceIdSerializer
1741 def get_serializer_class(self):
1742 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1744 return self.id_serializer_class
1746 return self.serializer_class
1748 def get_queryset(self):
1749 return Slice.select_by_user(self.request.user)
1751 def update(self, request, *args, **kwargs):
1752 obj = self.get_object()
1753 if obj.can_update(request.user):
1754 return super(SliceDetail, self).update(request, *args, **kwargs)
1756 return Response(status=status.HTTP_400_BAD_REQUEST)
1758 def destroy(self, request, *args, **kwargs):
1759 obj = self.get_object()
1760 if obj.can_update(request.user):
1761 return super(SliceDetail, self).destroy(request, *args, **kwargs)
1763 return Response(status=status.HTTP_400_BAD_REQUEST)
1768 class NetworkList(generics.ListCreateAPIView):
1769 queryset = Network.objects.select_related().all()
1770 serializer_class = NetworkSerializer
1771 id_serializer_class = NetworkIdSerializer
1772 filter_backends = (filters.DjangoFilterBackend,)
1773 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',)
1775 def get_serializer_class(self):
1776 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1778 return self.id_serializer_class
1780 return self.serializer_class
1782 def get_queryset(self):
1783 return Network.select_by_user(self.request.user)
1785 def create(self, request, *args, **kwargs):
1786 #obj = Network().update(request.DATA)
1787 obj = self.get_object()
1788 obj.caller = request.user
1789 if obj.can_update(request.user):
1790 return super(NetworkList, self).create(request, *args, **kwargs)
1792 return Response(status=status.HTTP_400_BAD_REQUEST)
1794 class NetworkDetail(generics.RetrieveUpdateDestroyAPIView):
1795 queryset = Network.objects.select_related().all()
1796 serializer_class = NetworkSerializer
1797 id_serializer_class = NetworkIdSerializer
1799 def get_serializer_class(self):
1800 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1802 return self.id_serializer_class
1804 return self.serializer_class
1806 def get_queryset(self):
1807 return Network.select_by_user(self.request.user)
1809 def update(self, request, *args, **kwargs):
1810 obj = self.get_object()
1811 if obj.can_update(request.user):
1812 return super(NetworkDetail, self).update(request, *args, **kwargs)
1814 return Response(status=status.HTTP_400_BAD_REQUEST)
1816 def destroy(self, request, *args, **kwargs):
1817 obj = self.get_object()
1818 if obj.can_update(request.user):
1819 return super(NetworkDetail, self).destroy(request, *args, **kwargs)
1821 return Response(status=status.HTTP_400_BAD_REQUEST)
1826 class ServiceList(generics.ListCreateAPIView):
1827 queryset = Service.objects.select_related().all()
1828 serializer_class = ServiceSerializer
1829 id_serializer_class = ServiceIdSerializer
1830 filter_backends = (filters.DjangoFilterBackend,)
1831 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
1833 def get_serializer_class(self):
1834 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1836 return self.id_serializer_class
1838 return self.serializer_class
1840 def get_queryset(self):
1841 return Service.select_by_user(self.request.user)
1843 def create(self, request, *args, **kwargs):
1844 #obj = Service().update(request.DATA)
1845 obj = self.get_object()
1846 obj.caller = request.user
1847 if obj.can_update(request.user):
1848 return super(ServiceList, self).create(request, *args, **kwargs)
1850 return Response(status=status.HTTP_400_BAD_REQUEST)
1852 class ServiceDetail(generics.RetrieveUpdateDestroyAPIView):
1853 queryset = Service.objects.select_related().all()
1854 serializer_class = ServiceSerializer
1855 id_serializer_class = ServiceIdSerializer
1857 def get_serializer_class(self):
1858 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1860 return self.id_serializer_class
1862 return self.serializer_class
1864 def get_queryset(self):
1865 return Service.select_by_user(self.request.user)
1867 def update(self, request, *args, **kwargs):
1868 obj = self.get_object()
1869 if obj.can_update(request.user):
1870 return super(ServiceDetail, self).update(request, *args, **kwargs)
1872 return Response(status=status.HTTP_400_BAD_REQUEST)
1874 def destroy(self, request, *args, **kwargs):
1875 obj = self.get_object()
1876 if obj.can_update(request.user):
1877 return super(ServiceDetail, self).destroy(request, *args, **kwargs)
1879 return Response(status=status.HTTP_400_BAD_REQUEST)
1884 class ServiceClassList(generics.ListCreateAPIView):
1885 queryset = ServiceClass.objects.select_related().all()
1886 serializer_class = ServiceClassSerializer
1887 id_serializer_class = ServiceClassIdSerializer
1888 filter_backends = (filters.DjangoFilterBackend,)
1889 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1891 def get_serializer_class(self):
1892 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1894 return self.id_serializer_class
1896 return self.serializer_class
1898 def get_queryset(self):
1899 return ServiceClass.select_by_user(self.request.user)
1901 def create(self, request, *args, **kwargs):
1902 #obj = ServiceClass().update(request.DATA)
1903 obj = self.get_object()
1904 obj.caller = request.user
1905 if obj.can_update(request.user):
1906 return super(ServiceClassList, self).create(request, *args, **kwargs)
1908 return Response(status=status.HTTP_400_BAD_REQUEST)
1910 class ServiceClassDetail(generics.RetrieveUpdateDestroyAPIView):
1911 queryset = ServiceClass.objects.select_related().all()
1912 serializer_class = ServiceClassSerializer
1913 id_serializer_class = ServiceClassIdSerializer
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 ServiceClass.select_by_user(self.request.user)
1925 def update(self, request, *args, **kwargs):
1926 obj = self.get_object()
1927 if obj.can_update(request.user):
1928 return super(ServiceClassDetail, self).update(request, *args, **kwargs)
1930 return Response(status=status.HTTP_400_BAD_REQUEST)
1932 def destroy(self, request, *args, **kwargs):
1933 obj = self.get_object()
1934 if obj.can_update(request.user):
1935 return super(ServiceClassDetail, self).destroy(request, *args, **kwargs)
1937 return Response(status=status.HTTP_400_BAD_REQUEST)
1942 class PaymentList(generics.ListCreateAPIView):
1943 queryset = Payment.objects.select_related().all()
1944 serializer_class = PaymentSerializer
1945 id_serializer_class = PaymentIdSerializer
1946 filter_backends = (filters.DjangoFilterBackend,)
1947 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1949 def get_serializer_class(self):
1950 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1952 return self.id_serializer_class
1954 return self.serializer_class
1956 def get_queryset(self):
1957 return Payment.select_by_user(self.request.user)
1959 def create(self, request, *args, **kwargs):
1960 #obj = Payment().update(request.DATA)
1961 obj = self.get_object()
1962 obj.caller = request.user
1963 if obj.can_update(request.user):
1964 return super(PaymentList, self).create(request, *args, **kwargs)
1966 return Response(status=status.HTTP_400_BAD_REQUEST)
1968 class PaymentDetail(generics.RetrieveUpdateDestroyAPIView):
1969 queryset = Payment.objects.select_related().all()
1970 serializer_class = PaymentSerializer
1971 id_serializer_class = PaymentIdSerializer
1973 def get_serializer_class(self):
1974 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1976 return self.id_serializer_class
1978 return self.serializer_class
1980 def get_queryset(self):
1981 return Payment.select_by_user(self.request.user)
1983 def update(self, request, *args, **kwargs):
1984 obj = self.get_object()
1985 if obj.can_update(request.user):
1986 return super(PaymentDetail, self).update(request, *args, **kwargs)
1988 return Response(status=status.HTTP_400_BAD_REQUEST)
1990 def destroy(self, request, *args, **kwargs):
1991 obj = self.get_object()
1992 if obj.can_update(request.user):
1993 return super(PaymentDetail, self).destroy(request, *args, **kwargs)
1995 return Response(status=status.HTTP_400_BAD_REQUEST)
2000 class ChargeList(generics.ListCreateAPIView):
2001 queryset = Charge.objects.select_related().all()
2002 serializer_class = ChargeSerializer
2003 id_serializer_class = ChargeIdSerializer
2004 filter_backends = (filters.DjangoFilterBackend,)
2005 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
2007 def get_serializer_class(self):
2008 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2010 return self.id_serializer_class
2012 return self.serializer_class
2014 def get_queryset(self):
2015 return Charge.select_by_user(self.request.user)
2017 def create(self, request, *args, **kwargs):
2018 #obj = Charge().update(request.DATA)
2019 obj = self.get_object()
2020 obj.caller = request.user
2021 if obj.can_update(request.user):
2022 return super(ChargeList, self).create(request, *args, **kwargs)
2024 return Response(status=status.HTTP_400_BAD_REQUEST)
2026 class ChargeDetail(generics.RetrieveUpdateDestroyAPIView):
2027 queryset = Charge.objects.select_related().all()
2028 serializer_class = ChargeSerializer
2029 id_serializer_class = ChargeIdSerializer
2031 def get_serializer_class(self):
2032 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2034 return self.id_serializer_class
2036 return self.serializer_class
2038 def get_queryset(self):
2039 return Charge.select_by_user(self.request.user)
2041 def update(self, request, *args, **kwargs):
2042 obj = self.get_object()
2043 if obj.can_update(request.user):
2044 return super(ChargeDetail, self).update(request, *args, **kwargs)
2046 return Response(status=status.HTTP_400_BAD_REQUEST)
2048 def destroy(self, request, *args, **kwargs):
2049 obj = self.get_object()
2050 if obj.can_update(request.user):
2051 return super(ChargeDetail, self).destroy(request, *args, **kwargs)
2053 return Response(status=status.HTTP_400_BAD_REQUEST)
2058 class RoleList(generics.ListCreateAPIView):
2059 queryset = Role.objects.select_related().all()
2060 serializer_class = RoleSerializer
2061 id_serializer_class = RoleIdSerializer
2062 filter_backends = (filters.DjangoFilterBackend,)
2063 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
2065 def get_serializer_class(self):
2066 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2068 return self.id_serializer_class
2070 return self.serializer_class
2072 def get_queryset(self):
2073 return Role.select_by_user(self.request.user)
2075 def create(self, request, *args, **kwargs):
2076 #obj = Role().update(request.DATA)
2077 obj = self.get_object()
2078 obj.caller = request.user
2079 if obj.can_update(request.user):
2080 return super(RoleList, self).create(request, *args, **kwargs)
2082 return Response(status=status.HTTP_400_BAD_REQUEST)
2084 class RoleDetail(generics.RetrieveUpdateDestroyAPIView):
2085 queryset = Role.objects.select_related().all()
2086 serializer_class = RoleSerializer
2087 id_serializer_class = RoleIdSerializer
2089 def get_serializer_class(self):
2090 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2092 return self.id_serializer_class
2094 return self.serializer_class
2096 def get_queryset(self):
2097 return Role.select_by_user(self.request.user)
2099 def update(self, request, *args, **kwargs):
2100 obj = self.get_object()
2101 if obj.can_update(request.user):
2102 return super(RoleDetail, self).update(request, *args, **kwargs)
2104 return Response(status=status.HTTP_400_BAD_REQUEST)
2106 def destroy(self, request, *args, **kwargs):
2107 obj = self.get_object()
2108 if obj.can_update(request.user):
2109 return super(RoleDetail, self).destroy(request, *args, **kwargs)
2111 return Response(status=status.HTTP_400_BAD_REQUEST)
2116 class UsableObjectList(generics.ListCreateAPIView):
2117 queryset = UsableObject.objects.select_related().all()
2118 serializer_class = UsableObjectSerializer
2119 id_serializer_class = UsableObjectIdSerializer
2120 filter_backends = (filters.DjangoFilterBackend,)
2121 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
2123 def get_serializer_class(self):
2124 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2126 return self.id_serializer_class
2128 return self.serializer_class
2130 def get_queryset(self):
2131 return UsableObject.select_by_user(self.request.user)
2133 def create(self, request, *args, **kwargs):
2134 #obj = UsableObject().update(request.DATA)
2135 obj = self.get_object()
2136 obj.caller = request.user
2137 if obj.can_update(request.user):
2138 return super(UsableObjectList, self).create(request, *args, **kwargs)
2140 return Response(status=status.HTTP_400_BAD_REQUEST)
2142 class UsableObjectDetail(generics.RetrieveUpdateDestroyAPIView):
2143 queryset = UsableObject.objects.select_related().all()
2144 serializer_class = UsableObjectSerializer
2145 id_serializer_class = UsableObjectIdSerializer
2147 def get_serializer_class(self):
2148 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2150 return self.id_serializer_class
2152 return self.serializer_class
2154 def get_queryset(self):
2155 return UsableObject.select_by_user(self.request.user)
2157 def update(self, request, *args, **kwargs):
2158 obj = self.get_object()
2159 if obj.can_update(request.user):
2160 return super(UsableObjectDetail, self).update(request, *args, **kwargs)
2162 return Response(status=status.HTTP_400_BAD_REQUEST)
2164 def destroy(self, request, *args, **kwargs):
2165 obj = self.get_object()
2166 if obj.can_update(request.user):
2167 return super(UsableObjectDetail, self).destroy(request, *args, **kwargs)
2169 return Response(status=status.HTTP_400_BAD_REQUEST)
2174 class SiteRoleList(generics.ListCreateAPIView):
2175 queryset = SiteRole.objects.select_related().all()
2176 serializer_class = SiteRoleSerializer
2177 id_serializer_class = SiteRoleIdSerializer
2178 filter_backends = (filters.DjangoFilterBackend,)
2179 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2181 def get_serializer_class(self):
2182 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2184 return self.id_serializer_class
2186 return self.serializer_class
2188 def get_queryset(self):
2189 return SiteRole.select_by_user(self.request.user)
2191 def create(self, request, *args, **kwargs):
2192 #obj = SiteRole().update(request.DATA)
2193 obj = self.get_object()
2194 obj.caller = request.user
2195 if obj.can_update(request.user):
2196 return super(SiteRoleList, self).create(request, *args, **kwargs)
2198 return Response(status=status.HTTP_400_BAD_REQUEST)
2200 class SiteRoleDetail(generics.RetrieveUpdateDestroyAPIView):
2201 queryset = SiteRole.objects.select_related().all()
2202 serializer_class = SiteRoleSerializer
2203 id_serializer_class = SiteRoleIdSerializer
2205 def get_serializer_class(self):
2206 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2208 return self.id_serializer_class
2210 return self.serializer_class
2212 def get_queryset(self):
2213 return SiteRole.select_by_user(self.request.user)
2215 def update(self, request, *args, **kwargs):
2216 obj = self.get_object()
2217 if obj.can_update(request.user):
2218 return super(SiteRoleDetail, self).update(request, *args, **kwargs)
2220 return Response(status=status.HTTP_400_BAD_REQUEST)
2222 def destroy(self, request, *args, **kwargs):
2223 obj = self.get_object()
2224 if obj.can_update(request.user):
2225 return super(SiteRoleDetail, self).destroy(request, *args, **kwargs)
2227 return Response(status=status.HTTP_400_BAD_REQUEST)
2232 class SliverList(generics.ListCreateAPIView):
2233 queryset = Sliver.objects.select_related().all()
2234 serializer_class = SliverSerializer
2235 id_serializer_class = SliverIdSerializer
2236 filter_backends = (filters.DjangoFilterBackend,)
2237 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','userData','networks','networks',)
2239 def get_serializer_class(self):
2240 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2242 return self.id_serializer_class
2244 return self.serializer_class
2246 def get_queryset(self):
2247 return Sliver.select_by_user(self.request.user)
2249 def create(self, request, *args, **kwargs):
2250 #obj = Sliver().update(request.DATA)
2251 obj = self.get_object()
2252 obj.caller = request.user
2253 if obj.can_update(request.user):
2254 return super(SliverList, self).create(request, *args, **kwargs)
2256 return Response(status=status.HTTP_400_BAD_REQUEST)
2258 class SliverDetail(generics.RetrieveUpdateDestroyAPIView):
2259 queryset = Sliver.objects.select_related().all()
2260 serializer_class = SliverSerializer
2261 id_serializer_class = SliverIdSerializer
2263 def get_serializer_class(self):
2264 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2266 return self.id_serializer_class
2268 return self.serializer_class
2270 def get_queryset(self):
2271 return Sliver.select_by_user(self.request.user)
2273 def update(self, request, *args, **kwargs):
2274 obj = self.get_object()
2275 if obj.can_update(request.user):
2276 return super(SliverDetail, self).update(request, *args, **kwargs)
2278 return Response(status=status.HTTP_400_BAD_REQUEST)
2280 def destroy(self, request, *args, **kwargs):
2281 obj = self.get_object()
2282 if obj.can_update(request.user):
2283 return super(SliverDetail, self).destroy(request, *args, **kwargs)
2285 return Response(status=status.HTTP_400_BAD_REQUEST)
2290 class NodeList(generics.ListCreateAPIView):
2291 queryset = Node.objects.select_related().all()
2292 serializer_class = NodeSerializer
2293 id_serializer_class = NodeIdSerializer
2294 filter_backends = (filters.DjangoFilterBackend,)
2295 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
2297 def get_serializer_class(self):
2298 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2300 return self.id_serializer_class
2302 return self.serializer_class
2304 def get_queryset(self):
2305 return Node.select_by_user(self.request.user)
2307 def create(self, request, *args, **kwargs):
2308 #obj = Node().update(request.DATA)
2309 obj = self.get_object()
2310 obj.caller = request.user
2311 if obj.can_update(request.user):
2312 return super(NodeList, self).create(request, *args, **kwargs)
2314 return Response(status=status.HTTP_400_BAD_REQUEST)
2316 class NodeDetail(generics.RetrieveUpdateDestroyAPIView):
2317 queryset = Node.objects.select_related().all()
2318 serializer_class = NodeSerializer
2319 id_serializer_class = NodeIdSerializer
2321 def get_serializer_class(self):
2322 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2324 return self.id_serializer_class
2326 return self.serializer_class
2328 def get_queryset(self):
2329 return Node.select_by_user(self.request.user)
2331 def update(self, request, *args, **kwargs):
2332 obj = self.get_object()
2333 if obj.can_update(request.user):
2334 return super(NodeDetail, self).update(request, *args, **kwargs)
2336 return Response(status=status.HTTP_400_BAD_REQUEST)
2338 def destroy(self, request, *args, **kwargs):
2339 obj = self.get_object()
2340 if obj.can_update(request.user):
2341 return super(NodeDetail, self).destroy(request, *args, **kwargs)
2343 return Response(status=status.HTTP_400_BAD_REQUEST)
2348 class DashboardViewList(generics.ListCreateAPIView):
2349 queryset = DashboardView.objects.select_related().all()
2350 serializer_class = DashboardViewSerializer
2351 id_serializer_class = DashboardViewIdSerializer
2352 filter_backends = (filters.DjangoFilterBackend,)
2353 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
2355 def get_serializer_class(self):
2356 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2358 return self.id_serializer_class
2360 return self.serializer_class
2362 def get_queryset(self):
2363 return DashboardView.select_by_user(self.request.user)
2365 def create(self, request, *args, **kwargs):
2366 #obj = DashboardView().update(request.DATA)
2367 obj = self.get_object()
2368 obj.caller = request.user
2369 if obj.can_update(request.user):
2370 return super(DashboardViewList, self).create(request, *args, **kwargs)
2372 return Response(status=status.HTTP_400_BAD_REQUEST)
2374 class DashboardViewDetail(generics.RetrieveUpdateDestroyAPIView):
2375 queryset = DashboardView.objects.select_related().all()
2376 serializer_class = DashboardViewSerializer
2377 id_serializer_class = DashboardViewIdSerializer
2379 def get_serializer_class(self):
2380 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2382 return self.id_serializer_class
2384 return self.serializer_class
2386 def get_queryset(self):
2387 return DashboardView.select_by_user(self.request.user)
2389 def update(self, request, *args, **kwargs):
2390 obj = self.get_object()
2391 if obj.can_update(request.user):
2392 return super(DashboardViewDetail, self).update(request, *args, **kwargs)
2394 return Response(status=status.HTTP_400_BAD_REQUEST)
2396 def destroy(self, request, *args, **kwargs):
2397 obj = self.get_object()
2398 if obj.can_update(request.user):
2399 return super(DashboardViewDetail, self).destroy(request, *args, **kwargs)
2401 return Response(status=status.HTTP_400_BAD_REQUEST)
2406 class ImageDeploymentsList(generics.ListCreateAPIView):
2407 queryset = ImageDeployments.objects.select_related().all()
2408 serializer_class = ImageDeploymentsSerializer
2409 id_serializer_class = ImageDeploymentsIdSerializer
2410 filter_backends = (filters.DjangoFilterBackend,)
2411 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
2413 def get_serializer_class(self):
2414 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2416 return self.id_serializer_class
2418 return self.serializer_class
2420 def get_queryset(self):
2421 return ImageDeployments.select_by_user(self.request.user)
2423 def create(self, request, *args, **kwargs):
2424 #obj = ImageDeployments().update(request.DATA)
2425 obj = self.get_object()
2426 obj.caller = request.user
2427 if obj.can_update(request.user):
2428 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2430 return Response(status=status.HTTP_400_BAD_REQUEST)
2432 class ImageDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
2433 queryset = ImageDeployments.objects.select_related().all()
2434 serializer_class = ImageDeploymentsSerializer
2435 id_serializer_class = ImageDeploymentsIdSerializer
2437 def get_serializer_class(self):
2438 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2440 return self.id_serializer_class
2442 return self.serializer_class
2444 def get_queryset(self):
2445 return ImageDeployments.select_by_user(self.request.user)
2447 def update(self, request, *args, **kwargs):
2448 obj = self.get_object()
2449 if obj.can_update(request.user):
2450 return super(ImageDeploymentsDetail, self).update(request, *args, **kwargs)
2452 return Response(status=status.HTTP_400_BAD_REQUEST)
2454 def destroy(self, request, *args, **kwargs):
2455 obj = self.get_object()
2456 if obj.can_update(request.user):
2457 return super(ImageDeploymentsDetail, self).destroy(request, *args, **kwargs)
2459 return Response(status=status.HTTP_400_BAD_REQUEST)
2464 class ReservedResourceList(generics.ListCreateAPIView):
2465 queryset = ReservedResource.objects.select_related().all()
2466 serializer_class = ReservedResourceSerializer
2467 id_serializer_class = ReservedResourceIdSerializer
2468 filter_backends = (filters.DjangoFilterBackend,)
2469 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
2471 def get_serializer_class(self):
2472 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2474 return self.id_serializer_class
2476 return self.serializer_class
2478 def get_queryset(self):
2479 return ReservedResource.select_by_user(self.request.user)
2481 def create(self, request, *args, **kwargs):
2482 #obj = ReservedResource().update(request.DATA)
2483 obj = self.get_object()
2484 obj.caller = request.user
2485 if obj.can_update(request.user):
2486 return super(ReservedResourceList, self).create(request, *args, **kwargs)
2488 return Response(status=status.HTTP_400_BAD_REQUEST)
2490 class ReservedResourceDetail(generics.RetrieveUpdateDestroyAPIView):
2491 queryset = ReservedResource.objects.select_related().all()
2492 serializer_class = ReservedResourceSerializer
2493 id_serializer_class = ReservedResourceIdSerializer
2495 def get_serializer_class(self):
2496 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2498 return self.id_serializer_class
2500 return self.serializer_class
2502 def get_queryset(self):
2503 return ReservedResource.select_by_user(self.request.user)
2505 def update(self, request, *args, **kwargs):
2506 obj = self.get_object()
2507 if obj.can_update(request.user):
2508 return super(ReservedResourceDetail, self).update(request, *args, **kwargs)
2510 return Response(status=status.HTTP_400_BAD_REQUEST)
2512 def destroy(self, request, *args, **kwargs):
2513 obj = self.get_object()
2514 if obj.can_update(request.user):
2515 return super(ReservedResourceDetail, self).destroy(request, *args, **kwargs)
2517 return Response(status=status.HTTP_400_BAD_REQUEST)
2522 class NetworkSliceList(generics.ListCreateAPIView):
2523 queryset = NetworkSlice.objects.select_related().all()
2524 serializer_class = NetworkSliceSerializer
2525 id_serializer_class = NetworkSliceIdSerializer
2526 filter_backends = (filters.DjangoFilterBackend,)
2527 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
2529 def get_serializer_class(self):
2530 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2532 return self.id_serializer_class
2534 return self.serializer_class
2536 def get_queryset(self):
2537 return NetworkSlice.select_by_user(self.request.user)
2539 def create(self, request, *args, **kwargs):
2540 #obj = NetworkSlice().update(request.DATA)
2541 obj = self.get_object()
2542 obj.caller = request.user
2543 if obj.can_update(request.user):
2544 return super(NetworkSliceList, self).create(request, *args, **kwargs)
2546 return Response(status=status.HTTP_400_BAD_REQUEST)
2548 class NetworkSliceDetail(generics.RetrieveUpdateDestroyAPIView):
2549 queryset = NetworkSlice.objects.select_related().all()
2550 serializer_class = NetworkSliceSerializer
2551 id_serializer_class = NetworkSliceIdSerializer
2553 def get_serializer_class(self):
2554 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2556 return self.id_serializer_class
2558 return self.serializer_class
2560 def get_queryset(self):
2561 return NetworkSlice.select_by_user(self.request.user)
2563 def update(self, request, *args, **kwargs):
2564 obj = self.get_object()
2565 if obj.can_update(request.user):
2566 return super(NetworkSliceDetail, self).update(request, *args, **kwargs)
2568 return Response(status=status.HTTP_400_BAD_REQUEST)
2570 def destroy(self, request, *args, **kwargs):
2571 obj = self.get_object()
2572 if obj.can_update(request.user):
2573 return super(NetworkSliceDetail, self).destroy(request, *args, **kwargs)
2575 return Response(status=status.HTTP_400_BAD_REQUEST)
2580 class UserDashboardViewList(generics.ListCreateAPIView):
2581 queryset = UserDashboardView.objects.select_related().all()
2582 serializer_class = UserDashboardViewSerializer
2583 id_serializer_class = UserDashboardViewIdSerializer
2584 filter_backends = (filters.DjangoFilterBackend,)
2585 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
2587 def get_serializer_class(self):
2588 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2590 return self.id_serializer_class
2592 return self.serializer_class
2594 def get_queryset(self):
2595 return UserDashboardView.select_by_user(self.request.user)
2597 def create(self, request, *args, **kwargs):
2598 #obj = UserDashboardView().update(request.DATA)
2599 obj = self.get_object()
2600 obj.caller = request.user
2601 if obj.can_update(request.user):
2602 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
2604 return Response(status=status.HTTP_400_BAD_REQUEST)
2606 class UserDashboardViewDetail(generics.RetrieveUpdateDestroyAPIView):
2607 queryset = UserDashboardView.objects.select_related().all()
2608 serializer_class = UserDashboardViewSerializer
2609 id_serializer_class = UserDashboardViewIdSerializer
2611 def get_serializer_class(self):
2612 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2614 return self.id_serializer_class
2616 return self.serializer_class
2618 def get_queryset(self):
2619 return UserDashboardView.select_by_user(self.request.user)
2621 def update(self, request, *args, **kwargs):
2622 obj = self.get_object()
2623 if obj.can_update(request.user):
2624 return super(UserDashboardViewDetail, self).update(request, *args, **kwargs)
2626 return Response(status=status.HTTP_400_BAD_REQUEST)
2628 def destroy(self, request, *args, **kwargs):
2629 obj = self.get_object()
2630 if obj.can_update(request.user):
2631 return super(UserDashboardViewDetail, self).destroy(request, *args, **kwargs)
2633 return Response(status=status.HTTP_400_BAD_REQUEST)
2638 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
2639 queryset = PlanetStackPrivilege.objects.select_related().all()
2640 serializer_class = PlanetStackPrivilegeSerializer
2641 id_serializer_class = PlanetStackPrivilegeIdSerializer
2642 filter_backends = (filters.DjangoFilterBackend,)
2643 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
2645 def get_serializer_class(self):
2646 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2648 return self.id_serializer_class
2650 return self.serializer_class
2652 def get_queryset(self):
2653 return PlanetStackPrivilege.select_by_user(self.request.user)
2655 def create(self, request, *args, **kwargs):
2656 #obj = PlanetStackPrivilege().update(request.DATA)
2657 obj = self.get_object()
2658 obj.caller = request.user
2659 if obj.can_update(request.user):
2660 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2662 return Response(status=status.HTTP_400_BAD_REQUEST)
2664 class PlanetStackPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
2665 queryset = PlanetStackPrivilege.objects.select_related().all()
2666 serializer_class = PlanetStackPrivilegeSerializer
2667 id_serializer_class = PlanetStackPrivilegeIdSerializer
2669 def get_serializer_class(self):
2670 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2672 return self.id_serializer_class
2674 return self.serializer_class
2676 def get_queryset(self):
2677 return PlanetStackPrivilege.select_by_user(self.request.user)
2679 def update(self, request, *args, **kwargs):
2680 obj = self.get_object()
2681 if obj.can_update(request.user):
2682 return super(PlanetStackPrivilegeDetail, self).update(request, *args, **kwargs)
2684 return Response(status=status.HTTP_400_BAD_REQUEST)
2686 def destroy(self, request, *args, **kwargs):
2687 obj = self.get_object()
2688 if obj.can_update(request.user):
2689 return super(PlanetStackPrivilegeDetail, self).destroy(request, *args, **kwargs)
2691 return Response(status=status.HTTP_400_BAD_REQUEST)
2696 class UserList(generics.ListCreateAPIView):
2697 queryset = User.objects.select_related().all()
2698 serializer_class = UserSerializer
2699 id_serializer_class = UserIdSerializer
2700 filter_backends = (filters.DjangoFilterBackend,)
2701 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',)
2703 def get_serializer_class(self):
2704 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2706 return self.id_serializer_class
2708 return self.serializer_class
2710 def get_queryset(self):
2711 return User.select_by_user(self.request.user)
2713 def create(self, request, *args, **kwargs):
2714 #obj = User().update(request.DATA)
2715 obj = self.get_object()
2716 obj.caller = request.user
2717 if obj.can_update(request.user):
2718 return super(UserList, self).create(request, *args, **kwargs)
2720 return Response(status=status.HTTP_400_BAD_REQUEST)
2722 class UserDetail(generics.RetrieveUpdateDestroyAPIView):
2723 queryset = User.objects.select_related().all()
2724 serializer_class = UserSerializer
2725 id_serializer_class = UserIdSerializer
2727 def get_serializer_class(self):
2728 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2730 return self.id_serializer_class
2732 return self.serializer_class
2734 def get_queryset(self):
2735 return User.select_by_user(self.request.user)
2737 def update(self, request, *args, **kwargs):
2738 obj = self.get_object()
2739 if obj.can_update(request.user):
2740 return super(UserDetail, self).update(request, *args, **kwargs)
2742 return Response(status=status.HTTP_400_BAD_REQUEST)
2744 def destroy(self, request, *args, **kwargs):
2745 obj = self.get_object()
2746 if obj.can_update(request.user):
2747 return super(UserDetail, self).destroy(request, *args, **kwargs)
2749 return Response(status=status.HTTP_400_BAD_REQUEST)
2754 class DeploymentList(generics.ListCreateAPIView):
2755 queryset = Deployment.objects.select_related().all()
2756 serializer_class = DeploymentSerializer
2757 id_serializer_class = DeploymentIdSerializer
2758 filter_backends = (filters.DjangoFilterBackend,)
2759 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','accessControl','sites','sites',)
2761 def get_serializer_class(self):
2762 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2764 return self.id_serializer_class
2766 return self.serializer_class
2768 def get_queryset(self):
2769 return Deployment.select_by_user(self.request.user)
2771 def create(self, request, *args, **kwargs):
2772 #obj = Deployment().update(request.DATA)
2773 obj = self.get_object()
2774 obj.caller = request.user
2775 if obj.can_update(request.user):
2776 return super(DeploymentList, self).create(request, *args, **kwargs)
2778 return Response(status=status.HTTP_400_BAD_REQUEST)
2780 class DeploymentDetail(generics.RetrieveUpdateDestroyAPIView):
2781 queryset = Deployment.objects.select_related().all()
2782 serializer_class = DeploymentSerializer
2783 id_serializer_class = DeploymentIdSerializer
2785 def get_serializer_class(self):
2786 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2788 return self.id_serializer_class
2790 return self.serializer_class
2792 def get_queryset(self):
2793 return Deployment.select_by_user(self.request.user)
2795 def update(self, request, *args, **kwargs):
2796 obj = self.get_object()
2797 if obj.can_update(request.user):
2798 return super(DeploymentDetail, self).update(request, *args, **kwargs)
2800 return Response(status=status.HTTP_400_BAD_REQUEST)
2802 def destroy(self, request, *args, **kwargs):
2803 obj = self.get_object()
2804 if obj.can_update(request.user):
2805 return super(DeploymentDetail, self).destroy(request, *args, **kwargs)
2807 return Response(status=status.HTTP_400_BAD_REQUEST)
2812 class ReservationList(generics.ListCreateAPIView):
2813 queryset = Reservation.objects.select_related().all()
2814 serializer_class = ReservationSerializer
2815 id_serializer_class = ReservationIdSerializer
2816 filter_backends = (filters.DjangoFilterBackend,)
2817 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
2819 def get_serializer_class(self):
2820 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2822 return self.id_serializer_class
2824 return self.serializer_class
2826 def get_queryset(self):
2827 return Reservation.select_by_user(self.request.user)
2829 def create(self, request, *args, **kwargs):
2830 #obj = Reservation().update(request.DATA)
2831 obj = self.get_object()
2832 obj.caller = request.user
2833 if obj.can_update(request.user):
2834 return super(ReservationList, self).create(request, *args, **kwargs)
2836 return Response(status=status.HTTP_400_BAD_REQUEST)
2838 class ReservationDetail(generics.RetrieveUpdateDestroyAPIView):
2839 queryset = Reservation.objects.select_related().all()
2840 serializer_class = ReservationSerializer
2841 id_serializer_class = ReservationIdSerializer
2843 def get_serializer_class(self):
2844 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2846 return self.id_serializer_class
2848 return self.serializer_class
2850 def get_queryset(self):
2851 return Reservation.select_by_user(self.request.user)
2853 def update(self, request, *args, **kwargs):
2854 obj = self.get_object()
2855 if obj.can_update(request.user):
2856 return super(ReservationDetail, self).update(request, *args, **kwargs)
2858 return Response(status=status.HTTP_400_BAD_REQUEST)
2860 def destroy(self, request, *args, **kwargs):
2861 obj = self.get_object()
2862 if obj.can_update(request.user):
2863 return super(ReservationDetail, self).destroy(request, *args, **kwargs)
2865 return Response(status=status.HTTP_400_BAD_REQUEST)
2870 class SliceDeploymentsList(generics.ListCreateAPIView):
2871 queryset = SliceDeployments.objects.select_related().all()
2872 serializer_class = SliceDeploymentsSerializer
2873 id_serializer_class = SliceDeploymentsIdSerializer
2874 filter_backends = (filters.DjangoFilterBackend,)
2875 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
2877 def get_serializer_class(self):
2878 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2880 return self.id_serializer_class
2882 return self.serializer_class
2884 def get_queryset(self):
2885 return SliceDeployments.select_by_user(self.request.user)
2887 def create(self, request, *args, **kwargs):
2888 #obj = SliceDeployments().update(request.DATA)
2889 obj = self.get_object()
2890 obj.caller = request.user
2891 if obj.can_update(request.user):
2892 return super(SliceDeploymentsList, self).create(request, *args, **kwargs)
2894 return Response(status=status.HTTP_400_BAD_REQUEST)
2896 class SliceDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
2897 queryset = SliceDeployments.objects.select_related().all()
2898 serializer_class = SliceDeploymentsSerializer
2899 id_serializer_class = SliceDeploymentsIdSerializer
2901 def get_serializer_class(self):
2902 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2904 return self.id_serializer_class
2906 return self.serializer_class
2908 def get_queryset(self):
2909 return SliceDeployments.select_by_user(self.request.user)
2911 def update(self, request, *args, **kwargs):
2912 obj = self.get_object()
2913 if obj.can_update(request.user):
2914 return super(SliceDeploymentsDetail, self).update(request, *args, **kwargs)
2916 return Response(status=status.HTTP_400_BAD_REQUEST)
2918 def destroy(self, request, *args, **kwargs):
2919 obj = self.get_object()
2920 if obj.can_update(request.user):
2921 return super(SliceDeploymentsDetail, self).destroy(request, *args, **kwargs)
2923 return Response(status=status.HTTP_400_BAD_REQUEST)
2928 class SitePrivilegeList(generics.ListCreateAPIView):
2929 queryset = SitePrivilege.objects.select_related().all()
2930 serializer_class = SitePrivilegeSerializer
2931 id_serializer_class = SitePrivilegeIdSerializer
2932 filter_backends = (filters.DjangoFilterBackend,)
2933 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
2935 def get_serializer_class(self):
2936 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2938 return self.id_serializer_class
2940 return self.serializer_class
2942 def get_queryset(self):
2943 return SitePrivilege.select_by_user(self.request.user)
2945 def create(self, request, *args, **kwargs):
2946 #obj = SitePrivilege().update(request.DATA)
2947 obj = self.get_object()
2948 obj.caller = request.user
2949 if obj.can_update(request.user):
2950 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
2952 return Response(status=status.HTTP_400_BAD_REQUEST)
2954 class SitePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
2955 queryset = SitePrivilege.objects.select_related().all()
2956 serializer_class = SitePrivilegeSerializer
2957 id_serializer_class = SitePrivilegeIdSerializer
2959 def get_serializer_class(self):
2960 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2962 return self.id_serializer_class
2964 return self.serializer_class
2966 def get_queryset(self):
2967 return SitePrivilege.select_by_user(self.request.user)
2969 def update(self, request, *args, **kwargs):
2970 obj = self.get_object()
2971 if obj.can_update(request.user):
2972 return super(SitePrivilegeDetail, self).update(request, *args, **kwargs)
2974 return Response(status=status.HTTP_400_BAD_REQUEST)
2976 def destroy(self, request, *args, **kwargs):
2977 obj = self.get_object()
2978 if obj.can_update(request.user):
2979 return super(SitePrivilegeDetail, self).destroy(request, *args, **kwargs)
2981 return Response(status=status.HTTP_400_BAD_REQUEST)
2986 class PlanetStackList(generics.ListCreateAPIView):
2987 queryset = PlanetStack.objects.select_related().all()
2988 serializer_class = PlanetStackSerializer
2989 id_serializer_class = PlanetStackIdSerializer
2990 filter_backends = (filters.DjangoFilterBackend,)
2991 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
2993 def get_serializer_class(self):
2994 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2996 return self.id_serializer_class
2998 return self.serializer_class
3000 def get_queryset(self):
3001 return PlanetStack.select_by_user(self.request.user)
3003 def create(self, request, *args, **kwargs):
3004 #obj = PlanetStack().update(request.DATA)
3005 obj = self.get_object()
3006 obj.caller = request.user
3007 if obj.can_update(request.user):
3008 return super(PlanetStackList, self).create(request, *args, **kwargs)
3010 return Response(status=status.HTTP_400_BAD_REQUEST)
3012 class PlanetStackDetail(generics.RetrieveUpdateDestroyAPIView):
3013 queryset = PlanetStack.objects.select_related().all()
3014 serializer_class = PlanetStackSerializer
3015 id_serializer_class = PlanetStackIdSerializer
3017 def get_serializer_class(self):
3018 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3020 return self.id_serializer_class
3022 return self.serializer_class
3024 def get_queryset(self):
3025 return PlanetStack.select_by_user(self.request.user)
3027 def update(self, request, *args, **kwargs):
3028 obj = self.get_object()
3029 if obj.can_update(request.user):
3030 return super(PlanetStackDetail, self).update(request, *args, **kwargs)
3032 return Response(status=status.HTTP_400_BAD_REQUEST)
3034 def destroy(self, request, *args, **kwargs):
3035 obj = self.get_object()
3036 if obj.can_update(request.user):
3037 return super(PlanetStackDetail, self).destroy(request, *args, **kwargs)
3039 return Response(status=status.HTTP_400_BAD_REQUEST)
3044 class UserDeploymentsList(generics.ListCreateAPIView):
3045 queryset = UserDeployments.objects.select_related().all()
3046 serializer_class = UserDeploymentsSerializer
3047 id_serializer_class = UserDeploymentsIdSerializer
3048 filter_backends = (filters.DjangoFilterBackend,)
3049 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
3051 def get_serializer_class(self):
3052 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3054 return self.id_serializer_class
3056 return self.serializer_class
3058 def get_queryset(self):
3059 return UserDeployments.select_by_user(self.request.user)
3061 def create(self, request, *args, **kwargs):
3062 #obj = UserDeployments().update(request.DATA)
3063 obj = self.get_object()
3064 obj.caller = request.user
3065 if obj.can_update(request.user):
3066 return super(UserDeploymentsList, self).create(request, *args, **kwargs)
3068 return Response(status=status.HTTP_400_BAD_REQUEST)
3070 class UserDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
3071 queryset = UserDeployments.objects.select_related().all()
3072 serializer_class = UserDeploymentsSerializer
3073 id_serializer_class = UserDeploymentsIdSerializer
3075 def get_serializer_class(self):
3076 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3078 return self.id_serializer_class
3080 return self.serializer_class
3082 def get_queryset(self):
3083 return UserDeployments.select_by_user(self.request.user)
3085 def update(self, request, *args, **kwargs):
3086 obj = self.get_object()
3087 if obj.can_update(request.user):
3088 return super(UserDeploymentsDetail, self).update(request, *args, **kwargs)
3090 return Response(status=status.HTTP_400_BAD_REQUEST)
3092 def destroy(self, request, *args, **kwargs):
3093 obj = self.get_object()
3094 if obj.can_update(request.user):
3095 return super(UserDeploymentsDetail, self).destroy(request, *args, **kwargs)
3097 return Response(status=status.HTTP_400_BAD_REQUEST)
3102 class AccountList(generics.ListCreateAPIView):
3103 queryset = Account.objects.select_related().all()
3104 serializer_class = AccountSerializer
3105 id_serializer_class = AccountIdSerializer
3106 filter_backends = (filters.DjangoFilterBackend,)
3107 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
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 Account.select_by_user(self.request.user)
3119 def create(self, request, *args, **kwargs):
3120 #obj = Account().update(request.DATA)
3121 obj = self.get_object()
3122 obj.caller = request.user
3123 if obj.can_update(request.user):
3124 return super(AccountList, self).create(request, *args, **kwargs)
3126 return Response(status=status.HTTP_400_BAD_REQUEST)
3128 class AccountDetail(generics.RetrieveUpdateDestroyAPIView):
3129 queryset = Account.objects.select_related().all()
3130 serializer_class = AccountSerializer
3131 id_serializer_class = AccountIdSerializer
3133 def get_serializer_class(self):
3134 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3136 return self.id_serializer_class
3138 return self.serializer_class
3140 def get_queryset(self):
3141 return Account.select_by_user(self.request.user)
3143 def update(self, request, *args, **kwargs):
3144 obj = self.get_object()
3145 if obj.can_update(request.user):
3146 return super(AccountDetail, self).update(request, *args, **kwargs)
3148 return Response(status=status.HTTP_400_BAD_REQUEST)
3150 def destroy(self, request, *args, **kwargs):
3151 obj = self.get_object()
3152 if obj.can_update(request.user):
3153 return super(AccountDetail, self).destroy(request, *args, **kwargs)
3155 return Response(status=status.HTTP_400_BAD_REQUEST)
3160 class NetworkParameterTypeList(generics.ListCreateAPIView):
3161 queryset = NetworkParameterType.objects.select_related().all()
3162 serializer_class = NetworkParameterTypeSerializer
3163 id_serializer_class = NetworkParameterTypeIdSerializer
3164 filter_backends = (filters.DjangoFilterBackend,)
3165 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
3167 def get_serializer_class(self):
3168 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3170 return self.id_serializer_class
3172 return self.serializer_class
3174 def get_queryset(self):
3175 return NetworkParameterType.select_by_user(self.request.user)
3177 def create(self, request, *args, **kwargs):
3178 #obj = NetworkParameterType().update(request.DATA)
3179 obj = self.get_object()
3180 obj.caller = request.user
3181 if obj.can_update(request.user):
3182 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3184 return Response(status=status.HTTP_400_BAD_REQUEST)
3186 class NetworkParameterTypeDetail(generics.RetrieveUpdateDestroyAPIView):
3187 queryset = NetworkParameterType.objects.select_related().all()
3188 serializer_class = NetworkParameterTypeSerializer
3189 id_serializer_class = NetworkParameterTypeIdSerializer
3191 def get_serializer_class(self):
3192 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3194 return self.id_serializer_class
3196 return self.serializer_class
3198 def get_queryset(self):
3199 return NetworkParameterType.select_by_user(self.request.user)
3201 def update(self, request, *args, **kwargs):
3202 obj = self.get_object()
3203 if obj.can_update(request.user):
3204 return super(NetworkParameterTypeDetail, self).update(request, *args, **kwargs)
3206 return Response(status=status.HTTP_400_BAD_REQUEST)
3208 def destroy(self, request, *args, **kwargs):
3209 obj = self.get_object()
3210 if obj.can_update(request.user):
3211 return super(NetworkParameterTypeDetail, self).destroy(request, *args, **kwargs)
3213 return Response(status=status.HTTP_400_BAD_REQUEST)
3218 class SiteDeploymentsList(generics.ListCreateAPIView):
3219 queryset = SiteDeployments.objects.select_related().all()
3220 serializer_class = SiteDeploymentsSerializer
3221 id_serializer_class = SiteDeploymentsIdSerializer
3222 filter_backends = (filters.DjangoFilterBackend,)
3223 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
3225 def get_serializer_class(self):
3226 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3228 return self.id_serializer_class
3230 return self.serializer_class
3232 def get_queryset(self):
3233 return SiteDeployments.select_by_user(self.request.user)
3235 def create(self, request, *args, **kwargs):
3236 #obj = SiteDeployments().update(request.DATA)
3237 obj = self.get_object()
3238 obj.caller = request.user
3239 if obj.can_update(request.user):
3240 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3242 return Response(status=status.HTTP_400_BAD_REQUEST)
3244 class SiteDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
3245 queryset = SiteDeployments.objects.select_related().all()
3246 serializer_class = SiteDeploymentsSerializer
3247 id_serializer_class = SiteDeploymentsIdSerializer
3249 def get_serializer_class(self):
3250 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3252 return self.id_serializer_class
3254 return self.serializer_class
3256 def get_queryset(self):
3257 return SiteDeployments.select_by_user(self.request.user)
3259 def update(self, request, *args, **kwargs):
3260 obj = self.get_object()
3261 if obj.can_update(request.user):
3262 return super(SiteDeploymentsDetail, self).update(request, *args, **kwargs)
3264 return Response(status=status.HTTP_400_BAD_REQUEST)
3266 def destroy(self, request, *args, **kwargs):
3267 obj = self.get_object()
3268 if obj.can_update(request.user):
3269 return super(SiteDeploymentsDetail, self).destroy(request, *args, **kwargs)
3271 return Response(status=status.HTTP_400_BAD_REQUEST)
3276 class DeploymentPrivilegeList(generics.ListCreateAPIView):
3277 queryset = DeploymentPrivilege.objects.select_related().all()
3278 serializer_class = DeploymentPrivilegeSerializer
3279 id_serializer_class = DeploymentPrivilegeIdSerializer
3280 filter_backends = (filters.DjangoFilterBackend,)
3281 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
3283 def get_serializer_class(self):
3284 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3286 return self.id_serializer_class
3288 return self.serializer_class
3290 def get_queryset(self):
3291 return DeploymentPrivilege.select_by_user(self.request.user)
3293 def create(self, request, *args, **kwargs):
3294 #obj = DeploymentPrivilege().update(request.DATA)
3295 obj = self.get_object()
3296 obj.caller = request.user
3297 if obj.can_update(request.user):
3298 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3300 return Response(status=status.HTTP_400_BAD_REQUEST)
3302 class DeploymentPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
3303 queryset = DeploymentPrivilege.objects.select_related().all()
3304 serializer_class = DeploymentPrivilegeSerializer
3305 id_serializer_class = DeploymentPrivilegeIdSerializer
3307 def get_serializer_class(self):
3308 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3310 return self.id_serializer_class
3312 return self.serializer_class
3314 def get_queryset(self):
3315 return DeploymentPrivilege.select_by_user(self.request.user)
3317 def update(self, request, *args, **kwargs):
3318 obj = self.get_object()
3319 if obj.can_update(request.user):
3320 return super(DeploymentPrivilegeDetail, self).update(request, *args, **kwargs)
3322 return Response(status=status.HTTP_400_BAD_REQUEST)
3324 def destroy(self, request, *args, **kwargs):
3325 obj = self.get_object()
3326 if obj.can_update(request.user):
3327 return super(DeploymentPrivilegeDetail, self).destroy(request, *args, **kwargs)
3329 return Response(status=status.HTTP_400_BAD_REQUEST)
3334 class DeploymentRoleList(generics.ListCreateAPIView):
3335 queryset = DeploymentRole.objects.select_related().all()
3336 serializer_class = DeploymentRoleSerializer
3337 id_serializer_class = DeploymentRoleIdSerializer
3338 filter_backends = (filters.DjangoFilterBackend,)
3339 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3341 def get_serializer_class(self):
3342 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3344 return self.id_serializer_class
3346 return self.serializer_class
3348 def get_queryset(self):
3349 return DeploymentRole.select_by_user(self.request.user)
3351 def create(self, request, *args, **kwargs):
3352 #obj = DeploymentRole().update(request.DATA)
3353 obj = self.get_object()
3354 obj.caller = request.user
3355 if obj.can_update(request.user):
3356 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
3358 return Response(status=status.HTTP_400_BAD_REQUEST)
3360 class DeploymentRoleDetail(generics.RetrieveUpdateDestroyAPIView):
3361 queryset = DeploymentRole.objects.select_related().all()
3362 serializer_class = DeploymentRoleSerializer
3363 id_serializer_class = DeploymentRoleIdSerializer
3365 def get_serializer_class(self):
3366 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3368 return self.id_serializer_class
3370 return self.serializer_class
3372 def get_queryset(self):
3373 return DeploymentRole.select_by_user(self.request.user)
3375 def update(self, request, *args, **kwargs):
3376 obj = self.get_object()
3377 if obj.can_update(request.user):
3378 return super(DeploymentRoleDetail, self).update(request, *args, **kwargs)
3380 return Response(status=status.HTTP_400_BAD_REQUEST)
3382 def destroy(self, request, *args, **kwargs):
3383 obj = self.get_object()
3384 if obj.can_update(request.user):
3385 return super(DeploymentRoleDetail, self).destroy(request, *args, **kwargs)
3387 return Response(status=status.HTTP_400_BAD_REQUEST)
3392 class ProjectList(generics.ListCreateAPIView):
3393 queryset = Project.objects.select_related().all()
3394 serializer_class = ProjectSerializer
3395 id_serializer_class = ProjectIdSerializer
3396 filter_backends = (filters.DjangoFilterBackend,)
3397 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
3399 def get_serializer_class(self):
3400 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3402 return self.id_serializer_class
3404 return self.serializer_class
3406 def get_queryset(self):
3407 return Project.select_by_user(self.request.user)
3409 def create(self, request, *args, **kwargs):
3410 #obj = Project().update(request.DATA)
3411 obj = self.get_object()
3412 obj.caller = request.user
3413 if obj.can_update(request.user):
3414 return super(ProjectList, self).create(request, *args, **kwargs)
3416 return Response(status=status.HTTP_400_BAD_REQUEST)
3418 class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
3419 queryset = Project.objects.select_related().all()
3420 serializer_class = ProjectSerializer
3421 id_serializer_class = ProjectIdSerializer
3423 def get_serializer_class(self):
3424 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3426 return self.id_serializer_class
3428 return self.serializer_class
3430 def get_queryset(self):
3431 return Project.select_by_user(self.request.user)
3433 def update(self, request, *args, **kwargs):
3434 obj = self.get_object()
3435 if obj.can_update(request.user):
3436 return super(ProjectDetail, self).update(request, *args, **kwargs)
3438 return Response(status=status.HTTP_400_BAD_REQUEST)
3440 def destroy(self, request, *args, **kwargs):
3441 obj = self.get_object()
3442 if obj.can_update(request.user):
3443 return super(ProjectDetail, self).destroy(request, *args, **kwargs)
3445 return Response(status=status.HTTP_400_BAD_REQUEST)
3450 class SliceTagList(generics.ListCreateAPIView):
3451 queryset = SliceTag.objects.select_related().all()
3452 serializer_class = SliceTagSerializer
3453 id_serializer_class = SliceTagIdSerializer
3454 filter_backends = (filters.DjangoFilterBackend,)
3455 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
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 SliceTag.select_by_user(self.request.user)
3467 def create(self, request, *args, **kwargs):
3468 #obj = SliceTag().update(request.DATA)
3469 obj = self.get_object()
3470 obj.caller = request.user
3471 if obj.can_update(request.user):
3472 return super(SliceTagList, self).create(request, *args, **kwargs)
3474 return Response(status=status.HTTP_400_BAD_REQUEST)
3476 class SliceTagDetail(generics.RetrieveUpdateDestroyAPIView):
3477 queryset = SliceTag.objects.select_related().all()
3478 serializer_class = SliceTagSerializer
3479 id_serializer_class = SliceTagIdSerializer
3481 def get_serializer_class(self):
3482 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3484 return self.id_serializer_class
3486 return self.serializer_class
3488 def get_queryset(self):
3489 return SliceTag.select_by_user(self.request.user)
3491 def update(self, request, *args, **kwargs):
3492 obj = self.get_object()
3493 if obj.can_update(request.user):
3494 return super(SliceTagDetail, self).update(request, *args, **kwargs)
3496 return Response(status=status.HTTP_400_BAD_REQUEST)
3498 def destroy(self, request, *args, **kwargs):
3499 obj = self.get_object()
3500 if obj.can_update(request.user):
3501 return super(SliceTagDetail, self).destroy(request, *args, **kwargs)
3503 return Response(status=status.HTTP_400_BAD_REQUEST)
3508 class NetworkTemplateList(generics.ListCreateAPIView):
3509 queryset = NetworkTemplate.objects.select_related().all()
3510 serializer_class = NetworkTemplateSerializer
3511 id_serializer_class = NetworkTemplateIdSerializer
3512 filter_backends = (filters.DjangoFilterBackend,)
3513 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
3515 def get_serializer_class(self):
3516 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3518 return self.id_serializer_class
3520 return self.serializer_class
3522 def get_queryset(self):
3523 return NetworkTemplate.select_by_user(self.request.user)
3525 def create(self, request, *args, **kwargs):
3526 #obj = NetworkTemplate().update(request.DATA)
3527 obj = self.get_object()
3528 obj.caller = request.user
3529 if obj.can_update(request.user):
3530 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
3532 return Response(status=status.HTTP_400_BAD_REQUEST)
3534 class NetworkTemplateDetail(generics.RetrieveUpdateDestroyAPIView):
3535 queryset = NetworkTemplate.objects.select_related().all()
3536 serializer_class = NetworkTemplateSerializer
3537 id_serializer_class = NetworkTemplateIdSerializer
3539 def get_serializer_class(self):
3540 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3542 return self.id_serializer_class
3544 return self.serializer_class
3546 def get_queryset(self):
3547 return NetworkTemplate.select_by_user(self.request.user)
3549 def update(self, request, *args, **kwargs):
3550 obj = self.get_object()
3551 if obj.can_update(request.user):
3552 return super(NetworkTemplateDetail, self).update(request, *args, **kwargs)
3554 return Response(status=status.HTTP_400_BAD_REQUEST)
3556 def destroy(self, request, *args, **kwargs):
3557 obj = self.get_object()
3558 if obj.can_update(request.user):
3559 return super(NetworkTemplateDetail, self).destroy(request, *args, **kwargs)
3561 return Response(status=status.HTTP_400_BAD_REQUEST)
3566 class RouterList(generics.ListCreateAPIView):
3567 queryset = Router.objects.select_related().all()
3568 serializer_class = RouterSerializer
3569 id_serializer_class = RouterIdSerializer
3570 filter_backends = (filters.DjangoFilterBackend,)
3571 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
3573 def get_serializer_class(self):
3574 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3576 return self.id_serializer_class
3578 return self.serializer_class
3580 def get_queryset(self):
3581 return Router.select_by_user(self.request.user)
3583 def create(self, request, *args, **kwargs):
3584 #obj = Router().update(request.DATA)
3585 obj = self.get_object()
3586 obj.caller = request.user
3587 if obj.can_update(request.user):
3588 return super(RouterList, self).create(request, *args, **kwargs)
3590 return Response(status=status.HTTP_400_BAD_REQUEST)
3592 class RouterDetail(generics.RetrieveUpdateDestroyAPIView):
3593 queryset = Router.objects.select_related().all()
3594 serializer_class = RouterSerializer
3595 id_serializer_class = RouterIdSerializer
3597 def get_serializer_class(self):
3598 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3600 return self.id_serializer_class
3602 return self.serializer_class
3604 def get_queryset(self):
3605 return Router.select_by_user(self.request.user)
3607 def update(self, request, *args, **kwargs):
3608 obj = self.get_object()
3609 if obj.can_update(request.user):
3610 return super(RouterDetail, self).update(request, *args, **kwargs)
3612 return Response(status=status.HTTP_400_BAD_REQUEST)
3614 def destroy(self, request, *args, **kwargs):
3615 obj = self.get_object()
3616 if obj.can_update(request.user):
3617 return super(RouterDetail, self).destroy(request, *args, **kwargs)
3619 return Response(status=status.HTTP_400_BAD_REQUEST)
3624 class ServiceResourceList(generics.ListCreateAPIView):
3625 queryset = ServiceResource.objects.select_related().all()
3626 serializer_class = ServiceResourceSerializer
3627 id_serializer_class = ServiceResourceIdSerializer
3628 filter_backends = (filters.DjangoFilterBackend,)
3629 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
3631 def get_serializer_class(self):
3632 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3634 return self.id_serializer_class
3636 return self.serializer_class
3638 def get_queryset(self):
3639 return ServiceResource.select_by_user(self.request.user)
3641 def create(self, request, *args, **kwargs):
3642 #obj = ServiceResource().update(request.DATA)
3643 obj = self.get_object()
3644 obj.caller = request.user
3645 if obj.can_update(request.user):
3646 return super(ServiceResourceList, self).create(request, *args, **kwargs)
3648 return Response(status=status.HTTP_400_BAD_REQUEST)
3650 class ServiceResourceDetail(generics.RetrieveUpdateDestroyAPIView):
3651 queryset = ServiceResource.objects.select_related().all()
3652 serializer_class = ServiceResourceSerializer
3653 id_serializer_class = ServiceResourceIdSerializer
3655 def get_serializer_class(self):
3656 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3658 return self.id_serializer_class
3660 return self.serializer_class
3662 def get_queryset(self):
3663 return ServiceResource.select_by_user(self.request.user)
3665 def update(self, request, *args, **kwargs):
3666 obj = self.get_object()
3667 if obj.can_update(request.user):
3668 return super(ServiceResourceDetail, self).update(request, *args, **kwargs)
3670 return Response(status=status.HTTP_400_BAD_REQUEST)
3672 def destroy(self, request, *args, **kwargs):
3673 obj = self.get_object()
3674 if obj.can_update(request.user):
3675 return super(ServiceResourceDetail, self).destroy(request, *args, **kwargs)
3677 return Response(status=status.HTTP_400_BAD_REQUEST)