1 from rest_framework.decorators import api_view
2 from rest_framework.response import Response
3 from rest_framework.reverse import reverse
4 from rest_framework import serializers
5 from rest_framework import generics
6 from core.models import *
7 from django.forms import widgets
10 Schema of the generator object:
11 all: Set of all Model objects
12 all_if(regex): Set of Model objects that match regex
15 plural: English plural of object name
16 camel: CamelCase version of object name
17 refs: list of references to other Model objects
18 props: list of properties minus refs
20 TODO: Deal with subnets
23 # Based on api_root.py
26 def api_root(request, format=None):
28 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
29 'images': reverse('image-list', request=request, format=format),
30 'networkparameters': reverse('networkparameter-list', request=request, format=format),
31 'sites': reverse('site-list', request=request, format=format),
32 'sliceroles': reverse('slicerole-list', request=request, format=format),
33 'tags': reverse('tag-list', request=request, format=format),
34 'invoices': reverse('invoice-list', request=request, format=format),
35 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
36 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
37 'networkslivers': reverse('networksliver-list', request=request, format=format),
38 'slices': reverse('slice-list', request=request, format=format),
39 'networks': reverse('network-list', request=request, format=format),
40 'services': reverse('service-list', request=request, format=format),
41 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
42 'siteroles': reverse('siterole-list', request=request, format=format),
43 'charges': reverse('charge-list', request=request, format=format),
44 'roles': reverse('role-list', request=request, format=format),
45 'usableobjects': reverse('usableobject-list', request=request, format=format),
46 'slivers': reverse('sliver-list', request=request, format=format),
47 'nodes': reverse('node-list', request=request, format=format),
48 'reservedresources': reverse('reservedresource-list', request=request, format=format),
49 'payments': reverse('payment-list', request=request, format=format),
50 'networkslices': reverse('networkslice-list', request=request, format=format),
51 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
52 'users': reverse('user-list', request=request, format=format),
53 'deployments': reverse('deployment-list', request=request, format=format),
54 'reservations': reverse('reservation-list', request=request, format=format),
55 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
56 'planetstacks': reverse('planetstack-list', request=request, format=format),
57 'accounts': reverse('account-list', request=request, format=format),
58 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
59 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
60 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
61 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
62 'projects': reverse('project-list', request=request, format=format),
63 'slicetags': reverse('slicetag-list', request=request, format=format),
64 'networktemplates': reverse('networktemplate-list', request=request, format=format),
65 'routers': reverse('router-list', request=request, format=format),
66 'serviceresources': reverse('serviceresource-list', request=request, format=format),
70 # Based on serializers.py
74 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
75 id = serializers.Field()
78 service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail')
82 model = ServiceAttribute
83 fields = ('id','created','updated','enacted','name','value','service',)
86 class ImageSerializer(serializers.HyperlinkedModelSerializer):
87 id = serializers.Field()
90 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
95 fields = ('id','created','updated','enacted','image_id','name','disk_format','container_format','slivers',)
98 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
99 id = serializers.Field()
102 model = NetworkParameter
103 fields = ('id','created','updated','enacted','parameter','value','content_type','object_id',)
106 class SiteSerializer(serializers.HyperlinkedModelSerializer):
107 id = serializers.Field()
110 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
114 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
118 users = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='user-detail')
122 site_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='siteprivilege-detail')
126 accounts = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='account-detail')
131 fields = ('id','created','updated','enacted','tenant_id','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','slices','nodes','users','site_privileges','accounts',)
134 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
135 id = serializers.Field()
139 fields = ('id','created','updated','enacted','role',)
142 class TagSerializer(serializers.HyperlinkedModelSerializer):
143 id = serializers.Field()
146 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
150 serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
154 service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail')
158 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
162 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
166 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
170 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
174 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
178 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
183 fields = ('id','created','updated','enacted','name','value','content_type','object_id','sites','serviceattributes','service','slices','service','slivers','slivers','nodes','nodes',)
186 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
187 id = serializers.Field()
190 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
194 charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail')
199 fields = ('id','created','updated','enacted','date','account','charges',)
202 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
203 id = serializers.Field()
206 model = PlanetStackRole
207 fields = ('id','created','updated','enacted','role',)
210 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
211 id = serializers.Field()
214 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
218 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
222 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
226 model = SlicePrivilege
227 fields = ('id','created','updated','enacted','user','slice','role',)
230 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
231 id = serializers.Field()
234 network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail')
238 sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail')
242 model = NetworkSliver
243 fields = ('id','created','updated','enacted','ip','port_id','network','sliver',)
246 class SliceSerializer(serializers.HyperlinkedModelSerializer):
247 id = serializers.Field()
250 slice_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliceprivilege-detail')
254 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
258 service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail')
262 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
266 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
270 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
274 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
278 charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail')
282 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
286 reservations = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='reservation-detail')
290 slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slicetag-detail')
295 fields = ('id','created','updated','enacted','tenant_id','name','enabled','omf_friendly','description','slice_url','network_id','router_id','subnet_id','serviceClass','creator','slice_privileges','site','service','networks','service','networks','service','charges','slivers','reservations','slicetags',)
298 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
299 id = serializers.Field()
302 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
306 slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
310 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
314 slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
319 fields = ('id','created','updated','enacted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','slicetags','routers','slicetags',)
322 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
323 id = serializers.Field()
326 serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='serviceattribute-detail')
330 tags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='tag-detail')
334 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
339 fields = ('id','created','updated','enacted','description','enabled','name','versionNumber','published','serviceattributes','tags','service',)
342 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
343 id = serializers.Field()
347 fields = ('id','created','updated','enacted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
350 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
351 id = serializers.Field()
355 fields = ('id','created','updated','enacted','role',)
358 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
359 id = serializers.Field()
362 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
366 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
370 invoice = serializers.HyperlinkedRelatedField(read_only=True, view_name='invoice-detail')
375 fields = ('id','created','updated','enacted','kind','state','date','object','amount','coreHours','account','slice','invoice',)
378 class RoleSerializer(serializers.HyperlinkedModelSerializer):
379 id = serializers.Field()
383 fields = ('id','created','updated','enacted','role_type','role','description','content_type',)
386 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
387 id = serializers.Field()
391 fields = ('id','created','updated','enacted','name',)
394 class SliverSerializer(serializers.HyperlinkedModelSerializer):
395 id = serializers.Field()
398 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
402 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
406 service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='serviceclass-detail')
410 image = serializers.HyperlinkedRelatedField(read_only=True, view_name='image-detail')
414 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
418 node = serializers.HyperlinkedRelatedField(read_only=True, view_name='node-detail')
422 reservedResourrces = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='reservedresource-detail')
427 fields = ('id','created','updated','enacted','instance_id','name','instance_name','ip','creator','deploymentNetwork','numberCores','networks','service','service','image','slice','node','reservedResourrces',)
430 class NodeSerializer(serializers.HyperlinkedModelSerializer):
431 id = serializers.Field()
434 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
438 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
442 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
447 fields = ('id','created','updated','enacted','name','slivers','site','deployment',)
450 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
451 id = serializers.Field()
454 sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail')
458 model = ReservedResource
459 fields = ('id','created','updated','enacted','resource','quantity','reservationSet','sliver',)
462 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
463 id = serializers.Field()
466 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
471 fields = ('id','created','updated','enacted','amount','date','account',)
474 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
475 id = serializers.Field()
478 network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail')
482 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
487 fields = ('id','created','updated','enacted','network','slice',)
490 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
491 id = serializers.Field()
494 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
498 planetstack = serializers.HyperlinkedRelatedField(read_only=True, view_name='planetstack-detail')
502 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
506 model = PlanetStackPrivilege
507 fields = ('id','created','updated','enacted','user','planetstack','role',)
510 class UserSerializer(serializers.HyperlinkedModelSerializer):
511 id = serializers.Field()
514 slice_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliceprivilege-detail')
518 planetstack_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='planetstackprivilege-detail')
522 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
526 site_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='siteprivilege-detail')
530 deployment_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deploymentprivilege-detail')
535 fields = ('id','password','last_login','email','username','kuser_id','firstname','lastname','phone','user_url','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','timezone','slice_privileges','planetstack_privileges','site','site_privileges','deployment_privileges',)
538 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
539 id = serializers.Field()
542 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
546 serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
550 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
554 deployment_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deploymentprivilege-detail')
559 fields = ('id','created','updated','enacted','name','sites','serviceattributes','nodes','deployment_privileges',)
562 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
563 id = serializers.Field()
566 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
571 fields = ('id','created','updated','enacted','startTime','duration','slice',)
574 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
575 id = serializers.Field()
578 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
582 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
586 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
590 model = SitePrivilege
591 fields = ('id','created','updated','enacted','user','site','role',)
594 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
595 id = serializers.Field()
598 planetstack_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='planetstackprivilege-detail')
603 fields = ('id','created','updated','enacted','description','planetstack_privileges',)
606 class AccountSerializer(serializers.HyperlinkedModelSerializer):
607 id = serializers.Field()
610 invoices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='invoice-detail')
614 charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail')
618 payments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='payment-detail')
622 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
627 fields = ('id','created','updated','enacted','invoices','charges','payments','site',)
630 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
631 id = serializers.Field()
634 model = NetworkParameterType
635 fields = ('id','created','updated','enacted','name','description',)
638 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
639 id = serializers.Field()
642 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
646 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
650 model = SiteDeployments
651 fields = ('id','created','updated','enacted','site','deployment',)
654 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
655 id = serializers.Field()
658 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
662 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
666 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
670 model = DeploymentPrivilege
671 fields = ('id','created','updated','enacted','user','deployment','role',)
674 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
675 id = serializers.Field()
678 model = DeploymentRole
679 fields = ('id','created','updated','enacted','role',)
682 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
683 id = serializers.Field()
687 fields = ('id','created','updated','enacted','name',)
690 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
691 id = serializers.Field()
694 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
699 fields = ('id','created','updated','enacted','name','value','slice',)
702 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
703 id = serializers.Field()
706 model = NetworkTemplate
707 fields = ('id','created','updated','enacted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
710 class RouterSerializer(serializers.HyperlinkedModelSerializer):
711 id = serializers.Field()
715 fields = ('id','created','updated','enacted','name','owner',)
718 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
719 id = serializers.Field()
722 model = ServiceResource
723 fields = ('id','created','updated','enacted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
728 ServiceAttribute: ServiceAttributeSerializer,
730 Image: ImageSerializer,
732 NetworkParameter: NetworkParameterSerializer,
734 Site: SiteSerializer,
736 SliceRole: SliceRoleSerializer,
740 Invoice: InvoiceSerializer,
742 PlanetStackRole: PlanetStackRoleSerializer,
744 SlicePrivilege: SlicePrivilegeSerializer,
746 NetworkSliver: NetworkSliverSerializer,
748 Slice: SliceSerializer,
750 Network: NetworkSerializer,
752 Service: ServiceSerializer,
754 ServiceClass: ServiceClassSerializer,
756 SiteRole: SiteRoleSerializer,
758 Charge: ChargeSerializer,
760 Role: RoleSerializer,
762 UsableObject: UsableObjectSerializer,
764 Sliver: SliverSerializer,
766 Node: NodeSerializer,
768 ReservedResource: ReservedResourceSerializer,
770 Payment: PaymentSerializer,
772 NetworkSlice: NetworkSliceSerializer,
774 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
776 User: UserSerializer,
778 Deployment: DeploymentSerializer,
780 Reservation: ReservationSerializer,
782 SitePrivilege: SitePrivilegeSerializer,
784 PlanetStack: PlanetStackSerializer,
786 Account: AccountSerializer,
788 NetworkParameterType: NetworkParameterTypeSerializer,
790 SiteDeployments: SiteDeploymentsSerializer,
792 DeploymentPrivilege: DeploymentPrivilegeSerializer,
794 DeploymentRole: DeploymentRoleSerializer,
796 Project: ProjectSerializer,
798 SliceTag: SliceTagSerializer,
800 NetworkTemplate: NetworkTemplateSerializer,
802 Router: RouterSerializer,
804 ServiceResource: ServiceResourceSerializer,
809 # Based on core/views/*.py
812 class ServiceAttributeList(generics.ListCreateAPIView):
813 queryset = ServiceAttribute.objects.select_related().all()
814 serializer_class = ServiceAttributeSerializer
816 class ServiceAttributeDetail(generics.RetrieveUpdateDestroyAPIView):
817 queryset = ServiceAttribute.objects.select_related().all()
818 serializer_class = ServiceAttributeSerializer
822 class ImageList(generics.ListCreateAPIView):
823 queryset = Image.objects.select_related().all()
824 serializer_class = ImageSerializer
826 class ImageDetail(generics.RetrieveUpdateDestroyAPIView):
827 queryset = Image.objects.select_related().all()
828 serializer_class = ImageSerializer
832 class NetworkParameterList(generics.ListCreateAPIView):
833 queryset = NetworkParameter.objects.select_related().all()
834 serializer_class = NetworkParameterSerializer
836 class NetworkParameterDetail(generics.RetrieveUpdateDestroyAPIView):
837 queryset = NetworkParameter.objects.select_related().all()
838 serializer_class = NetworkParameterSerializer
842 class SiteList(generics.ListCreateAPIView):
843 queryset = Site.objects.select_related().all()
844 serializer_class = SiteSerializer
846 class SiteDetail(generics.RetrieveUpdateDestroyAPIView):
847 queryset = Site.objects.select_related().all()
848 serializer_class = SiteSerializer
852 class SliceRoleList(generics.ListCreateAPIView):
853 queryset = SliceRole.objects.select_related().all()
854 serializer_class = SliceRoleSerializer
856 class SliceRoleDetail(generics.RetrieveUpdateDestroyAPIView):
857 queryset = SliceRole.objects.select_related().all()
858 serializer_class = SliceRoleSerializer
862 class TagList(generics.ListCreateAPIView):
863 queryset = Tag.objects.select_related().all()
864 serializer_class = TagSerializer
866 class TagDetail(generics.RetrieveUpdateDestroyAPIView):
867 queryset = Tag.objects.select_related().all()
868 serializer_class = TagSerializer
872 class InvoiceList(generics.ListCreateAPIView):
873 queryset = Invoice.objects.select_related().all()
874 serializer_class = InvoiceSerializer
876 class InvoiceDetail(generics.RetrieveUpdateDestroyAPIView):
877 queryset = Invoice.objects.select_related().all()
878 serializer_class = InvoiceSerializer
882 class PlanetStackRoleList(generics.ListCreateAPIView):
883 queryset = PlanetStackRole.objects.select_related().all()
884 serializer_class = PlanetStackRoleSerializer
886 class PlanetStackRoleDetail(generics.RetrieveUpdateDestroyAPIView):
887 queryset = PlanetStackRole.objects.select_related().all()
888 serializer_class = PlanetStackRoleSerializer
892 class SlicePrivilegeList(generics.ListCreateAPIView):
893 queryset = SlicePrivilege.objects.select_related().all()
894 serializer_class = SlicePrivilegeSerializer
896 class SlicePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
897 queryset = SlicePrivilege.objects.select_related().all()
898 serializer_class = SlicePrivilegeSerializer
902 class NetworkSliverList(generics.ListCreateAPIView):
903 queryset = NetworkSliver.objects.select_related().all()
904 serializer_class = NetworkSliverSerializer
906 class NetworkSliverDetail(generics.RetrieveUpdateDestroyAPIView):
907 queryset = NetworkSliver.objects.select_related().all()
908 serializer_class = NetworkSliverSerializer
912 class SliceList(generics.ListCreateAPIView):
913 queryset = Slice.objects.select_related().all()
914 serializer_class = SliceSerializer
916 class SliceDetail(generics.RetrieveUpdateDestroyAPIView):
917 queryset = Slice.objects.select_related().all()
918 serializer_class = SliceSerializer
922 class NetworkList(generics.ListCreateAPIView):
923 queryset = Network.objects.select_related().all()
924 serializer_class = NetworkSerializer
926 class NetworkDetail(generics.RetrieveUpdateDestroyAPIView):
927 queryset = Network.objects.select_related().all()
928 serializer_class = NetworkSerializer
932 class ServiceList(generics.ListCreateAPIView):
933 queryset = Service.objects.select_related().all()
934 serializer_class = ServiceSerializer
936 class ServiceDetail(generics.RetrieveUpdateDestroyAPIView):
937 queryset = Service.objects.select_related().all()
938 serializer_class = ServiceSerializer
942 class ServiceClassList(generics.ListCreateAPIView):
943 queryset = ServiceClass.objects.select_related().all()
944 serializer_class = ServiceClassSerializer
946 class ServiceClassDetail(generics.RetrieveUpdateDestroyAPIView):
947 queryset = ServiceClass.objects.select_related().all()
948 serializer_class = ServiceClassSerializer
952 class SiteRoleList(generics.ListCreateAPIView):
953 queryset = SiteRole.objects.select_related().all()
954 serializer_class = SiteRoleSerializer
956 class SiteRoleDetail(generics.RetrieveUpdateDestroyAPIView):
957 queryset = SiteRole.objects.select_related().all()
958 serializer_class = SiteRoleSerializer
962 class ChargeList(generics.ListCreateAPIView):
963 queryset = Charge.objects.select_related().all()
964 serializer_class = ChargeSerializer
966 class ChargeDetail(generics.RetrieveUpdateDestroyAPIView):
967 queryset = Charge.objects.select_related().all()
968 serializer_class = ChargeSerializer
972 class RoleList(generics.ListCreateAPIView):
973 queryset = Role.objects.select_related().all()
974 serializer_class = RoleSerializer
976 class RoleDetail(generics.RetrieveUpdateDestroyAPIView):
977 queryset = Role.objects.select_related().all()
978 serializer_class = RoleSerializer
982 class UsableObjectList(generics.ListCreateAPIView):
983 queryset = UsableObject.objects.select_related().all()
984 serializer_class = UsableObjectSerializer
986 class UsableObjectDetail(generics.RetrieveUpdateDestroyAPIView):
987 queryset = UsableObject.objects.select_related().all()
988 serializer_class = UsableObjectSerializer
992 class SliverList(generics.ListCreateAPIView):
993 queryset = Sliver.objects.select_related().all()
994 serializer_class = SliverSerializer
996 class SliverDetail(generics.RetrieveUpdateDestroyAPIView):
997 queryset = Sliver.objects.select_related().all()
998 serializer_class = SliverSerializer
1002 class NodeList(generics.ListCreateAPIView):
1003 queryset = Node.objects.select_related().all()
1004 serializer_class = NodeSerializer
1006 class NodeDetail(generics.RetrieveUpdateDestroyAPIView):
1007 queryset = Node.objects.select_related().all()
1008 serializer_class = NodeSerializer
1012 class ReservedResourceList(generics.ListCreateAPIView):
1013 queryset = ReservedResource.objects.select_related().all()
1014 serializer_class = ReservedResourceSerializer
1016 class ReservedResourceDetail(generics.RetrieveUpdateDestroyAPIView):
1017 queryset = ReservedResource.objects.select_related().all()
1018 serializer_class = ReservedResourceSerializer
1022 class PaymentList(generics.ListCreateAPIView):
1023 queryset = Payment.objects.select_related().all()
1024 serializer_class = PaymentSerializer
1026 class PaymentDetail(generics.RetrieveUpdateDestroyAPIView):
1027 queryset = Payment.objects.select_related().all()
1028 serializer_class = PaymentSerializer
1032 class NetworkSliceList(generics.ListCreateAPIView):
1033 queryset = NetworkSlice.objects.select_related().all()
1034 serializer_class = NetworkSliceSerializer
1036 class NetworkSliceDetail(generics.RetrieveUpdateDestroyAPIView):
1037 queryset = NetworkSlice.objects.select_related().all()
1038 serializer_class = NetworkSliceSerializer
1042 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
1043 queryset = PlanetStackPrivilege.objects.select_related().all()
1044 serializer_class = PlanetStackPrivilegeSerializer
1046 class PlanetStackPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
1047 queryset = PlanetStackPrivilege.objects.select_related().all()
1048 serializer_class = PlanetStackPrivilegeSerializer
1052 class UserList(generics.ListCreateAPIView):
1053 queryset = User.objects.select_related().all()
1054 serializer_class = UserSerializer
1056 class UserDetail(generics.RetrieveUpdateDestroyAPIView):
1057 queryset = User.objects.select_related().all()
1058 serializer_class = UserSerializer
1062 class DeploymentList(generics.ListCreateAPIView):
1063 queryset = Deployment.objects.select_related().all()
1064 serializer_class = DeploymentSerializer
1066 class DeploymentDetail(generics.RetrieveUpdateDestroyAPIView):
1067 queryset = Deployment.objects.select_related().all()
1068 serializer_class = DeploymentSerializer
1072 class ReservationList(generics.ListCreateAPIView):
1073 queryset = Reservation.objects.select_related().all()
1074 serializer_class = ReservationSerializer
1076 class ReservationDetail(generics.RetrieveUpdateDestroyAPIView):
1077 queryset = Reservation.objects.select_related().all()
1078 serializer_class = ReservationSerializer
1082 class SitePrivilegeList(generics.ListCreateAPIView):
1083 queryset = SitePrivilege.objects.select_related().all()
1084 serializer_class = SitePrivilegeSerializer
1086 class SitePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
1087 queryset = SitePrivilege.objects.select_related().all()
1088 serializer_class = SitePrivilegeSerializer
1092 class PlanetStackList(generics.ListCreateAPIView):
1093 queryset = PlanetStack.objects.select_related().all()
1094 serializer_class = PlanetStackSerializer
1096 class PlanetStackDetail(generics.RetrieveUpdateDestroyAPIView):
1097 queryset = PlanetStack.objects.select_related().all()
1098 serializer_class = PlanetStackSerializer
1102 class AccountList(generics.ListCreateAPIView):
1103 queryset = Account.objects.select_related().all()
1104 serializer_class = AccountSerializer
1106 class AccountDetail(generics.RetrieveUpdateDestroyAPIView):
1107 queryset = Account.objects.select_related().all()
1108 serializer_class = AccountSerializer
1112 class NetworkParameterTypeList(generics.ListCreateAPIView):
1113 queryset = NetworkParameterType.objects.select_related().all()
1114 serializer_class = NetworkParameterTypeSerializer
1116 class NetworkParameterTypeDetail(generics.RetrieveUpdateDestroyAPIView):
1117 queryset = NetworkParameterType.objects.select_related().all()
1118 serializer_class = NetworkParameterTypeSerializer
1122 class SiteDeploymentsList(generics.ListCreateAPIView):
1123 queryset = SiteDeployments.objects.select_related().all()
1124 serializer_class = SiteDeploymentsSerializer
1126 class SiteDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
1127 queryset = SiteDeployments.objects.select_related().all()
1128 serializer_class = SiteDeploymentsSerializer
1132 class DeploymentPrivilegeList(generics.ListCreateAPIView):
1133 queryset = DeploymentPrivilege.objects.select_related().all()
1134 serializer_class = DeploymentPrivilegeSerializer
1136 class DeploymentPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
1137 queryset = DeploymentPrivilege.objects.select_related().all()
1138 serializer_class = DeploymentPrivilegeSerializer
1142 class DeploymentRoleList(generics.ListCreateAPIView):
1143 queryset = DeploymentRole.objects.select_related().all()
1144 serializer_class = DeploymentRoleSerializer
1146 class DeploymentRoleDetail(generics.RetrieveUpdateDestroyAPIView):
1147 queryset = DeploymentRole.objects.select_related().all()
1148 serializer_class = DeploymentRoleSerializer
1152 class ProjectList(generics.ListCreateAPIView):
1153 queryset = Project.objects.select_related().all()
1154 serializer_class = ProjectSerializer
1156 class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
1157 queryset = Project.objects.select_related().all()
1158 serializer_class = ProjectSerializer
1162 class SliceTagList(generics.ListCreateAPIView):
1163 queryset = SliceTag.objects.select_related().all()
1164 serializer_class = SliceTagSerializer
1166 class SliceTagDetail(generics.RetrieveUpdateDestroyAPIView):
1167 queryset = SliceTag.objects.select_related().all()
1168 serializer_class = SliceTagSerializer
1172 class NetworkTemplateList(generics.ListCreateAPIView):
1173 queryset = NetworkTemplate.objects.select_related().all()
1174 serializer_class = NetworkTemplateSerializer
1176 class NetworkTemplateDetail(generics.RetrieveUpdateDestroyAPIView):
1177 queryset = NetworkTemplate.objects.select_related().all()
1178 serializer_class = NetworkTemplateSerializer
1182 class RouterList(generics.ListCreateAPIView):
1183 queryset = Router.objects.select_related().all()
1184 serializer_class = RouterSerializer
1186 class RouterDetail(generics.RetrieveUpdateDestroyAPIView):
1187 queryset = Router.objects.select_related().all()
1188 serializer_class = RouterSerializer
1192 class ServiceResourceList(generics.ListCreateAPIView):
1193 queryset = ServiceResource.objects.select_related().all()
1194 serializer_class = ServiceResourceSerializer
1196 class ServiceResourceDetail(generics.RetrieveUpdateDestroyAPIView):
1197 queryset = ServiceResource.objects.select_related().all()
1198 serializer_class = ServiceResourceSerializer