1 from rest_framework.decorators import api_view
2 from rest_framework.response import Response
3 from rest_framework.reverse import reverse
4 from rest_framework import serializers
5 from rest_framework import generics
6 from rest_framework import status
7 from core.models import *
8 from django.forms import widgets
9 from rest_framework import filters
12 Schema of the generator object:
13 all: Set of all Model objects
14 all_if(regex): Set of Model objects that match regex
17 plural: English plural of object name
18 camel: CamelCase version of object name
19 refs: list of references to other Model objects
20 props: list of properties minus refs
22 TODO: Deal with subnets
25 # Based on api_root.py
28 def api_root(request, format=None):
30 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
31 'images': reverse('image-list', request=request, format=format),
32 'networkparameters': reverse('networkparameter-list', request=request, format=format),
33 'sites': reverse('site-list', request=request, format=format),
34 'sliceroles': reverse('slicerole-list', request=request, format=format),
35 'tags': reverse('tag-list', request=request, format=format),
36 'invoices': reverse('invoice-list', request=request, format=format),
37 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
38 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
39 'networkslivers': reverse('networksliver-list', request=request, format=format),
40 'networkdeploymentses': reverse('networkdeployments-list', request=request, format=format),
41 'flavors': reverse('flavor-list', request=request, format=format),
42 'projects': reverse('project-list', request=request, format=format),
43 'slices': reverse('slice-list', request=request, format=format),
44 'networks': reverse('network-list', request=request, format=format),
45 'services': reverse('service-list', request=request, format=format),
46 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
47 'payments': reverse('payment-list', request=request, format=format),
48 'charges': reverse('charge-list', request=request, format=format),
49 'roles': reverse('role-list', request=request, format=format),
50 'usableobjects': reverse('usableobject-list', request=request, format=format),
51 'siteroles': reverse('siterole-list', request=request, format=format),
52 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
53 'slivers': reverse('sliver-list', request=request, format=format),
54 'nodes': reverse('node-list', request=request, format=format),
55 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
56 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
57 'reservedresources': reverse('reservedresource-list', request=request, format=format),
58 'networkslices': reverse('networkslice-list', request=request, format=format),
59 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
60 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
61 'users': reverse('user-list', request=request, format=format),
62 'deployments': reverse('deployment-list', request=request, format=format),
63 'reservations': reverse('reservation-list', request=request, format=format),
64 'slicedeploymentses': reverse('slicedeployments-list', request=request, format=format),
65 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
66 'planetstacks': reverse('planetstack-list', request=request, format=format),
67 'userdeploymentses': reverse('userdeployments-list', request=request, format=format),
68 'accounts': reverse('account-list', request=request, format=format),
69 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
70 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
71 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
72 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
73 'usercredentials': reverse('usercredential-list', request=request, format=format),
74 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
75 'slicetags': reverse('slicetag-list', request=request, format=format),
76 'networktemplates': reverse('networktemplate-list', request=request, format=format),
77 'routers': reverse('router-list', request=request, format=format),
78 'serviceresources': reverse('serviceresource-list', request=request, format=format),
82 # Based on serializers.py
86 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
87 id = serializers.Field()
90 model = ServiceAttribute
91 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
93 class ServiceAttributeIdSerializer(serializers.ModelSerializer):
94 id = serializers.Field()
97 model = ServiceAttribute
98 fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
103 class ImageSerializer(serializers.HyperlinkedModelSerializer):
104 id = serializers.Field()
108 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
110 class ImageIdSerializer(serializers.ModelSerializer):
111 id = serializers.Field()
115 fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
120 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
121 id = serializers.Field()
124 model = NetworkParameter
125 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
127 class NetworkParameterIdSerializer(serializers.ModelSerializer):
128 id = serializers.Field()
131 model = NetworkParameter
132 fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
137 class SiteSerializer(serializers.HyperlinkedModelSerializer):
138 id = serializers.Field()
142 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
144 class SiteIdSerializer(serializers.ModelSerializer):
145 id = serializers.Field()
149 fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
154 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
155 id = serializers.Field()
159 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
161 class SliceRoleIdSerializer(serializers.ModelSerializer):
162 id = serializers.Field()
166 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
171 class TagSerializer(serializers.HyperlinkedModelSerializer):
172 id = serializers.Field()
176 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
178 class TagIdSerializer(serializers.ModelSerializer):
179 id = serializers.Field()
183 fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
188 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
189 id = serializers.Field()
193 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
195 class InvoiceIdSerializer(serializers.ModelSerializer):
196 id = serializers.Field()
200 fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
205 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
206 id = serializers.Field()
209 model = SlicePrivilege
210 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
212 class SlicePrivilegeIdSerializer(serializers.ModelSerializer):
213 id = serializers.Field()
216 model = SlicePrivilege
217 fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
222 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
223 id = serializers.Field()
226 model = PlanetStackRole
227 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
229 class PlanetStackRoleIdSerializer(serializers.ModelSerializer):
230 id = serializers.Field()
233 model = PlanetStackRole
234 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
239 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
240 id = serializers.Field()
243 model = NetworkSliver
244 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
246 class NetworkSliverIdSerializer(serializers.ModelSerializer):
247 id = serializers.Field()
250 model = NetworkSliver
251 fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
256 class NetworkDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
257 id = serializers.Field()
260 model = NetworkDeployments
261 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
263 class NetworkDeploymentsIdSerializer(serializers.ModelSerializer):
264 id = serializers.Field()
267 model = NetworkDeployments
268 fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
273 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
274 id = serializers.Field()
278 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
280 class FlavorIdSerializer(serializers.ModelSerializer):
281 id = serializers.Field()
285 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
290 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
291 id = serializers.Field()
295 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
297 class ProjectIdSerializer(serializers.ModelSerializer):
298 id = serializers.Field()
302 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
307 class SliceSerializer(serializers.HyperlinkedModelSerializer):
308 id = serializers.Field()
311 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
315 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
319 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
323 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
328 fields = ('id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','availableNetworks','networks','networks',)
330 class SliceIdSerializer(serializers.ModelSerializer):
331 id = serializers.Field()
334 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
338 availableNetworks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
342 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
346 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
351 fields = ('id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','availableNetworks','networks','networks',)
356 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
357 id = serializers.Field()
360 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
364 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
368 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
372 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
377 fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
379 class NetworkIdSerializer(serializers.ModelSerializer):
380 id = serializers.Field()
383 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
387 availableRouters = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
391 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
395 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
400 fields = ('id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','availableRouters','routers','routers',)
405 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
406 id = serializers.Field()
410 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
412 class ServiceIdSerializer(serializers.ModelSerializer):
413 id = serializers.Field()
417 fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
422 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
423 id = serializers.Field()
427 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
429 class ServiceClassIdSerializer(serializers.ModelSerializer):
430 id = serializers.Field()
434 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
439 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
440 id = serializers.Field()
444 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
446 class PaymentIdSerializer(serializers.ModelSerializer):
447 id = serializers.Field()
451 fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
456 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
457 id = serializers.Field()
461 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
463 class ChargeIdSerializer(serializers.ModelSerializer):
464 id = serializers.Field()
468 fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
473 class RoleSerializer(serializers.HyperlinkedModelSerializer):
474 id = serializers.Field()
478 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
480 class RoleIdSerializer(serializers.ModelSerializer):
481 id = serializers.Field()
485 fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
490 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
491 id = serializers.Field()
495 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
497 class UsableObjectIdSerializer(serializers.ModelSerializer):
498 id = serializers.Field()
502 fields = ('id','created','updated','enacted','backend_status','deleted','name',)
507 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
508 id = serializers.Field()
512 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
514 class SiteRoleIdSerializer(serializers.ModelSerializer):
515 id = serializers.Field()
519 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
524 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
525 id = serializers.Field()
528 model = SliceCredential
529 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
531 class SliceCredentialIdSerializer(serializers.ModelSerializer):
532 id = serializers.Field()
535 model = SliceCredential
536 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
541 class SliverSerializer(serializers.HyperlinkedModelSerializer):
542 id = serializers.Field()
545 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
549 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
554 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
556 class SliverIdSerializer(serializers.ModelSerializer):
557 id = serializers.Field()
560 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
564 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
569 fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
574 class NodeSerializer(serializers.HyperlinkedModelSerializer):
575 id = serializers.Field()
579 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
581 class NodeIdSerializer(serializers.ModelSerializer):
582 id = serializers.Field()
586 fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
591 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
592 id = serializers.Field()
595 model = DashboardView
596 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
598 class DashboardViewIdSerializer(serializers.ModelSerializer):
599 id = serializers.Field()
602 model = DashboardView
603 fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
608 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
609 id = serializers.Field()
612 model = ImageDeployments
613 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
615 class ImageDeploymentsIdSerializer(serializers.ModelSerializer):
616 id = serializers.Field()
619 model = ImageDeployments
620 fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
625 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
626 id = serializers.Field()
629 model = ReservedResource
630 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
632 class ReservedResourceIdSerializer(serializers.ModelSerializer):
633 id = serializers.Field()
636 model = ReservedResource
637 fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
642 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
643 id = serializers.Field()
647 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
649 class NetworkSliceIdSerializer(serializers.ModelSerializer):
650 id = serializers.Field()
654 fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
659 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
660 id = serializers.Field()
663 model = UserDashboardView
664 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
666 class UserDashboardViewIdSerializer(serializers.ModelSerializer):
667 id = serializers.Field()
670 model = UserDashboardView
671 fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
676 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
677 id = serializers.Field()
680 model = PlanetStackPrivilege
681 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
683 class PlanetStackPrivilegeIdSerializer(serializers.ModelSerializer):
684 id = serializers.Field()
687 model = PlanetStackPrivilege
688 fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
693 class UserSerializer(serializers.HyperlinkedModelSerializer):
694 id = serializers.Field()
698 fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
700 class UserIdSerializer(serializers.ModelSerializer):
701 id = serializers.Field()
705 fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
710 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
711 id = serializers.Field()
714 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
718 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
722 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
726 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
731 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
733 class DeploymentIdSerializer(serializers.ModelSerializer):
734 id = serializers.Field()
737 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
741 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
745 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
749 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
754 fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
759 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
760 id = serializers.Field()
764 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
766 class ReservationIdSerializer(serializers.ModelSerializer):
767 id = serializers.Field()
771 fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
776 class SliceDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
777 id = serializers.Field()
780 model = SliceDeployments
781 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
783 class SliceDeploymentsIdSerializer(serializers.ModelSerializer):
784 id = serializers.Field()
787 model = SliceDeployments
788 fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
793 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
794 id = serializers.Field()
797 model = SitePrivilege
798 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
800 class SitePrivilegeIdSerializer(serializers.ModelSerializer):
801 id = serializers.Field()
804 model = SitePrivilege
805 fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
810 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
811 id = serializers.Field()
815 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
817 class PlanetStackIdSerializer(serializers.ModelSerializer):
818 id = serializers.Field()
822 fields = ('id','created','updated','enacted','backend_status','deleted','description',)
827 class UserDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
828 id = serializers.Field()
831 model = UserDeployments
832 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
834 class UserDeploymentsIdSerializer(serializers.ModelSerializer):
835 id = serializers.Field()
838 model = UserDeployments
839 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
844 class AccountSerializer(serializers.HyperlinkedModelSerializer):
845 id = serializers.Field()
849 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
851 class AccountIdSerializer(serializers.ModelSerializer):
852 id = serializers.Field()
856 fields = ('id','created','updated','enacted','backend_status','deleted','site',)
861 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
862 id = serializers.Field()
865 model = NetworkParameterType
866 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
868 class NetworkParameterTypeIdSerializer(serializers.ModelSerializer):
869 id = serializers.Field()
872 model = NetworkParameterType
873 fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
878 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
879 id = serializers.Field()
882 model = SiteCredential
883 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
885 class SiteCredentialIdSerializer(serializers.ModelSerializer):
886 id = serializers.Field()
889 model = SiteCredential
890 fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
895 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
896 id = serializers.Field()
899 model = DeploymentPrivilege
900 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
902 class DeploymentPrivilegeIdSerializer(serializers.ModelSerializer):
903 id = serializers.Field()
906 model = DeploymentPrivilege
907 fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
912 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
913 id = serializers.Field()
916 model = DeploymentRole
917 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
919 class DeploymentRoleIdSerializer(serializers.ModelSerializer):
920 id = serializers.Field()
923 model = DeploymentRole
924 fields = ('id','created','updated','enacted','backend_status','deleted','role',)
929 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
930 id = serializers.Field()
933 model = UserCredential
934 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
936 class UserCredentialIdSerializer(serializers.ModelSerializer):
937 id = serializers.Field()
940 model = UserCredential
941 fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
946 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
947 id = serializers.Field()
950 model = SiteDeployments
951 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
953 class SiteDeploymentsIdSerializer(serializers.ModelSerializer):
954 id = serializers.Field()
957 model = SiteDeployments
958 fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
963 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
964 id = serializers.Field()
968 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
970 class SliceTagIdSerializer(serializers.ModelSerializer):
971 id = serializers.Field()
975 fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
980 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
981 id = serializers.Field()
984 model = NetworkTemplate
985 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
987 class NetworkTemplateIdSerializer(serializers.ModelSerializer):
988 id = serializers.Field()
991 model = NetworkTemplate
992 fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
997 class RouterSerializer(serializers.HyperlinkedModelSerializer):
998 id = serializers.Field()
1002 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1004 class RouterIdSerializer(serializers.ModelSerializer):
1005 id = serializers.Field()
1009 fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
1014 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
1015 id = serializers.Field()
1018 model = ServiceResource
1019 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1021 class ServiceResourceIdSerializer(serializers.ModelSerializer):
1022 id = serializers.Field()
1025 model = ServiceResource
1026 fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
1031 serializerLookUp = {
1033 ServiceAttribute: ServiceAttributeSerializer,
1035 Image: ImageSerializer,
1037 NetworkParameter: NetworkParameterSerializer,
1039 Site: SiteSerializer,
1041 SliceRole: SliceRoleSerializer,
1045 Invoice: InvoiceSerializer,
1047 SlicePrivilege: SlicePrivilegeSerializer,
1049 PlanetStackRole: PlanetStackRoleSerializer,
1051 NetworkSliver: NetworkSliverSerializer,
1053 NetworkDeployments: NetworkDeploymentsSerializer,
1055 Flavor: FlavorSerializer,
1057 Project: ProjectSerializer,
1059 Slice: SliceSerializer,
1061 Network: NetworkSerializer,
1063 Service: ServiceSerializer,
1065 ServiceClass: ServiceClassSerializer,
1067 Payment: PaymentSerializer,
1069 Charge: ChargeSerializer,
1071 Role: RoleSerializer,
1073 UsableObject: UsableObjectSerializer,
1075 SiteRole: SiteRoleSerializer,
1077 SliceCredential: SliceCredentialSerializer,
1079 Sliver: SliverSerializer,
1081 Node: NodeSerializer,
1083 DashboardView: DashboardViewSerializer,
1085 ImageDeployments: ImageDeploymentsSerializer,
1087 ReservedResource: ReservedResourceSerializer,
1089 NetworkSlice: NetworkSliceSerializer,
1091 UserDashboardView: UserDashboardViewSerializer,
1093 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
1095 User: UserSerializer,
1097 Deployment: DeploymentSerializer,
1099 Reservation: ReservationSerializer,
1101 SliceDeployments: SliceDeploymentsSerializer,
1103 SitePrivilege: SitePrivilegeSerializer,
1105 PlanetStack: PlanetStackSerializer,
1107 UserDeployments: UserDeploymentsSerializer,
1109 Account: AccountSerializer,
1111 NetworkParameterType: NetworkParameterTypeSerializer,
1113 SiteCredential: SiteCredentialSerializer,
1115 DeploymentPrivilege: DeploymentPrivilegeSerializer,
1117 DeploymentRole: DeploymentRoleSerializer,
1119 UserCredential: UserCredentialSerializer,
1121 SiteDeployments: SiteDeploymentsSerializer,
1123 SliceTag: SliceTagSerializer,
1125 NetworkTemplate: NetworkTemplateSerializer,
1127 Router: RouterSerializer,
1129 ServiceResource: ServiceResourceSerializer,
1134 class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
1136 # To handle fine-grained field permissions, we have to check can_update
1137 # the object has been updated but before it has been saved.
1139 def update(self, request, *args, **kwargs):
\r
1140 partial = kwargs.pop('partial', False)
\r
1141 self.object = self.get_object_or_none()
\r
1143 serializer = self.get_serializer(self.object, data=request.DATA,
\r
1144 files=request.FILES, partial=partial)
\r
1146 if not serializer.is_valid():
\r
1147 print "UpdateModelMixin: not serializer.is_valid"
\r
1148 print serializer.errors
\r
1149 return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
\r
1152 self.pre_save(serializer.object)
\r
1153 except ValidationError as err:
\r
1154 # full_clean on model instance may be called in pre_save,
\r
1155 # so we have to handle eventual errors.
\r
1156 return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
\r
1158 if serializer.object is not None:
\r
1159 if not serializer.object.can_update(request.user):
\r
1160 return Response(status=status.HTTP_400_BAD_REQUEST)
\r
1162 if self.object is None:
\r
1163 self.object = serializer.save(force_insert=True)
\r
1164 self.post_save(self.object, created=True)
\r
1165 return Response(serializer.data, status=status.HTTP_201_CREATED)
\r
1167 self.object = serializer.save(force_update=True)
\r
1168 self.post_save(self.object, created=False)
\r
1169 return Response(serializer.data, status=status.HTTP_200_OK)
1171 def destroy(self, request, *args, **kwargs):
1172 obj = self.get_object()
1173 if obj.can_update(request.user):
1174 return super(Detail, self).destroy(request, *args, **kwargs)
1176 return Response(status=status.HTTP_400_BAD_REQUEST)
1179 # Based on core/views/*.py
1182 class ServiceAttributeList(generics.ListCreateAPIView):
1183 queryset = ServiceAttribute.objects.select_related().all()
1184 serializer_class = ServiceAttributeSerializer
1185 id_serializer_class = ServiceAttributeIdSerializer
1186 filter_backends = (filters.DjangoFilterBackend,)
1187 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','value','service',)
1189 def get_serializer_class(self):
1190 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1192 return self.id_serializer_class
1194 return self.serializer_class
1196 def get_queryset(self):
1197 return ServiceAttribute.select_by_user(self.request.user)
1199 def create(self, request, *args, **kwargs):
1200 #obj = ServiceAttribute().update(request.DATA)
1201 obj = self.get_object()
1202 obj.caller = request.user
1203 if obj.can_update(request.user):
1204 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
1206 return Response(status=status.HTTP_400_BAD_REQUEST)
1208 class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1209 queryset = ServiceAttribute.objects.select_related().all()
1210 serializer_class = ServiceAttributeSerializer
1211 id_serializer_class = ServiceAttributeIdSerializer
1213 def get_serializer_class(self):
1214 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1216 return self.id_serializer_class
1218 return self.serializer_class
1220 def get_queryset(self):
1221 return ServiceAttribute.select_by_user(self.request.user)
1223 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1225 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1229 class ImageList(generics.ListCreateAPIView):
1230 queryset = Image.objects.select_related().all()
1231 serializer_class = ImageSerializer
1232 id_serializer_class = ImageIdSerializer
1233 filter_backends = (filters.DjangoFilterBackend,)
1234 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
1236 def get_serializer_class(self):
1237 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1239 return self.id_serializer_class
1241 return self.serializer_class
1243 def get_queryset(self):
1244 return Image.select_by_user(self.request.user)
1246 def create(self, request, *args, **kwargs):
1247 #obj = Image().update(request.DATA)
1248 obj = self.get_object()
1249 obj.caller = request.user
1250 if obj.can_update(request.user):
1251 return super(ImageList, self).create(request, *args, **kwargs)
1253 return Response(status=status.HTTP_400_BAD_REQUEST)
1255 class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1256 queryset = Image.objects.select_related().all()
1257 serializer_class = ImageSerializer
1258 id_serializer_class = ImageIdSerializer
1260 def get_serializer_class(self):
1261 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1263 return self.id_serializer_class
1265 return self.serializer_class
1267 def get_queryset(self):
1268 return Image.select_by_user(self.request.user)
1270 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1272 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1276 class NetworkParameterList(generics.ListCreateAPIView):
1277 queryset = NetworkParameter.objects.select_related().all()
1278 serializer_class = NetworkParameterSerializer
1279 id_serializer_class = NetworkParameterIdSerializer
1280 filter_backends = (filters.DjangoFilterBackend,)
1281 filter_fields = ('id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
1283 def get_serializer_class(self):
1284 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1286 return self.id_serializer_class
1288 return self.serializer_class
1290 def get_queryset(self):
1291 return NetworkParameter.select_by_user(self.request.user)
1293 def create(self, request, *args, **kwargs):
1294 #obj = NetworkParameter().update(request.DATA)
1295 obj = self.get_object()
1296 obj.caller = request.user
1297 if obj.can_update(request.user):
1298 return super(NetworkParameterList, self).create(request, *args, **kwargs)
1300 return Response(status=status.HTTP_400_BAD_REQUEST)
1302 class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1303 queryset = NetworkParameter.objects.select_related().all()
1304 serializer_class = NetworkParameterSerializer
1305 id_serializer_class = NetworkParameterIdSerializer
1307 def get_serializer_class(self):
1308 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1310 return self.id_serializer_class
1312 return self.serializer_class
1314 def get_queryset(self):
1315 return NetworkParameter.select_by_user(self.request.user)
1317 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1319 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1323 class SiteList(generics.ListCreateAPIView):
1324 queryset = Site.objects.select_related().all()
1325 serializer_class = SiteSerializer
1326 id_serializer_class = SiteIdSerializer
1327 filter_backends = (filters.DjangoFilterBackend,)
1328 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
1330 def get_serializer_class(self):
1331 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1333 return self.id_serializer_class
1335 return self.serializer_class
1337 def get_queryset(self):
1338 return Site.select_by_user(self.request.user)
1340 def create(self, request, *args, **kwargs):
1341 #obj = Site().update(request.DATA)
1342 obj = self.get_object()
1343 obj.caller = request.user
1344 if obj.can_update(request.user):
1345 return super(SiteList, self).create(request, *args, **kwargs)
1347 return Response(status=status.HTTP_400_BAD_REQUEST)
1349 class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1350 queryset = Site.objects.select_related().all()
1351 serializer_class = SiteSerializer
1352 id_serializer_class = SiteIdSerializer
1354 def get_serializer_class(self):
1355 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1357 return self.id_serializer_class
1359 return self.serializer_class
1361 def get_queryset(self):
1362 return Site.select_by_user(self.request.user)
1364 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1366 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1370 class SliceRoleList(generics.ListCreateAPIView):
1371 queryset = SliceRole.objects.select_related().all()
1372 serializer_class = SliceRoleSerializer
1373 id_serializer_class = SliceRoleIdSerializer
1374 filter_backends = (filters.DjangoFilterBackend,)
1375 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1377 def get_serializer_class(self):
1378 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1380 return self.id_serializer_class
1382 return self.serializer_class
1384 def get_queryset(self):
1385 return SliceRole.select_by_user(self.request.user)
1387 def create(self, request, *args, **kwargs):
1388 #obj = SliceRole().update(request.DATA)
1389 obj = self.get_object()
1390 obj.caller = request.user
1391 if obj.can_update(request.user):
1392 return super(SliceRoleList, self).create(request, *args, **kwargs)
1394 return Response(status=status.HTTP_400_BAD_REQUEST)
1396 class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1397 queryset = SliceRole.objects.select_related().all()
1398 serializer_class = SliceRoleSerializer
1399 id_serializer_class = SliceRoleIdSerializer
1401 def get_serializer_class(self):
1402 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1404 return self.id_serializer_class
1406 return self.serializer_class
1408 def get_queryset(self):
1409 return SliceRole.select_by_user(self.request.user)
1411 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1413 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1417 class TagList(generics.ListCreateAPIView):
1418 queryset = Tag.objects.select_related().all()
1419 serializer_class = TagSerializer
1420 id_serializer_class = TagIdSerializer
1421 filter_backends = (filters.DjangoFilterBackend,)
1422 filter_fields = ('id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
1424 def get_serializer_class(self):
1425 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1427 return self.id_serializer_class
1429 return self.serializer_class
1431 def get_queryset(self):
1432 return Tag.select_by_user(self.request.user)
1434 def create(self, request, *args, **kwargs):
1435 #obj = Tag().update(request.DATA)
1436 obj = self.get_object()
1437 obj.caller = request.user
1438 if obj.can_update(request.user):
1439 return super(TagList, self).create(request, *args, **kwargs)
1441 return Response(status=status.HTTP_400_BAD_REQUEST)
1443 class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1444 queryset = Tag.objects.select_related().all()
1445 serializer_class = TagSerializer
1446 id_serializer_class = TagIdSerializer
1448 def get_serializer_class(self):
1449 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1451 return self.id_serializer_class
1453 return self.serializer_class
1455 def get_queryset(self):
1456 return Tag.select_by_user(self.request.user)
1458 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1460 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1464 class InvoiceList(generics.ListCreateAPIView):
1465 queryset = Invoice.objects.select_related().all()
1466 serializer_class = InvoiceSerializer
1467 id_serializer_class = InvoiceIdSerializer
1468 filter_backends = (filters.DjangoFilterBackend,)
1469 filter_fields = ('id','created','updated','enacted','backend_status','deleted','date','account',)
1471 def get_serializer_class(self):
1472 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1474 return self.id_serializer_class
1476 return self.serializer_class
1478 def get_queryset(self):
1479 return Invoice.select_by_user(self.request.user)
1481 def create(self, request, *args, **kwargs):
1482 #obj = Invoice().update(request.DATA)
1483 obj = self.get_object()
1484 obj.caller = request.user
1485 if obj.can_update(request.user):
1486 return super(InvoiceList, self).create(request, *args, **kwargs)
1488 return Response(status=status.HTTP_400_BAD_REQUEST)
1490 class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1491 queryset = Invoice.objects.select_related().all()
1492 serializer_class = InvoiceSerializer
1493 id_serializer_class = InvoiceIdSerializer
1495 def get_serializer_class(self):
1496 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1498 return self.id_serializer_class
1500 return self.serializer_class
1502 def get_queryset(self):
1503 return Invoice.select_by_user(self.request.user)
1505 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1507 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1511 class SlicePrivilegeList(generics.ListCreateAPIView):
1512 queryset = SlicePrivilege.objects.select_related().all()
1513 serializer_class = SlicePrivilegeSerializer
1514 id_serializer_class = SlicePrivilegeIdSerializer
1515 filter_backends = (filters.DjangoFilterBackend,)
1516 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
1518 def get_serializer_class(self):
1519 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1521 return self.id_serializer_class
1523 return self.serializer_class
1525 def get_queryset(self):
1526 return SlicePrivilege.select_by_user(self.request.user)
1528 def create(self, request, *args, **kwargs):
1529 #obj = SlicePrivilege().update(request.DATA)
1530 obj = self.get_object()
1531 obj.caller = request.user
1532 if obj.can_update(request.user):
1533 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
1535 return Response(status=status.HTTP_400_BAD_REQUEST)
1537 class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1538 queryset = SlicePrivilege.objects.select_related().all()
1539 serializer_class = SlicePrivilegeSerializer
1540 id_serializer_class = SlicePrivilegeIdSerializer
1542 def get_serializer_class(self):
1543 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1545 return self.id_serializer_class
1547 return self.serializer_class
1549 def get_queryset(self):
1550 return SlicePrivilege.select_by_user(self.request.user)
1552 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1554 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1558 class PlanetStackRoleList(generics.ListCreateAPIView):
1559 queryset = PlanetStackRole.objects.select_related().all()
1560 serializer_class = PlanetStackRoleSerializer
1561 id_serializer_class = PlanetStackRoleIdSerializer
1562 filter_backends = (filters.DjangoFilterBackend,)
1563 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
1565 def get_serializer_class(self):
1566 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1568 return self.id_serializer_class
1570 return self.serializer_class
1572 def get_queryset(self):
1573 return PlanetStackRole.select_by_user(self.request.user)
1575 def create(self, request, *args, **kwargs):
1576 #obj = PlanetStackRole().update(request.DATA)
1577 obj = self.get_object()
1578 obj.caller = request.user
1579 if obj.can_update(request.user):
1580 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
1582 return Response(status=status.HTTP_400_BAD_REQUEST)
1584 class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1585 queryset = PlanetStackRole.objects.select_related().all()
1586 serializer_class = PlanetStackRoleSerializer
1587 id_serializer_class = PlanetStackRoleIdSerializer
1589 def get_serializer_class(self):
1590 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1592 return self.id_serializer_class
1594 return self.serializer_class
1596 def get_queryset(self):
1597 return PlanetStackRole.select_by_user(self.request.user)
1599 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1601 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1605 class NetworkSliverList(generics.ListCreateAPIView):
1606 queryset = NetworkSliver.objects.select_related().all()
1607 serializer_class = NetworkSliverSerializer
1608 id_serializer_class = NetworkSliverIdSerializer
1609 filter_backends = (filters.DjangoFilterBackend,)
1610 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
1612 def get_serializer_class(self):
1613 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1615 return self.id_serializer_class
1617 return self.serializer_class
1619 def get_queryset(self):
1620 return NetworkSliver.select_by_user(self.request.user)
1622 def create(self, request, *args, **kwargs):
1623 #obj = NetworkSliver().update(request.DATA)
1624 obj = self.get_object()
1625 obj.caller = request.user
1626 if obj.can_update(request.user):
1627 return super(NetworkSliverList, self).create(request, *args, **kwargs)
1629 return Response(status=status.HTTP_400_BAD_REQUEST)
1631 class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1632 queryset = NetworkSliver.objects.select_related().all()
1633 serializer_class = NetworkSliverSerializer
1634 id_serializer_class = NetworkSliverIdSerializer
1636 def get_serializer_class(self):
1637 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1639 return self.id_serializer_class
1641 return self.serializer_class
1643 def get_queryset(self):
1644 return NetworkSliver.select_by_user(self.request.user)
1646 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1648 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
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(PlanetStackRetrieveUpdateDestroyAPIView):
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 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1695 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1699 class FlavorList(generics.ListCreateAPIView):
1700 queryset = Flavor.objects.select_related().all()
1701 serializer_class = FlavorSerializer
1702 id_serializer_class = FlavorIdSerializer
1703 filter_backends = (filters.DjangoFilterBackend,)
1704 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default',)
1706 def get_serializer_class(self):
1707 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1709 return self.id_serializer_class
1711 return self.serializer_class
1713 def get_queryset(self):
1714 return Flavor.select_by_user(self.request.user)
1716 def create(self, request, *args, **kwargs):
1717 #obj = Flavor().update(request.DATA)
1718 obj = self.get_object()
1719 obj.caller = request.user
1720 if obj.can_update(request.user):
1721 return super(FlavorList, self).create(request, *args, **kwargs)
1723 return Response(status=status.HTTP_400_BAD_REQUEST)
1725 class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1726 queryset = Flavor.objects.select_related().all()
1727 serializer_class = FlavorSerializer
1728 id_serializer_class = FlavorIdSerializer
1730 def get_serializer_class(self):
1731 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1733 return self.id_serializer_class
1735 return self.serializer_class
1737 def get_queryset(self):
1738 return Flavor.select_by_user(self.request.user)
1740 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1742 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1746 class ProjectList(generics.ListCreateAPIView):
1747 queryset = Project.objects.select_related().all()
1748 serializer_class = ProjectSerializer
1749 id_serializer_class = ProjectIdSerializer
1750 filter_backends = (filters.DjangoFilterBackend,)
1751 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
1753 def get_serializer_class(self):
1754 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1756 return self.id_serializer_class
1758 return self.serializer_class
1760 def get_queryset(self):
1761 return Project.select_by_user(self.request.user)
1763 def create(self, request, *args, **kwargs):
1764 #obj = Project().update(request.DATA)
1765 obj = self.get_object()
1766 obj.caller = request.user
1767 if obj.can_update(request.user):
1768 return super(ProjectList, self).create(request, *args, **kwargs)
1770 return Response(status=status.HTTP_400_BAD_REQUEST)
1772 class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1773 queryset = Project.objects.select_related().all()
1774 serializer_class = ProjectSerializer
1775 id_serializer_class = ProjectIdSerializer
1777 def get_serializer_class(self):
1778 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1780 return self.id_serializer_class
1782 return self.serializer_class
1784 def get_queryset(self):
1785 return Project.select_by_user(self.request.user)
1787 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1789 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1793 class SliceList(generics.ListCreateAPIView):
1794 queryset = Slice.objects.select_related().all()
1795 serializer_class = SliceSerializer
1796 id_serializer_class = SliceIdSerializer
1797 filter_backends = (filters.DjangoFilterBackend,)
1798 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',)
1800 def get_serializer_class(self):
1801 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1803 return self.id_serializer_class
1805 return self.serializer_class
1807 def get_queryset(self):
1808 return Slice.select_by_user(self.request.user)
1810 def create(self, request, *args, **kwargs):
1811 #obj = Slice().update(request.DATA)
1812 obj = self.get_object()
1813 obj.caller = request.user
1814 if obj.can_update(request.user):
1815 return super(SliceList, self).create(request, *args, **kwargs)
1817 return Response(status=status.HTTP_400_BAD_REQUEST)
1819 class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1820 queryset = Slice.objects.select_related().all()
1821 serializer_class = SliceSerializer
1822 id_serializer_class = SliceIdSerializer
1824 def get_serializer_class(self):
1825 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1827 return self.id_serializer_class
1829 return self.serializer_class
1831 def get_queryset(self):
1832 return Slice.select_by_user(self.request.user)
1834 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1836 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1840 class NetworkList(generics.ListCreateAPIView):
1841 queryset = Network.objects.select_related().all()
1842 serializer_class = NetworkSerializer
1843 id_serializer_class = NetworkIdSerializer
1844 filter_backends = (filters.DjangoFilterBackend,)
1845 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',)
1847 def get_serializer_class(self):
1848 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1850 return self.id_serializer_class
1852 return self.serializer_class
1854 def get_queryset(self):
1855 return Network.select_by_user(self.request.user)
1857 def create(self, request, *args, **kwargs):
1858 #obj = Network().update(request.DATA)
1859 obj = self.get_object()
1860 obj.caller = request.user
1861 if obj.can_update(request.user):
1862 return super(NetworkList, self).create(request, *args, **kwargs)
1864 return Response(status=status.HTTP_400_BAD_REQUEST)
1866 class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1867 queryset = Network.objects.select_related().all()
1868 serializer_class = NetworkSerializer
1869 id_serializer_class = NetworkIdSerializer
1871 def get_serializer_class(self):
1872 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1874 return self.id_serializer_class
1876 return self.serializer_class
1878 def get_queryset(self):
1879 return Network.select_by_user(self.request.user)
1881 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1883 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1887 class ServiceList(generics.ListCreateAPIView):
1888 queryset = Service.objects.select_related().all()
1889 serializer_class = ServiceSerializer
1890 id_serializer_class = ServiceIdSerializer
1891 filter_backends = (filters.DjangoFilterBackend,)
1892 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
1894 def get_serializer_class(self):
1895 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1897 return self.id_serializer_class
1899 return self.serializer_class
1901 def get_queryset(self):
1902 return Service.select_by_user(self.request.user)
1904 def create(self, request, *args, **kwargs):
1905 #obj = Service().update(request.DATA)
1906 obj = self.get_object()
1907 obj.caller = request.user
1908 if obj.can_update(request.user):
1909 return super(ServiceList, self).create(request, *args, **kwargs)
1911 return Response(status=status.HTTP_400_BAD_REQUEST)
1913 class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1914 queryset = Service.objects.select_related().all()
1915 serializer_class = ServiceSerializer
1916 id_serializer_class = ServiceIdSerializer
1918 def get_serializer_class(self):
1919 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1921 return self.id_serializer_class
1923 return self.serializer_class
1925 def get_queryset(self):
1926 return Service.select_by_user(self.request.user)
1928 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1930 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1934 class ServiceClassList(generics.ListCreateAPIView):
1935 queryset = ServiceClass.objects.select_related().all()
1936 serializer_class = ServiceClassSerializer
1937 id_serializer_class = ServiceClassIdSerializer
1938 filter_backends = (filters.DjangoFilterBackend,)
1939 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
1941 def get_serializer_class(self):
1942 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1944 return self.id_serializer_class
1946 return self.serializer_class
1948 def get_queryset(self):
1949 return ServiceClass.select_by_user(self.request.user)
1951 def create(self, request, *args, **kwargs):
1952 #obj = ServiceClass().update(request.DATA)
1953 obj = self.get_object()
1954 obj.caller = request.user
1955 if obj.can_update(request.user):
1956 return super(ServiceClassList, self).create(request, *args, **kwargs)
1958 return Response(status=status.HTTP_400_BAD_REQUEST)
1960 class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
1961 queryset = ServiceClass.objects.select_related().all()
1962 serializer_class = ServiceClassSerializer
1963 id_serializer_class = ServiceClassIdSerializer
1965 def get_serializer_class(self):
1966 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1968 return self.id_serializer_class
1970 return self.serializer_class
1972 def get_queryset(self):
1973 return ServiceClass.select_by_user(self.request.user)
1975 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1977 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
1981 class PaymentList(generics.ListCreateAPIView):
1982 queryset = Payment.objects.select_related().all()
1983 serializer_class = PaymentSerializer
1984 id_serializer_class = PaymentIdSerializer
1985 filter_backends = (filters.DjangoFilterBackend,)
1986 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','amount','date',)
1988 def get_serializer_class(self):
1989 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
1991 return self.id_serializer_class
1993 return self.serializer_class
1995 def get_queryset(self):
1996 return Payment.select_by_user(self.request.user)
1998 def create(self, request, *args, **kwargs):
1999 #obj = Payment().update(request.DATA)
2000 obj = self.get_object()
2001 obj.caller = request.user
2002 if obj.can_update(request.user):
2003 return super(PaymentList, self).create(request, *args, **kwargs)
2005 return Response(status=status.HTTP_400_BAD_REQUEST)
2007 class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2008 queryset = Payment.objects.select_related().all()
2009 serializer_class = PaymentSerializer
2010 id_serializer_class = PaymentIdSerializer
2012 def get_serializer_class(self):
2013 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2015 return self.id_serializer_class
2017 return self.serializer_class
2019 def get_queryset(self):
2020 return Payment.select_by_user(self.request.user)
2022 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2024 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2028 class ChargeList(generics.ListCreateAPIView):
2029 queryset = Charge.objects.select_related().all()
2030 serializer_class = ChargeSerializer
2031 id_serializer_class = ChargeIdSerializer
2032 filter_backends = (filters.DjangoFilterBackend,)
2033 filter_fields = ('id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
2035 def get_serializer_class(self):
2036 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2038 return self.id_serializer_class
2040 return self.serializer_class
2042 def get_queryset(self):
2043 return Charge.select_by_user(self.request.user)
2045 def create(self, request, *args, **kwargs):
2046 #obj = Charge().update(request.DATA)
2047 obj = self.get_object()
2048 obj.caller = request.user
2049 if obj.can_update(request.user):
2050 return super(ChargeList, self).create(request, *args, **kwargs)
2052 return Response(status=status.HTTP_400_BAD_REQUEST)
2054 class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2055 queryset = Charge.objects.select_related().all()
2056 serializer_class = ChargeSerializer
2057 id_serializer_class = ChargeIdSerializer
2059 def get_serializer_class(self):
2060 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2062 return self.id_serializer_class
2064 return self.serializer_class
2066 def get_queryset(self):
2067 return Charge.select_by_user(self.request.user)
2069 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2071 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2075 class RoleList(generics.ListCreateAPIView):
2076 queryset = Role.objects.select_related().all()
2077 serializer_class = RoleSerializer
2078 id_serializer_class = RoleIdSerializer
2079 filter_backends = (filters.DjangoFilterBackend,)
2080 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
2082 def get_serializer_class(self):
2083 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2085 return self.id_serializer_class
2087 return self.serializer_class
2089 def get_queryset(self):
2090 return Role.select_by_user(self.request.user)
2092 def create(self, request, *args, **kwargs):
2093 #obj = Role().update(request.DATA)
2094 obj = self.get_object()
2095 obj.caller = request.user
2096 if obj.can_update(request.user):
2097 return super(RoleList, self).create(request, *args, **kwargs)
2099 return Response(status=status.HTTP_400_BAD_REQUEST)
2101 class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2102 queryset = Role.objects.select_related().all()
2103 serializer_class = RoleSerializer
2104 id_serializer_class = RoleIdSerializer
2106 def get_serializer_class(self):
2107 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2109 return self.id_serializer_class
2111 return self.serializer_class
2113 def get_queryset(self):
2114 return Role.select_by_user(self.request.user)
2116 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2118 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2122 class UsableObjectList(generics.ListCreateAPIView):
2123 queryset = UsableObject.objects.select_related().all()
2124 serializer_class = UsableObjectSerializer
2125 id_serializer_class = UsableObjectIdSerializer
2126 filter_backends = (filters.DjangoFilterBackend,)
2127 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name',)
2129 def get_serializer_class(self):
2130 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2132 return self.id_serializer_class
2134 return self.serializer_class
2136 def get_queryset(self):
2137 return UsableObject.select_by_user(self.request.user)
2139 def create(self, request, *args, **kwargs):
2140 #obj = UsableObject().update(request.DATA)
2141 obj = self.get_object()
2142 obj.caller = request.user
2143 if obj.can_update(request.user):
2144 return super(UsableObjectList, self).create(request, *args, **kwargs)
2146 return Response(status=status.HTTP_400_BAD_REQUEST)
2148 class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2149 queryset = UsableObject.objects.select_related().all()
2150 serializer_class = UsableObjectSerializer
2151 id_serializer_class = UsableObjectIdSerializer
2153 def get_serializer_class(self):
2154 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2156 return self.id_serializer_class
2158 return self.serializer_class
2160 def get_queryset(self):
2161 return UsableObject.select_by_user(self.request.user)
2163 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2165 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2169 class SiteRoleList(generics.ListCreateAPIView):
2170 queryset = SiteRole.objects.select_related().all()
2171 serializer_class = SiteRoleSerializer
2172 id_serializer_class = SiteRoleIdSerializer
2173 filter_backends = (filters.DjangoFilterBackend,)
2174 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
2176 def get_serializer_class(self):
2177 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2179 return self.id_serializer_class
2181 return self.serializer_class
2183 def get_queryset(self):
2184 return SiteRole.select_by_user(self.request.user)
2186 def create(self, request, *args, **kwargs):
2187 #obj = SiteRole().update(request.DATA)
2188 obj = self.get_object()
2189 obj.caller = request.user
2190 if obj.can_update(request.user):
2191 return super(SiteRoleList, self).create(request, *args, **kwargs)
2193 return Response(status=status.HTTP_400_BAD_REQUEST)
2195 class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2196 queryset = SiteRole.objects.select_related().all()
2197 serializer_class = SiteRoleSerializer
2198 id_serializer_class = SiteRoleIdSerializer
2200 def get_serializer_class(self):
2201 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2203 return self.id_serializer_class
2205 return self.serializer_class
2207 def get_queryset(self):
2208 return SiteRole.select_by_user(self.request.user)
2210 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2212 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2216 class SliceCredentialList(generics.ListCreateAPIView):
2217 queryset = SliceCredential.objects.select_related().all()
2218 serializer_class = SliceCredentialSerializer
2219 id_serializer_class = SliceCredentialIdSerializer
2220 filter_backends = (filters.DjangoFilterBackend,)
2221 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
2223 def get_serializer_class(self):
2224 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2226 return self.id_serializer_class
2228 return self.serializer_class
2230 def get_queryset(self):
2231 return SliceCredential.select_by_user(self.request.user)
2233 def create(self, request, *args, **kwargs):
2234 #obj = SliceCredential().update(request.DATA)
2235 obj = self.get_object()
2236 obj.caller = request.user
2237 if obj.can_update(request.user):
2238 return super(SliceCredentialList, self).create(request, *args, **kwargs)
2240 return Response(status=status.HTTP_400_BAD_REQUEST)
2242 class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2243 queryset = SliceCredential.objects.select_related().all()
2244 serializer_class = SliceCredentialSerializer
2245 id_serializer_class = SliceCredentialIdSerializer
2247 def get_serializer_class(self):
2248 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2250 return self.id_serializer_class
2252 return self.serializer_class
2254 def get_queryset(self):
2255 return SliceCredential.select_by_user(self.request.user)
2257 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2259 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2263 class SliverList(generics.ListCreateAPIView):
2264 queryset = Sliver.objects.select_related().all()
2265 serializer_class = SliverSerializer
2266 id_serializer_class = SliverIdSerializer
2267 filter_backends = (filters.DjangoFilterBackend,)
2268 filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','deploymentNetwork','numberCores','flavor','userData','networks','networks',)
2270 def get_serializer_class(self):
2271 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2273 return self.id_serializer_class
2275 return self.serializer_class
2277 def get_queryset(self):
2278 return Sliver.select_by_user(self.request.user)
2280 def create(self, request, *args, **kwargs):
2281 #obj = Sliver().update(request.DATA)
2282 obj = self.get_object()
2283 obj.caller = request.user
2284 if obj.can_update(request.user):
2285 return super(SliverList, self).create(request, *args, **kwargs)
2287 return Response(status=status.HTTP_400_BAD_REQUEST)
2289 class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2290 queryset = Sliver.objects.select_related().all()
2291 serializer_class = SliverSerializer
2292 id_serializer_class = SliverIdSerializer
2294 def get_serializer_class(self):
2295 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2297 return self.id_serializer_class
2299 return self.serializer_class
2301 def get_queryset(self):
2302 return Sliver.select_by_user(self.request.user)
2304 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2306 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2310 class NodeList(generics.ListCreateAPIView):
2311 queryset = Node.objects.select_related().all()
2312 serializer_class = NodeSerializer
2313 id_serializer_class = NodeIdSerializer
2314 filter_backends = (filters.DjangoFilterBackend,)
2315 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','site','deployment',)
2317 def get_serializer_class(self):
2318 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2320 return self.id_serializer_class
2322 return self.serializer_class
2324 def get_queryset(self):
2325 return Node.select_by_user(self.request.user)
2327 def create(self, request, *args, **kwargs):
2328 #obj = Node().update(request.DATA)
2329 obj = self.get_object()
2330 obj.caller = request.user
2331 if obj.can_update(request.user):
2332 return super(NodeList, self).create(request, *args, **kwargs)
2334 return Response(status=status.HTTP_400_BAD_REQUEST)
2336 class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2337 queryset = Node.objects.select_related().all()
2338 serializer_class = NodeSerializer
2339 id_serializer_class = NodeIdSerializer
2341 def get_serializer_class(self):
2342 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2344 return self.id_serializer_class
2346 return self.serializer_class
2348 def get_queryset(self):
2349 return Node.select_by_user(self.request.user)
2351 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2353 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2357 class DashboardViewList(generics.ListCreateAPIView):
2358 queryset = DashboardView.objects.select_related().all()
2359 serializer_class = DashboardViewSerializer
2360 id_serializer_class = DashboardViewIdSerializer
2361 filter_backends = (filters.DjangoFilterBackend,)
2362 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','url',)
2364 def get_serializer_class(self):
2365 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2367 return self.id_serializer_class
2369 return self.serializer_class
2371 def get_queryset(self):
2372 return DashboardView.select_by_user(self.request.user)
2374 def create(self, request, *args, **kwargs):
2375 #obj = DashboardView().update(request.DATA)
2376 obj = self.get_object()
2377 obj.caller = request.user
2378 if obj.can_update(request.user):
2379 return super(DashboardViewList, self).create(request, *args, **kwargs)
2381 return Response(status=status.HTTP_400_BAD_REQUEST)
2383 class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2384 queryset = DashboardView.objects.select_related().all()
2385 serializer_class = DashboardViewSerializer
2386 id_serializer_class = DashboardViewIdSerializer
2388 def get_serializer_class(self):
2389 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2391 return self.id_serializer_class
2393 return self.serializer_class
2395 def get_queryset(self):
2396 return DashboardView.select_by_user(self.request.user)
2398 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2400 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2404 class ImageDeploymentsList(generics.ListCreateAPIView):
2405 queryset = ImageDeployments.objects.select_related().all()
2406 serializer_class = ImageDeploymentsSerializer
2407 id_serializer_class = ImageDeploymentsIdSerializer
2408 filter_backends = (filters.DjangoFilterBackend,)
2409 filter_fields = ('id','created','updated','enacted','backend_status','deleted','image','deployment','glance_image_id',)
2411 def get_serializer_class(self):
2412 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2414 return self.id_serializer_class
2416 return self.serializer_class
2418 def get_queryset(self):
2419 return ImageDeployments.select_by_user(self.request.user)
2421 def create(self, request, *args, **kwargs):
2422 #obj = ImageDeployments().update(request.DATA)
2423 obj = self.get_object()
2424 obj.caller = request.user
2425 if obj.can_update(request.user):
2426 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
2428 return Response(status=status.HTTP_400_BAD_REQUEST)
2430 class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2431 queryset = ImageDeployments.objects.select_related().all()
2432 serializer_class = ImageDeploymentsSerializer
2433 id_serializer_class = ImageDeploymentsIdSerializer
2435 def get_serializer_class(self):
2436 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2438 return self.id_serializer_class
2440 return self.serializer_class
2442 def get_queryset(self):
2443 return ImageDeployments.select_by_user(self.request.user)
2445 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2447 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2451 class ReservedResourceList(generics.ListCreateAPIView):
2452 queryset = ReservedResource.objects.select_related().all()
2453 serializer_class = ReservedResourceSerializer
2454 id_serializer_class = ReservedResourceIdSerializer
2455 filter_backends = (filters.DjangoFilterBackend,)
2456 filter_fields = ('id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
2458 def get_serializer_class(self):
2459 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2461 return self.id_serializer_class
2463 return self.serializer_class
2465 def get_queryset(self):
2466 return ReservedResource.select_by_user(self.request.user)
2468 def create(self, request, *args, **kwargs):
2469 #obj = ReservedResource().update(request.DATA)
2470 obj = self.get_object()
2471 obj.caller = request.user
2472 if obj.can_update(request.user):
2473 return super(ReservedResourceList, self).create(request, *args, **kwargs)
2475 return Response(status=status.HTTP_400_BAD_REQUEST)
2477 class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2478 queryset = ReservedResource.objects.select_related().all()
2479 serializer_class = ReservedResourceSerializer
2480 id_serializer_class = ReservedResourceIdSerializer
2482 def get_serializer_class(self):
2483 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2485 return self.id_serializer_class
2487 return self.serializer_class
2489 def get_queryset(self):
2490 return ReservedResource.select_by_user(self.request.user)
2492 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2494 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2498 class NetworkSliceList(generics.ListCreateAPIView):
2499 queryset = NetworkSlice.objects.select_related().all()
2500 serializer_class = NetworkSliceSerializer
2501 id_serializer_class = NetworkSliceIdSerializer
2502 filter_backends = (filters.DjangoFilterBackend,)
2503 filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','slice',)
2505 def get_serializer_class(self):
2506 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2508 return self.id_serializer_class
2510 return self.serializer_class
2512 def get_queryset(self):
2513 return NetworkSlice.select_by_user(self.request.user)
2515 def create(self, request, *args, **kwargs):
2516 #obj = NetworkSlice().update(request.DATA)
2517 obj = self.get_object()
2518 obj.caller = request.user
2519 if obj.can_update(request.user):
2520 return super(NetworkSliceList, self).create(request, *args, **kwargs)
2522 return Response(status=status.HTTP_400_BAD_REQUEST)
2524 class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2525 queryset = NetworkSlice.objects.select_related().all()
2526 serializer_class = NetworkSliceSerializer
2527 id_serializer_class = NetworkSliceIdSerializer
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 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2541 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2545 class UserDashboardViewList(generics.ListCreateAPIView):
2546 queryset = UserDashboardView.objects.select_related().all()
2547 serializer_class = UserDashboardViewSerializer
2548 id_serializer_class = UserDashboardViewIdSerializer
2549 filter_backends = (filters.DjangoFilterBackend,)
2550 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
2552 def get_serializer_class(self):
2553 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2555 return self.id_serializer_class
2557 return self.serializer_class
2559 def get_queryset(self):
2560 return UserDashboardView.select_by_user(self.request.user)
2562 def create(self, request, *args, **kwargs):
2563 #obj = UserDashboardView().update(request.DATA)
2564 obj = self.get_object()
2565 obj.caller = request.user
2566 if obj.can_update(request.user):
2567 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
2569 return Response(status=status.HTTP_400_BAD_REQUEST)
2571 class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2572 queryset = UserDashboardView.objects.select_related().all()
2573 serializer_class = UserDashboardViewSerializer
2574 id_serializer_class = UserDashboardViewIdSerializer
2576 def get_serializer_class(self):
2577 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2579 return self.id_serializer_class
2581 return self.serializer_class
2583 def get_queryset(self):
2584 return UserDashboardView.select_by_user(self.request.user)
2586 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2588 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2592 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
2593 queryset = PlanetStackPrivilege.objects.select_related().all()
2594 serializer_class = PlanetStackPrivilegeSerializer
2595 id_serializer_class = PlanetStackPrivilegeIdSerializer
2596 filter_backends = (filters.DjangoFilterBackend,)
2597 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
2599 def get_serializer_class(self):
2600 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2602 return self.id_serializer_class
2604 return self.serializer_class
2606 def get_queryset(self):
2607 return PlanetStackPrivilege.select_by_user(self.request.user)
2609 def create(self, request, *args, **kwargs):
2610 #obj = PlanetStackPrivilege().update(request.DATA)
2611 obj = self.get_object()
2612 obj.caller = request.user
2613 if obj.can_update(request.user):
2614 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
2616 return Response(status=status.HTTP_400_BAD_REQUEST)
2618 class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2619 queryset = PlanetStackPrivilege.objects.select_related().all()
2620 serializer_class = PlanetStackPrivilegeSerializer
2621 id_serializer_class = PlanetStackPrivilegeIdSerializer
2623 def get_serializer_class(self):
2624 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2626 return self.id_serializer_class
2628 return self.serializer_class
2630 def get_queryset(self):
2631 return PlanetStackPrivilege.select_by_user(self.request.user)
2633 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2635 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2639 class UserList(generics.ListCreateAPIView):
2640 queryset = User.objects.select_related().all()
2641 serializer_class = UserSerializer
2642 id_serializer_class = UserIdSerializer
2643 filter_backends = (filters.DjangoFilterBackend,)
2644 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',)
2646 def get_serializer_class(self):
2647 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2649 return self.id_serializer_class
2651 return self.serializer_class
2653 def get_queryset(self):
2654 return User.select_by_user(self.request.user)
2656 def create(self, request, *args, **kwargs):
2657 #obj = User().update(request.DATA)
2658 obj = self.get_object()
2659 obj.caller = request.user
2660 if obj.can_update(request.user):
2661 return super(UserList, self).create(request, *args, **kwargs)
2663 return Response(status=status.HTTP_400_BAD_REQUEST)
2665 class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2666 queryset = User.objects.select_related().all()
2667 serializer_class = UserSerializer
2668 id_serializer_class = UserIdSerializer
2670 def get_serializer_class(self):
2671 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2673 return self.id_serializer_class
2675 return self.serializer_class
2677 def get_queryset(self):
2678 return User.select_by_user(self.request.user)
2680 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2682 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2686 class DeploymentList(generics.ListCreateAPIView):
2687 queryset = Deployment.objects.select_related().all()
2688 serializer_class = DeploymentSerializer
2689 id_serializer_class = DeploymentIdSerializer
2690 filter_backends = (filters.DjangoFilterBackend,)
2691 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','admin_user','admin_password','admin_tenant','auth_url','backend_type','availability_zone','accessControl','sites','sites','flavors','flavors',)
2693 def get_serializer_class(self):
2694 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2696 return self.id_serializer_class
2698 return self.serializer_class
2700 def get_queryset(self):
2701 return Deployment.select_by_user(self.request.user)
2703 def create(self, request, *args, **kwargs):
2704 #obj = Deployment().update(request.DATA)
2705 obj = self.get_object()
2706 obj.caller = request.user
2707 if obj.can_update(request.user):
2708 return super(DeploymentList, self).create(request, *args, **kwargs)
2710 return Response(status=status.HTTP_400_BAD_REQUEST)
2712 class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2713 queryset = Deployment.objects.select_related().all()
2714 serializer_class = DeploymentSerializer
2715 id_serializer_class = DeploymentIdSerializer
2717 def get_serializer_class(self):
2718 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2720 return self.id_serializer_class
2722 return self.serializer_class
2724 def get_queryset(self):
2725 return Deployment.select_by_user(self.request.user)
2727 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2729 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2733 class ReservationList(generics.ListCreateAPIView):
2734 queryset = Reservation.objects.select_related().all()
2735 serializer_class = ReservationSerializer
2736 id_serializer_class = ReservationIdSerializer
2737 filter_backends = (filters.DjangoFilterBackend,)
2738 filter_fields = ('id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
2740 def get_serializer_class(self):
2741 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2743 return self.id_serializer_class
2745 return self.serializer_class
2747 def get_queryset(self):
2748 return Reservation.select_by_user(self.request.user)
2750 def create(self, request, *args, **kwargs):
2751 #obj = Reservation().update(request.DATA)
2752 obj = self.get_object()
2753 obj.caller = request.user
2754 if obj.can_update(request.user):
2755 return super(ReservationList, self).create(request, *args, **kwargs)
2757 return Response(status=status.HTTP_400_BAD_REQUEST)
2759 class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2760 queryset = Reservation.objects.select_related().all()
2761 serializer_class = ReservationSerializer
2762 id_serializer_class = ReservationIdSerializer
2764 def get_serializer_class(self):
2765 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2767 return self.id_serializer_class
2769 return self.serializer_class
2771 def get_queryset(self):
2772 return Reservation.select_by_user(self.request.user)
2774 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2776 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2780 class SliceDeploymentsList(generics.ListCreateAPIView):
2781 queryset = SliceDeployments.objects.select_related().all()
2782 serializer_class = SliceDeploymentsSerializer
2783 id_serializer_class = SliceDeploymentsIdSerializer
2784 filter_backends = (filters.DjangoFilterBackend,)
2785 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','deployment','tenant_id','network_id','router_id','subnet_id',)
2787 def get_serializer_class(self):
2788 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2790 return self.id_serializer_class
2792 return self.serializer_class
2794 def get_queryset(self):
2795 return SliceDeployments.select_by_user(self.request.user)
2797 def create(self, request, *args, **kwargs):
2798 #obj = SliceDeployments().update(request.DATA)
2799 obj = self.get_object()
2800 obj.caller = request.user
2801 if obj.can_update(request.user):
2802 return super(SliceDeploymentsList, self).create(request, *args, **kwargs)
2804 return Response(status=status.HTTP_400_BAD_REQUEST)
2806 class SliceDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2807 queryset = SliceDeployments.objects.select_related().all()
2808 serializer_class = SliceDeploymentsSerializer
2809 id_serializer_class = SliceDeploymentsIdSerializer
2811 def get_serializer_class(self):
2812 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2814 return self.id_serializer_class
2816 return self.serializer_class
2818 def get_queryset(self):
2819 return SliceDeployments.select_by_user(self.request.user)
2821 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2823 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2827 class SitePrivilegeList(generics.ListCreateAPIView):
2828 queryset = SitePrivilege.objects.select_related().all()
2829 serializer_class = SitePrivilegeSerializer
2830 id_serializer_class = SitePrivilegeIdSerializer
2831 filter_backends = (filters.DjangoFilterBackend,)
2832 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','site','role',)
2834 def get_serializer_class(self):
2835 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2837 return self.id_serializer_class
2839 return self.serializer_class
2841 def get_queryset(self):
2842 return SitePrivilege.select_by_user(self.request.user)
2844 def create(self, request, *args, **kwargs):
2845 #obj = SitePrivilege().update(request.DATA)
2846 obj = self.get_object()
2847 obj.caller = request.user
2848 if obj.can_update(request.user):
2849 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
2851 return Response(status=status.HTTP_400_BAD_REQUEST)
2853 class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2854 queryset = SitePrivilege.objects.select_related().all()
2855 serializer_class = SitePrivilegeSerializer
2856 id_serializer_class = SitePrivilegeIdSerializer
2858 def get_serializer_class(self):
2859 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2861 return self.id_serializer_class
2863 return self.serializer_class
2865 def get_queryset(self):
2866 return SitePrivilege.select_by_user(self.request.user)
2868 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2870 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2874 class PlanetStackList(generics.ListCreateAPIView):
2875 queryset = PlanetStack.objects.select_related().all()
2876 serializer_class = PlanetStackSerializer
2877 id_serializer_class = PlanetStackIdSerializer
2878 filter_backends = (filters.DjangoFilterBackend,)
2879 filter_fields = ('id','created','updated','enacted','backend_status','deleted','description',)
2881 def get_serializer_class(self):
2882 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2884 return self.id_serializer_class
2886 return self.serializer_class
2888 def get_queryset(self):
2889 return PlanetStack.select_by_user(self.request.user)
2891 def create(self, request, *args, **kwargs):
2892 #obj = PlanetStack().update(request.DATA)
2893 obj = self.get_object()
2894 obj.caller = request.user
2895 if obj.can_update(request.user):
2896 return super(PlanetStackList, self).create(request, *args, **kwargs)
2898 return Response(status=status.HTTP_400_BAD_REQUEST)
2900 class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2901 queryset = PlanetStack.objects.select_related().all()
2902 serializer_class = PlanetStackSerializer
2903 id_serializer_class = PlanetStackIdSerializer
2905 def get_serializer_class(self):
2906 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2908 return self.id_serializer_class
2910 return self.serializer_class
2912 def get_queryset(self):
2913 return PlanetStack.select_by_user(self.request.user)
2915 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2917 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2921 class UserDeploymentsList(generics.ListCreateAPIView):
2922 queryset = UserDeployments.objects.select_related().all()
2923 serializer_class = UserDeploymentsSerializer
2924 id_serializer_class = UserDeploymentsIdSerializer
2925 filter_backends = (filters.DjangoFilterBackend,)
2926 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','kuser_id',)
2928 def get_serializer_class(self):
2929 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2931 return self.id_serializer_class
2933 return self.serializer_class
2935 def get_queryset(self):
2936 return UserDeployments.select_by_user(self.request.user)
2938 def create(self, request, *args, **kwargs):
2939 #obj = UserDeployments().update(request.DATA)
2940 obj = self.get_object()
2941 obj.caller = request.user
2942 if obj.can_update(request.user):
2943 return super(UserDeploymentsList, self).create(request, *args, **kwargs)
2945 return Response(status=status.HTTP_400_BAD_REQUEST)
2947 class UserDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2948 queryset = UserDeployments.objects.select_related().all()
2949 serializer_class = UserDeploymentsSerializer
2950 id_serializer_class = UserDeploymentsIdSerializer
2952 def get_serializer_class(self):
2953 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2955 return self.id_serializer_class
2957 return self.serializer_class
2959 def get_queryset(self):
2960 return UserDeployments.select_by_user(self.request.user)
2962 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2964 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2968 class AccountList(generics.ListCreateAPIView):
2969 queryset = Account.objects.select_related().all()
2970 serializer_class = AccountSerializer
2971 id_serializer_class = AccountIdSerializer
2972 filter_backends = (filters.DjangoFilterBackend,)
2973 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site',)
2975 def get_serializer_class(self):
2976 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
2978 return self.id_serializer_class
2980 return self.serializer_class
2982 def get_queryset(self):
2983 return Account.select_by_user(self.request.user)
2985 def create(self, request, *args, **kwargs):
2986 #obj = Account().update(request.DATA)
2987 obj = self.get_object()
2988 obj.caller = request.user
2989 if obj.can_update(request.user):
2990 return super(AccountList, self).create(request, *args, **kwargs)
2992 return Response(status=status.HTTP_400_BAD_REQUEST)
2994 class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2995 queryset = Account.objects.select_related().all()
2996 serializer_class = AccountSerializer
2997 id_serializer_class = AccountIdSerializer
2999 def get_serializer_class(self):
3000 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3002 return self.id_serializer_class
3004 return self.serializer_class
3006 def get_queryset(self):
3007 return Account.select_by_user(self.request.user)
3009 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3011 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3015 class NetworkParameterTypeList(generics.ListCreateAPIView):
3016 queryset = NetworkParameterType.objects.select_related().all()
3017 serializer_class = NetworkParameterTypeSerializer
3018 id_serializer_class = NetworkParameterTypeIdSerializer
3019 filter_backends = (filters.DjangoFilterBackend,)
3020 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description',)
3022 def get_serializer_class(self):
3023 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3025 return self.id_serializer_class
3027 return self.serializer_class
3029 def get_queryset(self):
3030 return NetworkParameterType.select_by_user(self.request.user)
3032 def create(self, request, *args, **kwargs):
3033 #obj = NetworkParameterType().update(request.DATA)
3034 obj = self.get_object()
3035 obj.caller = request.user
3036 if obj.can_update(request.user):
3037 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
3039 return Response(status=status.HTTP_400_BAD_REQUEST)
3041 class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3042 queryset = NetworkParameterType.objects.select_related().all()
3043 serializer_class = NetworkParameterTypeSerializer
3044 id_serializer_class = NetworkParameterTypeIdSerializer
3046 def get_serializer_class(self):
3047 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3049 return self.id_serializer_class
3051 return self.serializer_class
3053 def get_queryset(self):
3054 return NetworkParameterType.select_by_user(self.request.user)
3056 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3058 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3062 class SiteCredentialList(generics.ListCreateAPIView):
3063 queryset = SiteCredential.objects.select_related().all()
3064 serializer_class = SiteCredentialSerializer
3065 id_serializer_class = SiteCredentialIdSerializer
3066 filter_backends = (filters.DjangoFilterBackend,)
3067 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
3069 def get_serializer_class(self):
3070 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3072 return self.id_serializer_class
3074 return self.serializer_class
3076 def get_queryset(self):
3077 return SiteCredential.select_by_user(self.request.user)
3079 def create(self, request, *args, **kwargs):
3080 #obj = SiteCredential().update(request.DATA)
3081 obj = self.get_object()
3082 obj.caller = request.user
3083 if obj.can_update(request.user):
3084 return super(SiteCredentialList, self).create(request, *args, **kwargs)
3086 return Response(status=status.HTTP_400_BAD_REQUEST)
3088 class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3089 queryset = SiteCredential.objects.select_related().all()
3090 serializer_class = SiteCredentialSerializer
3091 id_serializer_class = SiteCredentialIdSerializer
3093 def get_serializer_class(self):
3094 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3096 return self.id_serializer_class
3098 return self.serializer_class
3100 def get_queryset(self):
3101 return SiteCredential.select_by_user(self.request.user)
3103 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3105 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3109 class DeploymentPrivilegeList(generics.ListCreateAPIView):
3110 queryset = DeploymentPrivilege.objects.select_related().all()
3111 serializer_class = DeploymentPrivilegeSerializer
3112 id_serializer_class = DeploymentPrivilegeIdSerializer
3113 filter_backends = (filters.DjangoFilterBackend,)
3114 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
3116 def get_serializer_class(self):
3117 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3119 return self.id_serializer_class
3121 return self.serializer_class
3123 def get_queryset(self):
3124 return DeploymentPrivilege.select_by_user(self.request.user)
3126 def create(self, request, *args, **kwargs):
3127 #obj = DeploymentPrivilege().update(request.DATA)
3128 obj = self.get_object()
3129 obj.caller = request.user
3130 if obj.can_update(request.user):
3131 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
3133 return Response(status=status.HTTP_400_BAD_REQUEST)
3135 class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3136 queryset = DeploymentPrivilege.objects.select_related().all()
3137 serializer_class = DeploymentPrivilegeSerializer
3138 id_serializer_class = DeploymentPrivilegeIdSerializer
3140 def get_serializer_class(self):
3141 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3143 return self.id_serializer_class
3145 return self.serializer_class
3147 def get_queryset(self):
3148 return DeploymentPrivilege.select_by_user(self.request.user)
3150 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3152 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3156 class DeploymentRoleList(generics.ListCreateAPIView):
3157 queryset = DeploymentRole.objects.select_related().all()
3158 serializer_class = DeploymentRoleSerializer
3159 id_serializer_class = DeploymentRoleIdSerializer
3160 filter_backends = (filters.DjangoFilterBackend,)
3161 filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
3163 def get_serializer_class(self):
3164 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3166 return self.id_serializer_class
3168 return self.serializer_class
3170 def get_queryset(self):
3171 return DeploymentRole.select_by_user(self.request.user)
3173 def create(self, request, *args, **kwargs):
3174 #obj = DeploymentRole().update(request.DATA)
3175 obj = self.get_object()
3176 obj.caller = request.user
3177 if obj.can_update(request.user):
3178 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
3180 return Response(status=status.HTTP_400_BAD_REQUEST)
3182 class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3183 queryset = DeploymentRole.objects.select_related().all()
3184 serializer_class = DeploymentRoleSerializer
3185 id_serializer_class = DeploymentRoleIdSerializer
3187 def get_serializer_class(self):
3188 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3190 return self.id_serializer_class
3192 return self.serializer_class
3194 def get_queryset(self):
3195 return DeploymentRole.select_by_user(self.request.user)
3197 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3199 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3203 class UserCredentialList(generics.ListCreateAPIView):
3204 queryset = UserCredential.objects.select_related().all()
3205 serializer_class = UserCredentialSerializer
3206 id_serializer_class = UserCredentialIdSerializer
3207 filter_backends = (filters.DjangoFilterBackend,)
3208 filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
3210 def get_serializer_class(self):
3211 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3213 return self.id_serializer_class
3215 return self.serializer_class
3217 def get_queryset(self):
3218 return UserCredential.select_by_user(self.request.user)
3220 def create(self, request, *args, **kwargs):
3221 #obj = UserCredential().update(request.DATA)
3222 obj = self.get_object()
3223 obj.caller = request.user
3224 if obj.can_update(request.user):
3225 return super(UserCredentialList, self).create(request, *args, **kwargs)
3227 return Response(status=status.HTTP_400_BAD_REQUEST)
3229 class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3230 queryset = UserCredential.objects.select_related().all()
3231 serializer_class = UserCredentialSerializer
3232 id_serializer_class = UserCredentialIdSerializer
3234 def get_serializer_class(self):
3235 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3237 return self.id_serializer_class
3239 return self.serializer_class
3241 def get_queryset(self):
3242 return UserCredential.select_by_user(self.request.user)
3244 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3246 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3250 class SiteDeploymentsList(generics.ListCreateAPIView):
3251 queryset = SiteDeployments.objects.select_related().all()
3252 serializer_class = SiteDeploymentsSerializer
3253 id_serializer_class = SiteDeploymentsIdSerializer
3254 filter_backends = (filters.DjangoFilterBackend,)
3255 filter_fields = ('id','created','updated','enacted','backend_status','deleted','site','deployment','tenant_id',)
3257 def get_serializer_class(self):
3258 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3260 return self.id_serializer_class
3262 return self.serializer_class
3264 def get_queryset(self):
3265 return SiteDeployments.select_by_user(self.request.user)
3267 def create(self, request, *args, **kwargs):
3268 #obj = SiteDeployments().update(request.DATA)
3269 obj = self.get_object()
3270 obj.caller = request.user
3271 if obj.can_update(request.user):
3272 return super(SiteDeploymentsList, self).create(request, *args, **kwargs)
3274 return Response(status=status.HTTP_400_BAD_REQUEST)
3276 class SiteDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3277 queryset = SiteDeployments.objects.select_related().all()
3278 serializer_class = SiteDeploymentsSerializer
3279 id_serializer_class = SiteDeploymentsIdSerializer
3281 def get_serializer_class(self):
3282 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3284 return self.id_serializer_class
3286 return self.serializer_class
3288 def get_queryset(self):
3289 return SiteDeployments.select_by_user(self.request.user)
3291 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3293 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3297 class SliceTagList(generics.ListCreateAPIView):
3298 queryset = SliceTag.objects.select_related().all()
3299 serializer_class = SliceTagSerializer
3300 id_serializer_class = SliceTagIdSerializer
3301 filter_backends = (filters.DjangoFilterBackend,)
3302 filter_fields = ('id','created','updated','enacted','backend_status','deleted','slice','name','value',)
3304 def get_serializer_class(self):
3305 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3307 return self.id_serializer_class
3309 return self.serializer_class
3311 def get_queryset(self):
3312 return SliceTag.select_by_user(self.request.user)
3314 def create(self, request, *args, **kwargs):
3315 #obj = SliceTag().update(request.DATA)
3316 obj = self.get_object()
3317 obj.caller = request.user
3318 if obj.can_update(request.user):
3319 return super(SliceTagList, self).create(request, *args, **kwargs)
3321 return Response(status=status.HTTP_400_BAD_REQUEST)
3323 class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3324 queryset = SliceTag.objects.select_related().all()
3325 serializer_class = SliceTagSerializer
3326 id_serializer_class = SliceTagIdSerializer
3328 def get_serializer_class(self):
3329 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3331 return self.id_serializer_class
3333 return self.serializer_class
3335 def get_queryset(self):
3336 return SliceTag.select_by_user(self.request.user)
3338 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3340 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3344 class NetworkTemplateList(generics.ListCreateAPIView):
3345 queryset = NetworkTemplate.objects.select_related().all()
3346 serializer_class = NetworkTemplateSerializer
3347 id_serializer_class = NetworkTemplateIdSerializer
3348 filter_backends = (filters.DjangoFilterBackend,)
3349 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
3351 def get_serializer_class(self):
3352 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3354 return self.id_serializer_class
3356 return self.serializer_class
3358 def get_queryset(self):
3359 return NetworkTemplate.select_by_user(self.request.user)
3361 def create(self, request, *args, **kwargs):
3362 #obj = NetworkTemplate().update(request.DATA)
3363 obj = self.get_object()
3364 obj.caller = request.user
3365 if obj.can_update(request.user):
3366 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
3368 return Response(status=status.HTTP_400_BAD_REQUEST)
3370 class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3371 queryset = NetworkTemplate.objects.select_related().all()
3372 serializer_class = NetworkTemplateSerializer
3373 id_serializer_class = NetworkTemplateIdSerializer
3375 def get_serializer_class(self):
3376 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3378 return self.id_serializer_class
3380 return self.serializer_class
3382 def get_queryset(self):
3383 return NetworkTemplate.select_by_user(self.request.user)
3385 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3387 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3391 class RouterList(generics.ListCreateAPIView):
3392 queryset = Router.objects.select_related().all()
3393 serializer_class = RouterSerializer
3394 id_serializer_class = RouterIdSerializer
3395 filter_backends = (filters.DjangoFilterBackend,)
3396 filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','owner',)
3398 def get_serializer_class(self):
3399 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3401 return self.id_serializer_class
3403 return self.serializer_class
3405 def get_queryset(self):
3406 return Router.select_by_user(self.request.user)
3408 def create(self, request, *args, **kwargs):
3409 #obj = Router().update(request.DATA)
3410 obj = self.get_object()
3411 obj.caller = request.user
3412 if obj.can_update(request.user):
3413 return super(RouterList, self).create(request, *args, **kwargs)
3415 return Response(status=status.HTTP_400_BAD_REQUEST)
3417 class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3418 queryset = Router.objects.select_related().all()
3419 serializer_class = RouterSerializer
3420 id_serializer_class = RouterIdSerializer
3422 def get_serializer_class(self):
3423 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3425 return self.id_serializer_class
3427 return self.serializer_class
3429 def get_queryset(self):
3430 return Router.select_by_user(self.request.user)
3432 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3434 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3438 class ServiceResourceList(generics.ListCreateAPIView):
3439 queryset = ServiceResource.objects.select_related().all()
3440 serializer_class = ServiceResourceSerializer
3441 id_serializer_class = ServiceResourceIdSerializer
3442 filter_backends = (filters.DjangoFilterBackend,)
3443 filter_fields = ('id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
3445 def get_serializer_class(self):
3446 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3448 return self.id_serializer_class
3450 return self.serializer_class
3452 def get_queryset(self):
3453 return ServiceResource.select_by_user(self.request.user)
3455 def create(self, request, *args, **kwargs):
3456 #obj = ServiceResource().update(request.DATA)
3457 obj = self.get_object()
3458 obj.caller = request.user
3459 if obj.can_update(request.user):
3460 return super(ServiceResourceList, self).create(request, *args, **kwargs)
3462 return Response(status=status.HTTP_400_BAD_REQUEST)
3464 class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3465 queryset = ServiceResource.objects.select_related().all()
3466 serializer_class = ServiceResourceSerializer
3467 id_serializer_class = ServiceResourceIdSerializer
3469 def get_serializer_class(self):
3470 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
3472 return self.id_serializer_class
3474 return self.serializer_class
3476 def get_queryset(self):
3477 return ServiceResource.select_by_user(self.request.user)
3479 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3481 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView