From: Sapan Bhatia Date: Wed, 29 Jan 2014 15:32:09 +0000 (-0500) Subject: Continuing bug fixes X-Git-Url: http://git.onelab.eu/?p=plstackapi.git;a=commitdiff_plain;h=refs%2Fheads%2Fapigen Continuing bug fixes --- diff --git a/planetstack/apigen/modelgen b/planetstack/apigen/modelgen index c36048e..ef2730b 100755 --- a/planetstack/apigen/modelgen +++ b/planetstack/apigen/modelgen @@ -74,21 +74,31 @@ class Generator(dict): def compute_links(self): for obj in self.values(): - #if (str(obj)=='siteprivilege'): + #if (str(obj)=='network'): # pdb.set_trace() fields = obj.model._meta.fields for f in fields: - if type(f)==ForeignKey and f.name in self.keys(): - refobj = self[f.name] - obj.refs.append(refobj) + if (f and f.rel): + to_name = str(f.rel.to) + else: + to_name = None + + if type(f)==ForeignKey and to_name and to_name in self.keys(): + refobj = self[f.to_name] + + if (str(obj)=='slice' and f.to_name=='networks'): + obj.refs.append(refobj) related_name = f.related_query_name() - if (related_name.lower()!=str(obj).lower()): + if (related_name!='+' and related_name.lower()!=str(obj).lower()): cobj = copy.deepcopy(obj) cobj.multi = True cobj.plural_name = related_name + #if (str(refobj)=='slice' and related_name=='networks'): + # pdb.set_trace() refobj.refs.append(cobj) else: obj.props.append(f.name) + m2m = obj.model._meta.many_to_many for f in m2m: try: @@ -96,6 +106,7 @@ class Generator(dict): except: related_model_name = f.m2m_db_table().rsplit('_',1)[-1] + related_name = f.related_query_name() if related_model_name in self.keys(): # pdb.set_trace() refobj = self[related_model_name] @@ -103,12 +114,19 @@ class Generator(dict): cobj.multi=True refobj.refs.append(cobj) - if (related_name.lower()!=str(obj).lower()): + if (related_name!='+' and related_name.lower()!=str(obj).lower()): cobj = copy.deepcopy(obj) cobj.multi = True cobj.plural_name = related_name + + #if (str(refobj)=='slice' and related_name=='networks'): + # pdb.set_trace() refobj.refs.append(cobj) + #if (related_name=='networks'): + #pdb.set_trace() + #print str(refobj) + diff --git a/planetstack/genapi.py b/planetstack/genapi.py deleted file mode 100644 index 91ed73a..0000000 --- a/planetstack/genapi.py +++ /dev/null @@ -1,1201 +0,0 @@ -from rest_framework.decorators import api_view -from rest_framework.response import Response -from rest_framework.reverse import reverse -from rest_framework import serializers -from rest_framework import generics -from core.models import * -from django.forms import widgets - -""" - Schema of the generator object: - all: Set of all Model objects - all_if(regex): Set of Model objects that match regex - - Model object: - plural: English plural of object name - camel: CamelCase version of object name - refs: list of references to other Model objects - props: list of properties minus refs - - TODO: Deal with subnets -""" - -# Based on api_root.py - -@api_view(['GET']) -def api_root(request, format=None): - return Response({ - 'serviceattributes': reverse('serviceattribute-list', request=request, format=format), - 'images': reverse('image-list', request=request, format=format), - 'networkparameters': reverse('networkparameter-list', request=request, format=format), - 'sites': reverse('site-list', request=request, format=format), - 'sliceroles': reverse('slicerole-list', request=request, format=format), - 'tags': reverse('tag-list', request=request, format=format), - 'invoices': reverse('invoice-list', request=request, format=format), - 'planetstackroles': reverse('planetstackrole-list', request=request, format=format), - 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format), - 'networkslivers': reverse('networksliver-list', request=request, format=format), - 'slices': reverse('slice-list', request=request, format=format), - 'networks': reverse('network-list', request=request, format=format), - 'services': reverse('service-list', request=request, format=format), - 'serviceclasses': reverse('serviceclass-list', request=request, format=format), - 'siteroles': reverse('siterole-list', request=request, format=format), - 'charges': reverse('charge-list', request=request, format=format), - 'roles': reverse('role-list', request=request, format=format), - 'usableobjects': reverse('usableobject-list', request=request, format=format), - 'slivers': reverse('sliver-list', request=request, format=format), - 'nodes': reverse('node-list', request=request, format=format), - 'reservedresources': reverse('reservedresource-list', request=request, format=format), - 'payments': reverse('payment-list', request=request, format=format), - 'networkslices': reverse('networkslice-list', request=request, format=format), - 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format), - 'users': reverse('user-list', request=request, format=format), - 'deployments': reverse('deployment-list', request=request, format=format), - 'reservations': reverse('reservation-list', request=request, format=format), - 'siteprivileges': reverse('siteprivilege-list', request=request, format=format), - 'planetstacks': reverse('planetstack-list', request=request, format=format), - 'accounts': reverse('account-list', request=request, format=format), - 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format), - 'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format), - 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format), - 'deploymentroles': reverse('deploymentrole-list', request=request, format=format), - 'projects': reverse('project-list', request=request, format=format), - 'slicetags': reverse('slicetag-list', request=request, format=format), - 'networktemplates': reverse('networktemplate-list', request=request, format=format), - 'routers': reverse('router-list', request=request, format=format), - 'serviceresources': reverse('serviceresource-list', request=request, format=format), - - }) - -# Based on serializers.py - - - -class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail') - - - class Meta: - model = ServiceAttribute - fields = ('id','created','updated','enacted','name','value','service',) - - -class ImageSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail') - - - class Meta: - model = Image - fields = ('id','created','updated','enacted','image_id','name','disk_format','container_format','slivers',) - - -class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = NetworkParameter - fields = ('id','created','updated','enacted','parameter','value','content_type','object_id',) - - -class SiteSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail') - - - - nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail') - - - - users = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='user-detail') - - - - site_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='siteprivilege-detail') - - - - accounts = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='account-detail') - - - class Meta: - model = Site - 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',) - - -class SliceRoleSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = SliceRole - fields = ('id','created','updated','enacted','role',) - - -class TagSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail') - - - - serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail') - - - - service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail') - - - - slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail') - - - - slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail') - - - - slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail') - - - - nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail') - - - - nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail') - - - class Meta: - model = Tag - fields = ('id','created','updated','enacted','name','value','content_type','object_id','sites','serviceattributes','service','slices','service','slivers','slivers','nodes','nodes',) - - -class InvoiceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail') - - - - charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail') - - - class Meta: - model = Invoice - fields = ('id','created','updated','enacted','date','account','charges',) - - -class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = PlanetStackRole - fields = ('id','created','updated','enacted','role',) - - -class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail') - - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - - role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail') - - - class Meta: - model = SlicePrivilege - fields = ('id','created','updated','enacted','user','slice','role',) - - -class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail') - - - - sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail') - - - class Meta: - model = NetworkSliver - fields = ('id','created','updated','enacted','ip','port_id','network','sliver',) - - -class SliceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slice_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliceprivilege-detail') - - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - - service = serializers.HyperlinkedRelatedField(read_only=True, view_name='service-detail') - - - - networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail') - - - - slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail') - - - - reservations = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='reservation-detail') - - - - slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slicetag-detail') - - - class Meta: - model = Slice - 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',) - - -class NetworkSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail') - - - - slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail') - - - - routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail') - - - - slicetags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail') - - - class Meta: - model = Network - fields = ('id','created','updated','enacted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','network_id','router_id','subnet_id','routers','slicetags','routers','slicetags',) - - -class ServiceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='serviceattribute-detail') - - - - tags = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='tag-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail') - - - class Meta: - model = Service - fields = ('id','created','updated','enacted','description','enabled','name','versionNumber','published','serviceattributes','tags','service',) - - -class ServiceClassSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = ServiceClass - fields = ('id','created','updated','enacted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',) - - -class SiteRoleSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = SiteRole - fields = ('id','created','updated','enacted','role',) - - -class ChargeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail') - - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - - invoice = serializers.HyperlinkedRelatedField(read_only=True, view_name='invoice-detail') - - - class Meta: - model = Charge - fields = ('id','created','updated','enacted','kind','state','date','object','amount','coreHours','account','slice','invoice',) - - -class RoleSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = Role - fields = ('id','created','updated','enacted','role_type','role','description','content_type',) - - -class UsableObjectSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = UsableObject - fields = ('id','created','updated','enacted','name',) - - -class SliverSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail') - - - - service = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='serviceclass-detail') - - - - image = serializers.HyperlinkedRelatedField(read_only=True, view_name='image-detail') - - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - - node = serializers.HyperlinkedRelatedField(read_only=True, view_name='node-detail') - - - - reservedResourrces = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='reservedresource-detail') - - - class Meta: - model = Sliver - fields = ('id','created','updated','enacted','instance_id','name','instance_name','ip','creator','deploymentNetwork','numberCores','networks','service','service','image','slice','node','reservedResourrces',) - - -class NodeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail') - - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - - deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail') - - - class Meta: - model = Node - fields = ('id','created','updated','enacted','name','slivers','site','deployment',) - - -class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - sliver = serializers.HyperlinkedRelatedField(read_only=True, view_name='sliver-detail') - - - class Meta: - model = ReservedResource - fields = ('id','created','updated','enacted','resource','quantity','reservationSet','sliver',) - - -class PaymentSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - account = serializers.HyperlinkedRelatedField(read_only=True, view_name='account-detail') - - - class Meta: - model = Payment - fields = ('id','created','updated','enacted','amount','date','account',) - - -class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - network = serializers.HyperlinkedRelatedField(read_only=True, view_name='network-detail') - - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - class Meta: - model = NetworkSlice - fields = ('id','created','updated','enacted','network','slice',) - - -class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail') - - - - planetstack = serializers.HyperlinkedRelatedField(read_only=True, view_name='planetstack-detail') - - - - role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail') - - - class Meta: - model = PlanetStackPrivilege - fields = ('id','created','updated','enacted','user','planetstack','role',) - - -class UserSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slice_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliceprivilege-detail') - - - - planetstack_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='planetstackprivilege-detail') - - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - - site_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='siteprivilege-detail') - - - - deployment_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deploymentprivilege-detail') - - - class Meta: - model = User - 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',) - - -class DeploymentSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail') - - - - serviceattributes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail') - - - - nodes = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='node-detail') - - - - deployment_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deploymentprivilege-detail') - - - class Meta: - model = Deployment - fields = ('id','created','updated','enacted','name','sites','serviceattributes','nodes','deployment_privileges',) - - -class ReservationSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - class Meta: - model = Reservation - fields = ('id','created','updated','enacted','startTime','duration','slice',) - - -class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail') - - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - - role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail') - - - class Meta: - model = SitePrivilege - fields = ('id','created','updated','enacted','user','site','role',) - - -class PlanetStackSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - planetstack_privileges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='planetstackprivilege-detail') - - - class Meta: - model = PlanetStack - fields = ('id','created','updated','enacted','description','planetstack_privileges',) - - -class AccountSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - invoices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='invoice-detail') - - - - charges = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='charge-detail') - - - - payments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='payment-detail') - - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - class Meta: - model = Account - fields = ('id','created','updated','enacted','invoices','charges','payments','site',) - - -class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = NetworkParameterType - fields = ('id','created','updated','enacted','name','description',) - - -class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - site = serializers.HyperlinkedRelatedField(read_only=True, view_name='site-detail') - - - - deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail') - - - class Meta: - model = SiteDeployments - fields = ('id','created','updated','enacted','site','deployment',) - - -class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - user = serializers.HyperlinkedRelatedField(read_only=True, view_name='user-detail') - - - - deployment = serializers.HyperlinkedRelatedField(read_only=True, view_name='deployment-detail') - - - - role = serializers.HyperlinkedRelatedField(read_only=True, view_name='role-detail') - - - class Meta: - model = DeploymentPrivilege - fields = ('id','created','updated','enacted','user','deployment','role',) - - -class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = DeploymentRole - fields = ('id','created','updated','enacted','role',) - - -class ProjectSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = Project - fields = ('id','created','updated','enacted','name',) - - -class SliceTagSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - - slice = serializers.HyperlinkedRelatedField(read_only=True, view_name='slice-detail') - - - class Meta: - model = SliceTag - fields = ('id','created','updated','enacted','name','value','slice',) - - -class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = NetworkTemplate - fields = ('id','created','updated','enacted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId',) - - -class RouterSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = Router - fields = ('id','created','updated','enacted','name','owner',) - - -class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer): - id = serializers.Field() - - class Meta: - model = ServiceResource - fields = ('id','created','updated','enacted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',) - - -serializerLookUp = { - - ServiceAttribute: ServiceAttributeSerializer, - - Image: ImageSerializer, - - NetworkParameter: NetworkParameterSerializer, - - Site: SiteSerializer, - - SliceRole: SliceRoleSerializer, - - Tag: TagSerializer, - - Invoice: InvoiceSerializer, - - PlanetStackRole: PlanetStackRoleSerializer, - - SlicePrivilege: SlicePrivilegeSerializer, - - NetworkSliver: NetworkSliverSerializer, - - Slice: SliceSerializer, - - Network: NetworkSerializer, - - Service: ServiceSerializer, - - ServiceClass: ServiceClassSerializer, - - SiteRole: SiteRoleSerializer, - - Charge: ChargeSerializer, - - Role: RoleSerializer, - - UsableObject: UsableObjectSerializer, - - Sliver: SliverSerializer, - - Node: NodeSerializer, - - ReservedResource: ReservedResourceSerializer, - - Payment: PaymentSerializer, - - NetworkSlice: NetworkSliceSerializer, - - PlanetStackPrivilege: PlanetStackPrivilegeSerializer, - - User: UserSerializer, - - Deployment: DeploymentSerializer, - - Reservation: ReservationSerializer, - - SitePrivilege: SitePrivilegeSerializer, - - PlanetStack: PlanetStackSerializer, - - Account: AccountSerializer, - - NetworkParameterType: NetworkParameterTypeSerializer, - - SiteDeployments: SiteDeploymentsSerializer, - - DeploymentPrivilege: DeploymentPrivilegeSerializer, - - DeploymentRole: DeploymentRoleSerializer, - - Project: ProjectSerializer, - - SliceTag: SliceTagSerializer, - - NetworkTemplate: NetworkTemplateSerializer, - - Router: RouterSerializer, - - ServiceResource: ServiceResourceSerializer, - - None: None, - } - -# Based on core/views/*.py - - -class ServiceAttributeList(generics.ListCreateAPIView): - queryset = ServiceAttribute.objects.select_related().all() - serializer_class = ServiceAttributeSerializer - -class ServiceAttributeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = ServiceAttribute.objects.select_related().all() - serializer_class = ServiceAttributeSerializer - - - -class ImageList(generics.ListCreateAPIView): - queryset = Image.objects.select_related().all() - serializer_class = ImageSerializer - -class ImageDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Image.objects.select_related().all() - serializer_class = ImageSerializer - - - -class NetworkParameterList(generics.ListCreateAPIView): - queryset = NetworkParameter.objects.select_related().all() - serializer_class = NetworkParameterSerializer - -class NetworkParameterDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = NetworkParameter.objects.select_related().all() - serializer_class = NetworkParameterSerializer - - - -class SiteList(generics.ListCreateAPIView): - queryset = Site.objects.select_related().all() - serializer_class = SiteSerializer - -class SiteDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Site.objects.select_related().all() - serializer_class = SiteSerializer - - - -class SliceRoleList(generics.ListCreateAPIView): - queryset = SliceRole.objects.select_related().all() - serializer_class = SliceRoleSerializer - -class SliceRoleDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SliceRole.objects.select_related().all() - serializer_class = SliceRoleSerializer - - - -class TagList(generics.ListCreateAPIView): - queryset = Tag.objects.select_related().all() - serializer_class = TagSerializer - -class TagDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Tag.objects.select_related().all() - serializer_class = TagSerializer - - - -class InvoiceList(generics.ListCreateAPIView): - queryset = Invoice.objects.select_related().all() - serializer_class = InvoiceSerializer - -class InvoiceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Invoice.objects.select_related().all() - serializer_class = InvoiceSerializer - - - -class PlanetStackRoleList(generics.ListCreateAPIView): - queryset = PlanetStackRole.objects.select_related().all() - serializer_class = PlanetStackRoleSerializer - -class PlanetStackRoleDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = PlanetStackRole.objects.select_related().all() - serializer_class = PlanetStackRoleSerializer - - - -class SlicePrivilegeList(generics.ListCreateAPIView): - queryset = SlicePrivilege.objects.select_related().all() - serializer_class = SlicePrivilegeSerializer - -class SlicePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SlicePrivilege.objects.select_related().all() - serializer_class = SlicePrivilegeSerializer - - - -class NetworkSliverList(generics.ListCreateAPIView): - queryset = NetworkSliver.objects.select_related().all() - serializer_class = NetworkSliverSerializer - -class NetworkSliverDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = NetworkSliver.objects.select_related().all() - serializer_class = NetworkSliverSerializer - - - -class SliceList(generics.ListCreateAPIView): - queryset = Slice.objects.select_related().all() - serializer_class = SliceSerializer - -class SliceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Slice.objects.select_related().all() - serializer_class = SliceSerializer - - - -class NetworkList(generics.ListCreateAPIView): - queryset = Network.objects.select_related().all() - serializer_class = NetworkSerializer - -class NetworkDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Network.objects.select_related().all() - serializer_class = NetworkSerializer - - - -class ServiceList(generics.ListCreateAPIView): - queryset = Service.objects.select_related().all() - serializer_class = ServiceSerializer - -class ServiceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Service.objects.select_related().all() - serializer_class = ServiceSerializer - - - -class ServiceClassList(generics.ListCreateAPIView): - queryset = ServiceClass.objects.select_related().all() - serializer_class = ServiceClassSerializer - -class ServiceClassDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = ServiceClass.objects.select_related().all() - serializer_class = ServiceClassSerializer - - - -class SiteRoleList(generics.ListCreateAPIView): - queryset = SiteRole.objects.select_related().all() - serializer_class = SiteRoleSerializer - -class SiteRoleDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SiteRole.objects.select_related().all() - serializer_class = SiteRoleSerializer - - - -class ChargeList(generics.ListCreateAPIView): - queryset = Charge.objects.select_related().all() - serializer_class = ChargeSerializer - -class ChargeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Charge.objects.select_related().all() - serializer_class = ChargeSerializer - - - -class RoleList(generics.ListCreateAPIView): - queryset = Role.objects.select_related().all() - serializer_class = RoleSerializer - -class RoleDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Role.objects.select_related().all() - serializer_class = RoleSerializer - - - -class UsableObjectList(generics.ListCreateAPIView): - queryset = UsableObject.objects.select_related().all() - serializer_class = UsableObjectSerializer - -class UsableObjectDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = UsableObject.objects.select_related().all() - serializer_class = UsableObjectSerializer - - - -class SliverList(generics.ListCreateAPIView): - queryset = Sliver.objects.select_related().all() - serializer_class = SliverSerializer - -class SliverDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Sliver.objects.select_related().all() - serializer_class = SliverSerializer - - - -class NodeList(generics.ListCreateAPIView): - queryset = Node.objects.select_related().all() - serializer_class = NodeSerializer - -class NodeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Node.objects.select_related().all() - serializer_class = NodeSerializer - - - -class ReservedResourceList(generics.ListCreateAPIView): - queryset = ReservedResource.objects.select_related().all() - serializer_class = ReservedResourceSerializer - -class ReservedResourceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = ReservedResource.objects.select_related().all() - serializer_class = ReservedResourceSerializer - - - -class PaymentList(generics.ListCreateAPIView): - queryset = Payment.objects.select_related().all() - serializer_class = PaymentSerializer - -class PaymentDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Payment.objects.select_related().all() - serializer_class = PaymentSerializer - - - -class NetworkSliceList(generics.ListCreateAPIView): - queryset = NetworkSlice.objects.select_related().all() - serializer_class = NetworkSliceSerializer - -class NetworkSliceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = NetworkSlice.objects.select_related().all() - serializer_class = NetworkSliceSerializer - - - -class PlanetStackPrivilegeList(generics.ListCreateAPIView): - queryset = PlanetStackPrivilege.objects.select_related().all() - serializer_class = PlanetStackPrivilegeSerializer - -class PlanetStackPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = PlanetStackPrivilege.objects.select_related().all() - serializer_class = PlanetStackPrivilegeSerializer - - - -class UserList(generics.ListCreateAPIView): - queryset = User.objects.select_related().all() - serializer_class = UserSerializer - -class UserDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = User.objects.select_related().all() - serializer_class = UserSerializer - - - -class DeploymentList(generics.ListCreateAPIView): - queryset = Deployment.objects.select_related().all() - serializer_class = DeploymentSerializer - -class DeploymentDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Deployment.objects.select_related().all() - serializer_class = DeploymentSerializer - - - -class ReservationList(generics.ListCreateAPIView): - queryset = Reservation.objects.select_related().all() - serializer_class = ReservationSerializer - -class ReservationDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Reservation.objects.select_related().all() - serializer_class = ReservationSerializer - - - -class SitePrivilegeList(generics.ListCreateAPIView): - queryset = SitePrivilege.objects.select_related().all() - serializer_class = SitePrivilegeSerializer - -class SitePrivilegeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SitePrivilege.objects.select_related().all() - serializer_class = SitePrivilegeSerializer - - - -class PlanetStackList(generics.ListCreateAPIView): - queryset = PlanetStack.objects.select_related().all() - serializer_class = PlanetStackSerializer - -class PlanetStackDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = PlanetStack.objects.select_related().all() - serializer_class = PlanetStackSerializer - - - -class AccountList(generics.ListCreateAPIView): - queryset = Account.objects.select_related().all() - serializer_class = AccountSerializer - -class AccountDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Account.objects.select_related().all() - serializer_class = AccountSerializer - - - -class NetworkParameterTypeList(generics.ListCreateAPIView): - queryset = NetworkParameterType.objects.select_related().all() - serializer_class = NetworkParameterTypeSerializer - -class NetworkParameterTypeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = NetworkParameterType.objects.select_related().all() - serializer_class = NetworkParameterTypeSerializer - - - -class SiteDeploymentsList(generics.ListCreateAPIView): - queryset = SiteDeployments.objects.select_related().all() - serializer_class = SiteDeploymentsSerializer - -class SiteDeploymentsDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SiteDeployments.objects.select_related().all() - serializer_class = SiteDeploymentsSerializer - - - -class DeploymentPrivilegeList(generics.ListCreateAPIView): - queryset = DeploymentPrivilege.objects.select_related().all() - serializer_class = DeploymentPrivilegeSerializer - -class DeploymentPrivilegeDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = DeploymentPrivilege.objects.select_related().all() - serializer_class = DeploymentPrivilegeSerializer - - - -class DeploymentRoleList(generics.ListCreateAPIView): - queryset = DeploymentRole.objects.select_related().all() - serializer_class = DeploymentRoleSerializer - -class DeploymentRoleDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = DeploymentRole.objects.select_related().all() - serializer_class = DeploymentRoleSerializer - - - -class ProjectList(generics.ListCreateAPIView): - queryset = Project.objects.select_related().all() - serializer_class = ProjectSerializer - -class ProjectDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Project.objects.select_related().all() - serializer_class = ProjectSerializer - - - -class SliceTagList(generics.ListCreateAPIView): - queryset = SliceTag.objects.select_related().all() - serializer_class = SliceTagSerializer - -class SliceTagDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = SliceTag.objects.select_related().all() - serializer_class = SliceTagSerializer - - - -class NetworkTemplateList(generics.ListCreateAPIView): - queryset = NetworkTemplate.objects.select_related().all() - serializer_class = NetworkTemplateSerializer - -class NetworkTemplateDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = NetworkTemplate.objects.select_related().all() - serializer_class = NetworkTemplateSerializer - - - -class RouterList(generics.ListCreateAPIView): - queryset = Router.objects.select_related().all() - serializer_class = RouterSerializer - -class RouterDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = Router.objects.select_related().all() - serializer_class = RouterSerializer - - - -class ServiceResourceList(generics.ListCreateAPIView): - queryset = ServiceResource.objects.select_related().all() - serializer_class = ServiceResourceSerializer - -class ServiceResourceDetail(generics.RetrieveUpdateDestroyAPIView): - queryset = ServiceResource.objects.select_related().all() - serializer_class = ServiceResourceSerializer - - -