+ id_serializer_class = InvoiceIdSerializer
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return Invoice.select_by_user(self.request.user)
+
+ # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+
+
+class SlicePrivilegeList(generics.ListCreateAPIView):
+ queryset = SlicePrivilege.objects.select_related().all()
+ serializer_class = SlicePrivilegeSerializer
+ id_serializer_class = SlicePrivilegeIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','backend_status','deleted','user','slice','role',)
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return SlicePrivilege.select_by_user(self.request.user)
+
+ def create(self, request, *args, **kwargs):
+ obj = SlicePrivilege(**request.DATA)
+ obj.caller = request.user
+ if obj.can_update(request.user):
+ return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
+ else:
+ raise Exception("failed obj.can_update")
+
+ ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
+ if (ret.status_code%100 != 200):
+ raise Exception(ret.data)
+
+ return ret
+
+
+class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
+ queryset = SlicePrivilege.objects.select_related().all()
+ serializer_class = SlicePrivilegeSerializer
+ id_serializer_class = SlicePrivilegeIdSerializer
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return SlicePrivilege.select_by_user(self.request.user)
+
+ # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+
+
+class PlanetStackRoleList(generics.ListCreateAPIView):
+ queryset = PlanetStackRole.objects.select_related().all()
+ serializer_class = PlanetStackRoleSerializer
+ id_serializer_class = PlanetStackRoleIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','backend_status','deleted','role',)
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return PlanetStackRole.select_by_user(self.request.user)
+
+ def create(self, request, *args, **kwargs):
+ obj = PlanetStackRole(**request.DATA)
+ obj.caller = request.user
+ if obj.can_update(request.user):
+ return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
+ else:
+ raise Exception("failed obj.can_update")
+
+ ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
+ if (ret.status_code%100 != 200):
+ raise Exception(ret.data)
+
+ return ret
+
+
+class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
+ queryset = PlanetStackRole.objects.select_related().all()
+ serializer_class = PlanetStackRoleSerializer
+ id_serializer_class = PlanetStackRoleIdSerializer
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return PlanetStackRole.select_by_user(self.request.user)
+
+ # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+
+
+class NetworkSliverList(generics.ListCreateAPIView):
+ queryset = NetworkSliver.objects.select_related().all()
+ serializer_class = NetworkSliverSerializer
+ id_serializer_class = NetworkSliverIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return NetworkSliver.select_by_user(self.request.user)
+
+ def create(self, request, *args, **kwargs):
+ obj = NetworkSliver(**request.DATA)
+ obj.caller = request.user
+ if obj.can_update(request.user):
+ return super(NetworkSliverList, self).create(request, *args, **kwargs)
+ else:
+ raise Exception("failed obj.can_update")
+
+ ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
+ if (ret.status_code%100 != 200):
+ raise Exception(ret.data)
+
+ return ret
+
+
+class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
+ queryset = NetworkSliver.objects.select_related().all()
+ serializer_class = NetworkSliverSerializer
+ id_serializer_class = NetworkSliverIdSerializer
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return NetworkSliver.select_by_user(self.request.user)
+
+ # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+
+
+class NetworkDeploymentsList(generics.ListCreateAPIView):
+ queryset = NetworkDeployments.objects.select_related().all()
+ serializer_class = NetworkDeploymentsSerializer
+ id_serializer_class = NetworkDeploymentsIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','backend_status','deleted','network','deployment','net_id','router_id','subnet_id','subnet',)
+
+ def get_serializer_class(self):
+ no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
+ if (no_hyperlinks):
+ return self.id_serializer_class
+ else:
+ return self.serializer_class
+
+ def get_queryset(self):
+ return NetworkDeployments.select_by_user(self.request.user)
+
+ def create(self, request, *args, **kwargs):
+ obj = NetworkDeployments(**request.DATA)
+ obj.caller = request.user
+ if obj.can_update(request.user):
+ return super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
+ else:
+ raise Exception("failed obj.can_update")
+
+ ret = super(NetworkDeploymentsList, self).create(request, *args, **kwargs)
+ if (ret.status_code%100 != 200):
+ raise Exception(ret.data)