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()
91 fields = ('id','created','updated','enacted','image_id','name','disk_format','container_format',)
94 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
95 id = serializers.Field()
98 model = NetworkParameter
99 fields = ('id','created','updated','enacted','parameter','value','content_type','object_id',)
102 class SiteSerializer(serializers.HyperlinkedModelSerializer):
103 id = serializers.Field()
107 fields = ('id','created','updated','enacted','tenant_id','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name',)
110 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
111 id = serializers.Field()
115 fields = ('id','created','updated','enacted','role',)
118 class TagSerializer(serializers.HyperlinkedModelSerializer):
119 id = serializers.Field()
122 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
126 service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail')
130 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
134 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
138 nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail')
143 fields = ('id','created','updated','enacted','name','value','content_type','object_id','site','service','slice','sliver','node',)
146 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
147 id = serializers.Field()
150 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
155 fields = ('id','created','updated','enacted','date','account',)
158 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
159 id = serializers.Field()
162 model = PlanetStackRole
163 fields = ('id','created','updated','enacted','role',)
166 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
167 id = serializers.Field()
170 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
174 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
178 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
182 model = SlicePrivilege
183 fields = ('id','created','updated','enacted','user','slice','role',)
186 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
187 id = serializers.Field()
190 network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail')
194 sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail')
198 model = NetworkSliver
199 fields = ('id','created','updated','enacted','ip','port_id','network','sliver',)
202 class SliceSerializer(serializers.HyperlinkedModelSerializer):
203 id = serializers.Field()
206 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
210 service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail')
214 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
218 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
223 fields = ('id','created','updated','enacted','tenant_id','name','enabled','omf_friendly','description','slice_url','network_id','router_id','subnet_id','serviceClass','creator','site','service','network','network',)
226 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
227 id = serializers.Field()
230 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
234 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
239 fields = ('id','created','updated','enacted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','router','router',)
242 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
243 id = serializers.Field()
247 fields = ('id','created','updated','enacted','description','enabled','name','versionNumber','published',)
250 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
251 id = serializers.Field()
255 fields = ('id','created','updated','enacted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
258 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
259 id = serializers.Field()
263 fields = ('id','created','updated','enacted','role',)
266 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
267 id = serializers.Field()
270 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
274 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
278 invoice = serializers.HyperlinkedRelatedField(read_only=True, view_name='invoice-detail')
283 fields = ('id','created','updated','enacted','kind','state','date','object','amount','coreHours','account','slice','invoice',)
286 class RoleSerializer(serializers.HyperlinkedModelSerializer):
287 id = serializers.Field()
291 fields = ('id','created','updated','enacted','role_type','role','description','content_type',)
294 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
295 id = serializers.Field()
299 fields = ('id','created','updated','enacted','name',)
302 class SliverSerializer(serializers.HyperlinkedModelSerializer):
303 id = serializers.Field()
306 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
310 image = serializers.HyperlinkedRelatedField(read_only=True, view_name='image-detail')
314 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
318 node = serializers.HyperlinkedRelatedField(read_only=True, view_name='node-detail')
323 fields = ('id','created','updated','enacted','instance_id','name','instance_name','ip','creator','deploymentNetwork','numberCores','network','image','slice','node',)
326 class NodeSerializer(serializers.HyperlinkedModelSerializer):
327 id = serializers.Field()
330 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
334 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
339 fields = ('id','created','updated','enacted','name','site','deployment',)
342 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
343 id = serializers.Field()
346 sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail')
350 model = ReservedResource
351 fields = ('id','created','updated','enacted','resource','quantity','reservationSet','sliver',)
354 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
355 id = serializers.Field()
358 account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail')
363 fields = ('id','created','updated','enacted','amount','date','account',)
366 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
367 id = serializers.Field()
370 network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail')
374 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
379 fields = ('id','created','updated','enacted','network','slice',)
382 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
383 id = serializers.Field()
386 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
390 planetstack = serializers.HyperlinkedRelatedField(read_only=True, view_name='planetstack-detail')
394 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
398 model = PlanetStackPrivilege
399 fields = ('id','created','updated','enacted','user','planetstack','role',)
402 class UserSerializer(serializers.HyperlinkedModelSerializer):
403 id = serializers.Field()
406 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
411 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','site',)
414 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
415 id = serializers.Field()
418 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
423 fields = ('id','created','updated','enacted','name','site',)
426 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
427 id = serializers.Field()
430 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
435 fields = ('id','created','updated','enacted','startTime','duration','slice',)
438 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
439 id = serializers.Field()
442 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
446 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
450 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
454 model = SitePrivilege
455 fields = ('id','created','updated','enacted','user','site','role',)
458 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
459 id = serializers.Field()
463 fields = ('id','created','updated','enacted','description',)
466 class AccountSerializer(serializers.HyperlinkedModelSerializer):
467 id = serializers.Field()
470 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
475 fields = ('id','created','updated','enacted','site',)
478 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
479 id = serializers.Field()
482 model = NetworkParameterType
483 fields = ('id','created','updated','enacted','name','description',)
486 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
487 id = serializers.Field()
490 site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail')
494 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
498 model = SiteDeployments
499 fields = ('id','created','updated','enacted','site','deployment',)
502 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
503 id = serializers.Field()
506 user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail')
510 deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail')
514 role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail')
518 model = DeploymentPrivilege
519 fields = ('id','created','updated','enacted','user','deployment','role',)
522 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
523 id = serializers.Field()
526 model = DeploymentRole
527 fields = ('id','created','updated','enacted','role',)
530 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
531 id = serializers.Field()
535 fields = ('id','created','updated','enacted','name',)
538 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
539 id = serializers.Field()
542 slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail')
547 fields = ('id','created','updated','enacted','name','value','slice',)
550 class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
551 id = serializers.Field()
554 model = NetworkTemplate
555 fields = ('id','created','updated','enacted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',)
558 class RouterSerializer(serializers.HyperlinkedModelSerializer):
559 id = serializers.Field()
563 fields = ('id','created','updated','enacted','name','owner',)
566 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
567 id = serializers.Field()
570 model = ServiceResource
571 fields = ('id','created','updated','enacted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
576 ServiceAttribute: ServiceAttributeSerializer,
578 Image: ImageSerializer,
580 NetworkParameter: NetworkParameterSerializer,
582 Site: SiteSerializer,
584 SliceRole: SliceRoleSerializer,
588 Invoice: InvoiceSerializer,
590 PlanetStackRole: PlanetStackRoleSerializer,
592 SlicePrivilege: SlicePrivilegeSerializer,
594 NetworkSliver: NetworkSliverSerializer,
596 Slice: SliceSerializer,
598 Network: NetworkSerializer,
600 Service: ServiceSerializer,
602 ServiceClass: ServiceClassSerializer,
604 SiteRole: SiteRoleSerializer,
606 Charge: ChargeSerializer,
608 Role: RoleSerializer,
610 UsableObject: UsableObjectSerializer,
612 Sliver: SliverSerializer,
614 Node: NodeSerializer,
616 ReservedResource: ReservedResourceSerializer,
618 Payment: PaymentSerializer,
620 NetworkSlice: NetworkSliceSerializer,
622 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
624 User: UserSerializer,
626 Deployment: DeploymentSerializer,
628 Reservation: ReservationSerializer,
630 SitePrivilege: SitePrivilegeSerializer,
632 PlanetStack: PlanetStackSerializer,
634 Account: AccountSerializer,
636 NetworkParameterType: NetworkParameterTypeSerializer,
638 SiteDeployments: SiteDeploymentsSerializer,
640 DeploymentPrivilege: DeploymentPrivilegeSerializer,
642 DeploymentRole: DeploymentRoleSerializer,
644 Project: ProjectSerializer,
646 SliceTag: SliceTagSerializer,
648 NetworkTemplate: NetworkTemplateSerializer,
650 Router: RouterSerializer,
652 ServiceResource: ServiceResourceSerializer,
657 # Based on core/views/*.py
660 class ServiceAttributeList(generics.ListCreateAPIView):
661 queryset = ServiceAttribute.objects.select_related().all()
662 serializer_class = ServiceAttributeSerializer
664 class ServiceAttributeDetail(generics.RetrieveUpdateDestroyAPIView):
665 queryset = ServiceAttribute.objects.select_related().all()
666 serializer_class = ServiceAttributeSerializer
670 class ImageList(generics.ListCreateAPIView):
671 queryset = Image.objects.select_related().all()
672 serializer_class = ImageSerializer
674 class ImageDetail(generics.RetrieveUpdateDestroyAPIView):
675 queryset = Image.objects.select_related().all()
676 serializer_class = ImageSerializer
680 class NetworkParameterList(generics.ListCreateAPIView):
681 queryset = NetworkParameter.objects.select_related().all()
682 serializer_class = NetworkParameterSerializer
684 class NetworkParameterDetail(generics.RetrieveUpdateDestroyAPIView):
685 queryset = NetworkParameter.objects.select_related().all()
686 serializer_class = NetworkParameterSerializer
690 class SiteList(generics.ListCreateAPIView):
691 queryset = Site.objects.select_related().all()
692 serializer_class = SiteSerializer
694 class SiteDetail(generics.RetrieveUpdateDestroyAPIView):
695 queryset = Site.objects.select_related().all()
696 serializer_class = SiteSerializer
700 class SliceRoleList(generics.ListCreateAPIView):
701 queryset = SliceRole.objects.select_related().all()
702 serializer_class = SliceRoleSerializer
704 class SliceRoleDetail(generics.RetrieveUpdateDestroyAPIView):
705 queryset = SliceRole.objects.select_related().all()
706 serializer_class = SliceRoleSerializer
710 class TagList(generics.ListCreateAPIView):
711 queryset = Tag.objects.select_related().all()
712 serializer_class = TagSerializer
714 class TagDetail(generics.RetrieveUpdateDestroyAPIView):
715 queryset = Tag.objects.select_related().all()
716 serializer_class = TagSerializer
720 class InvoiceList(generics.ListCreateAPIView):
721 queryset = Invoice.objects.select_related().all()
722 serializer_class = InvoiceSerializer
724 class InvoiceDetail(generics.RetrieveUpdateDestroyAPIView):
725 queryset = Invoice.objects.select_related().all()
726 serializer_class = InvoiceSerializer
730 class PlanetStackRoleList(generics.ListCreateAPIView):
731 queryset = PlanetStackRole.objects.select_related().all()
732 serializer_class = PlanetStackRoleSerializer
734 class PlanetStackRoleDetail(generics.RetrieveUpdateDestroyAPIView):
735 queryset = PlanetStackRole.objects.select_related().all()
736 serializer_class = PlanetStackRoleSerializer
740 class SlicePrivilegeList(generics.ListCreateAPIView):
741 queryset = SlicePrivilege.objects.select_related().all()
742 serializer_class = SlicePrivilegeSerializer
744 class SlicePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
745 queryset = SlicePrivilege.objects.select_related().all()
746 serializer_class = SlicePrivilegeSerializer
750 class NetworkSliverList(generics.ListCreateAPIView):
751 queryset = NetworkSliver.objects.select_related().all()
752 serializer_class = NetworkSliverSerializer
754 class NetworkSliverDetail(generics.RetrieveUpdateDestroyAPIView):
755 queryset = NetworkSliver.objects.select_related().all()
756 serializer_class = NetworkSliverSerializer
760 class SliceList(generics.ListCreateAPIView):
761 queryset = Slice.objects.select_related().all()
762 serializer_class = SliceSerializer
764 class SliceDetail(generics.RetrieveUpdateDestroyAPIView):
765 queryset = Slice.objects.select_related().all()
766 serializer_class = SliceSerializer
770 class NetworkList(generics.ListCreateAPIView):
771 queryset = Network.objects.select_related().all()
772 serializer_class = NetworkSerializer
774 class NetworkDetail(generics.RetrieveUpdateDestroyAPIView):
775 queryset = Network.objects.select_related().all()
776 serializer_class = NetworkSerializer
780 class ServiceList(generics.ListCreateAPIView):
781 queryset = Service.objects.select_related().all()
782 serializer_class = ServiceSerializer
784 class ServiceDetail(generics.RetrieveUpdateDestroyAPIView):
785 queryset = Service.objects.select_related().all()
786 serializer_class = ServiceSerializer
790 class ServiceClassList(generics.ListCreateAPIView):
791 queryset = ServiceClass.objects.select_related().all()
792 serializer_class = ServiceClassSerializer
794 class ServiceClassDetail(generics.RetrieveUpdateDestroyAPIView):
795 queryset = ServiceClass.objects.select_related().all()
796 serializer_class = ServiceClassSerializer
800 class SiteRoleList(generics.ListCreateAPIView):
801 queryset = SiteRole.objects.select_related().all()
802 serializer_class = SiteRoleSerializer
804 class SiteRoleDetail(generics.RetrieveUpdateDestroyAPIView):
805 queryset = SiteRole.objects.select_related().all()
806 serializer_class = SiteRoleSerializer
810 class ChargeList(generics.ListCreateAPIView):
811 queryset = Charge.objects.select_related().all()
812 serializer_class = ChargeSerializer
814 class ChargeDetail(generics.RetrieveUpdateDestroyAPIView):
815 queryset = Charge.objects.select_related().all()
816 serializer_class = ChargeSerializer
820 class RoleList(generics.ListCreateAPIView):
821 queryset = Role.objects.select_related().all()
822 serializer_class = RoleSerializer
824 class RoleDetail(generics.RetrieveUpdateDestroyAPIView):
825 queryset = Role.objects.select_related().all()
826 serializer_class = RoleSerializer
830 class UsableObjectList(generics.ListCreateAPIView):
831 queryset = UsableObject.objects.select_related().all()
832 serializer_class = UsableObjectSerializer
834 class UsableObjectDetail(generics.RetrieveUpdateDestroyAPIView):
835 queryset = UsableObject.objects.select_related().all()
836 serializer_class = UsableObjectSerializer
840 class SliverList(generics.ListCreateAPIView):
841 queryset = Sliver.objects.select_related().all()
842 serializer_class = SliverSerializer
844 class SliverDetail(generics.RetrieveUpdateDestroyAPIView):
845 queryset = Sliver.objects.select_related().all()
846 serializer_class = SliverSerializer
850 class NodeList(generics.ListCreateAPIView):
851 queryset = Node.objects.select_related().all()
852 serializer_class = NodeSerializer
854 class NodeDetail(generics.RetrieveUpdateDestroyAPIView):
855 queryset = Node.objects.select_related().all()
856 serializer_class = NodeSerializer
860 class ReservedResourceList(generics.ListCreateAPIView):
861 queryset = ReservedResource.objects.select_related().all()
862 serializer_class = ReservedResourceSerializer
864 class ReservedResourceDetail(generics.RetrieveUpdateDestroyAPIView):
865 queryset = ReservedResource.objects.select_related().all()
866 serializer_class = ReservedResourceSerializer
870 class PaymentList(generics.ListCreateAPIView):
871 queryset = Payment.objects.select_related().all()
872 serializer_class = PaymentSerializer
874 class PaymentDetail(generics.RetrieveUpdateDestroyAPIView):
875 queryset = Payment.objects.select_related().all()
876 serializer_class = PaymentSerializer
880 class NetworkSliceList(generics.ListCreateAPIView):
881 queryset = NetworkSlice.objects.select_related().all()
882 serializer_class = NetworkSliceSerializer
884 class NetworkSliceDetail(generics.RetrieveUpdateDestroyAPIView):
885 queryset = NetworkSlice.objects.select_related().all()
886 serializer_class = NetworkSliceSerializer
890 class PlanetStackPrivilegeList(generics.ListCreateAPIView):
891 queryset = PlanetStackPrivilege.objects.select_related().all()
892 serializer_class = PlanetStackPrivilegeSerializer
894 class PlanetStackPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
895 queryset = PlanetStackPrivilege.objects.select_related().all()
896 serializer_class = PlanetStackPrivilegeSerializer
900 class UserList(generics.ListCreateAPIView):
901 queryset = User.objects.select_related().all()
902 serializer_class = UserSerializer
904 class UserDetail(generics.RetrieveUpdateDestroyAPIView):
905 queryset = User.objects.select_related().all()
906 serializer_class = UserSerializer
910 class DeploymentList(generics.ListCreateAPIView):
911 queryset = Deployment.objects.select_related().all()
912 serializer_class = DeploymentSerializer
914 class DeploymentDetail(generics.RetrieveUpdateDestroyAPIView):
915 queryset = Deployment.objects.select_related().all()
916 serializer_class = DeploymentSerializer
920 class ReservationList(generics.ListCreateAPIView):
921 queryset = Reservation.objects.select_related().all()
922 serializer_class = ReservationSerializer
924 class ReservationDetail(generics.RetrieveUpdateDestroyAPIView):
925 queryset = Reservation.objects.select_related().all()
926 serializer_class = ReservationSerializer
930 class SitePrivilegeList(generics.ListCreateAPIView):
931 queryset = SitePrivilege.objects.select_related().all()
932 serializer_class = SitePrivilegeSerializer
934 class SitePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
935 queryset = SitePrivilege.objects.select_related().all()
936 serializer_class = SitePrivilegeSerializer
940 class PlanetStackList(generics.ListCreateAPIView):
941 queryset = PlanetStack.objects.select_related().all()
942 serializer_class = PlanetStackSerializer
944 class PlanetStackDetail(generics.RetrieveUpdateDestroyAPIView):
945 queryset = PlanetStack.objects.select_related().all()
946 serializer_class = PlanetStackSerializer
950 class AccountList(generics.ListCreateAPIView):
951 queryset = Account.objects.select_related().all()
952 serializer_class = AccountSerializer
954 class AccountDetail(generics.RetrieveUpdateDestroyAPIView):
955 queryset = Account.objects.select_related().all()
956 serializer_class = AccountSerializer
960 class NetworkParameterTypeList(generics.ListCreateAPIView):
961 queryset = NetworkParameterType.objects.select_related().all()
962 serializer_class = NetworkParameterTypeSerializer
964 class NetworkParameterTypeDetail(generics.RetrieveUpdateDestroyAPIView):
965 queryset = NetworkParameterType.objects.select_related().all()
966 serializer_class = NetworkParameterTypeSerializer
970 class SiteDeploymentsList(generics.ListCreateAPIView):
971 queryset = SiteDeployments.objects.select_related().all()
972 serializer_class = SiteDeploymentsSerializer
974 class SiteDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView):
975 queryset = SiteDeployments.objects.select_related().all()
976 serializer_class = SiteDeploymentsSerializer
980 class DeploymentPrivilegeList(generics.ListCreateAPIView):
981 queryset = DeploymentPrivilege.objects.select_related().all()
982 serializer_class = DeploymentPrivilegeSerializer
984 class DeploymentPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView):
985 queryset = DeploymentPrivilege.objects.select_related().all()
986 serializer_class = DeploymentPrivilegeSerializer
990 class DeploymentRoleList(generics.ListCreateAPIView):
991 queryset = DeploymentRole.objects.select_related().all()
992 serializer_class = DeploymentRoleSerializer
994 class DeploymentRoleDetail(generics.RetrieveUpdateDestroyAPIView):
995 queryset = DeploymentRole.objects.select_related().all()
996 serializer_class = DeploymentRoleSerializer
1000 class ProjectList(generics.ListCreateAPIView):
1001 queryset = Project.objects.select_related().all()
1002 serializer_class = ProjectSerializer
1004 class ProjectDetail(generics.RetrieveUpdateDestroyAPIView):
1005 queryset = Project.objects.select_related().all()
1006 serializer_class = ProjectSerializer
1010 class SliceTagList(generics.ListCreateAPIView):
1011 queryset = SliceTag.objects.select_related().all()
1012 serializer_class = SliceTagSerializer
1014 class SliceTagDetail(generics.RetrieveUpdateDestroyAPIView):
1015 queryset = SliceTag.objects.select_related().all()
1016 serializer_class = SliceTagSerializer
1020 class NetworkTemplateList(generics.ListCreateAPIView):
1021 queryset = NetworkTemplate.objects.select_related().all()
1022 serializer_class = NetworkTemplateSerializer
1024 class NetworkTemplateDetail(generics.RetrieveUpdateDestroyAPIView):
1025 queryset = NetworkTemplate.objects.select_related().all()
1026 serializer_class = NetworkTemplateSerializer
1030 class RouterList(generics.ListCreateAPIView):
1031 queryset = Router.objects.select_related().all()
1032 serializer_class = RouterSerializer
1034 class RouterDetail(generics.RetrieveUpdateDestroyAPIView):
1035 queryset = Router.objects.select_related().all()
1036 serializer_class = RouterSerializer
1040 class ServiceResourceList(generics.ListCreateAPIView):
1041 queryset = ServiceResource.objects.select_related().all()
1042 serializer_class = ServiceResourceSerializer
1044 class ServiceResourceDetail(generics.RetrieveUpdateDestroyAPIView):
1045 queryset = ServiceResource.objects.select_related().all()
1046 serializer_class = ServiceResourceSerializer