refactor
[plstackapi.git] / planetstack / genapi.py
index 3e6f7b0..3344823 100644 (file)
@@ -10,6 +10,13 @@ from django.forms import widgets
 from rest_framework import filters
 from django.conf.urls import patterns, url
 
+if hasattr(serializers, "ReadOnlyField"):
+    # rest_framework 3.x
+    IdField = serializers.ReadOnlyField
+else:
+    # rest_framework 2.x
+    IdField = serializers.Field
+
 """
     Schema of the generator object:
         all: Set of all Model objects
@@ -121,9 +128,6 @@ def get_REST_patterns():
         url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
         url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
     
-        url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
-        url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
-    
         url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
         url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
     
@@ -151,6 +155,9 @@ def get_REST_patterns():
         url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
         url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
     
+        url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
+        url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
+    
         url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
         url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
     
@@ -181,8 +188,8 @@ def get_REST_patterns():
         url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
         url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
     
-        url(r'plstackapi/controllerdashboards/$', ControllerDashboardList.as_view(), name='controllerdashboard-list'),
-        url(r'plstackapi/controllerdashboards/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardDetail.as_view(), name ='controllerdashboard-detail'),
+        url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
+        url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
     
         url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
         url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
@@ -229,7 +236,6 @@ def api_root(request, format=None):
         'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
         'reservedresources': reverse('reservedresource-list', request=request, format=format),
         'payments': reverse('payment-list', request=request, format=format),
-        'networktemplates': reverse('networktemplate-list', request=request, format=format),
         'networkslices': reverse('networkslice-list', request=request, format=format),
         'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
         'controllers': reverse('controller-list', request=request, format=format),
@@ -239,6 +245,7 @@ def api_root(request, format=None):
         'reservations': reverse('reservation-list', request=request, format=format),
         'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
         'planetstacks': reverse('planetstack-list', request=request, format=format),
+        'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
         'accounts': reverse('account-list', request=request, format=format),
         'controllerroles': reverse('controllerrole-list', request=request, format=format),
         'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
@@ -249,7 +256,7 @@ def api_root(request, format=None):
         'usercredentials': reverse('usercredential-list', request=request, format=format),
         'sitedeploymentses': reverse('sitedeployments-list', request=request, format=format),
         'slicetags': reverse('slicetag-list', request=request, format=format),
-        'controllerdashboards': reverse('controllerdashboard-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),
         'controllersliceses': reverse('controllerslices-list', request=request, format=format),
@@ -313,7 +320,7 @@ class XOSModelSerializer(serializers.ModelSerializer):
 
 
 class FlavorSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
@@ -333,10 +340,10 @@ class FlavorSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','flavor','order','default','deployments',)
 
 class FlavorIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
+    deployments = serializers.PrimaryKeyRelatedField(many=True,  queryset = Deployment.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -356,7 +363,7 @@ class FlavorIdSerializer(XOSModelSerializer):
 
 
 class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -372,7 +379,7 @@ class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','value','service',)
 
 class ServiceAttributeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -391,7 +398,7 @@ class ServiceAttributeIdSerializer(XOSModelSerializer):
 
 
 class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -407,7 +414,7 @@ class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','controller','glance_image_id',)
 
 class ControllerImagesIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -426,7 +433,11 @@ class ControllerImagesIdSerializer(XOSModelSerializer):
 
 
 class ImageSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
+    
+    
+    deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
+    
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -439,10 +450,14 @@ class ImageSerializer(serializers.HyperlinkedModelSerializer):
             return None
     class Meta:
         model = Image
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
 
 class ImageIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
+    
+    
+    deployments = serializers.PrimaryKeyRelatedField(many=True,  queryset = Deployment.objects.all())
+    
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -455,13 +470,13 @@ class ImageIdSerializer(XOSModelSerializer):
             return None\r
     class Meta:\r
         model = Image
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
 
 
 
 
 class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -477,7 +492,7 @@ class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','parameter','value','content_type','object_id',)
 
 class NetworkParameterIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -496,7 +511,7 @@ class NetworkParameterIdSerializer(XOSModelSerializer):
 
 
 class SiteSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
@@ -516,10 +531,10 @@ class SiteSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
 
 class SiteIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    deployments = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='deployment-detail')
+    deployments = serializers.PrimaryKeyRelatedField(many=True,  queryset = Deployment.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -539,7 +554,7 @@ class SiteIdSerializer(XOSModelSerializer):
 
 
 class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -555,7 +570,7 @@ class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
 
 class SliceRoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -574,7 +589,7 @@ class SliceRoleIdSerializer(XOSModelSerializer):
 
 
 class TagSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -590,7 +605,7 @@ class TagSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','service','name','value','content_type','object_id',)
 
 class TagIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -609,7 +624,7 @@ class TagIdSerializer(XOSModelSerializer):
 
 
 class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -625,7 +640,7 @@ class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','date','account',)
 
 class InvoiceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -644,7 +659,7 @@ class InvoiceIdSerializer(XOSModelSerializer):
 
 
 class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -660,7 +675,7 @@ class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','slice','role',)
 
 class SlicePrivilegeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -679,7 +694,7 @@ class SlicePrivilegeIdSerializer(XOSModelSerializer):
 
 
 class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -695,7 +710,7 @@ class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
 
 class PlanetStackRoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -714,7 +729,7 @@ class PlanetStackRoleIdSerializer(XOSModelSerializer):
 
 
 class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -730,7 +745,7 @@ class ControllerPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','role',)
 
 class ControllerPrivilegeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -749,7 +764,7 @@ class ControllerPrivilegeIdSerializer(XOSModelSerializer):
 
 
 class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -765,7 +780,7 @@ class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','sliver','ip','port_id',)
 
 class NetworkSliverIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -784,7 +799,7 @@ class NetworkSliverIdSerializer(XOSModelSerializer):
 
 
 class ProjectSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -800,7 +815,7 @@ class ProjectSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
 
 class ProjectIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -819,7 +834,7 @@ class ProjectIdSerializer(XOSModelSerializer):
 
 
 class SliceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
@@ -843,14 +858,14 @@ class SliceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','imagePreference','service','network','mountDataSets','serviceClass','creator','networks','networks',)
 
 class SliceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
+    networks = serializers.PrimaryKeyRelatedField(many=True,  queryset = Network.objects.all())
     
     
     
-    networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
+    networks = serializers.PrimaryKeyRelatedField(many=True,  queryset = Network.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -870,7 +885,7 @@ class SliceIdSerializer(XOSModelSerializer):
 
 
 class NetworkSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
@@ -906,26 +921,26 @@ class NetworkSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteedBandwidth','permitAllSlices','topologyParameters','controllerUrl','controllerParameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
 
 class NetworkIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
+    slices = serializers.PrimaryKeyRelatedField(many=True,  queryset = Slice.objects.all())
     
     
     
-    slices = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='slice-detail')
+    slices = serializers.PrimaryKeyRelatedField(many=True,  queryset = Slice.objects.all())
     
     
     
-    slivers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='sliver-detail')
+    slivers = serializers.PrimaryKeyRelatedField(many=True,  queryset = Sliver.objects.all())
     
     
     
-    routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
+    routers = serializers.PrimaryKeyRelatedField(many=True,  queryset = Router.objects.all())
     
     
     
-    routers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='router-detail')
+    routers = serializers.PrimaryKeyRelatedField(many=True,  queryset = Router.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -945,7 +960,7 @@ class NetworkIdSerializer(XOSModelSerializer):
 
 
 class ServiceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -961,7 +976,7 @@ class ServiceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description','enabled','name','versionNumber','published',)
 
 class ServiceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -980,7 +995,7 @@ class ServiceIdSerializer(XOSModelSerializer):
 
 
 class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -996,7 +1011,7 @@ class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
 
 class ServiceClassIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1015,7 +1030,7 @@ class ServiceClassIdSerializer(XOSModelSerializer):
 
 
 class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1031,7 +1046,7 @@ class ControllerNetworksSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
 
 class ControllerNetworksIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1050,7 +1065,7 @@ class ControllerNetworksIdSerializer(XOSModelSerializer):
 
 
 class ChargeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1066,7 +1081,7 @@ class ChargeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
 
 class ChargeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1085,7 +1100,7 @@ class ChargeIdSerializer(XOSModelSerializer):
 
 
 class RoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1101,7 +1116,7 @@ class RoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role_type','role','description','content_type',)
 
 class RoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1120,7 +1135,7 @@ class RoleIdSerializer(XOSModelSerializer):
 
 
 class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1136,7 +1151,7 @@ class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name',)
 
 class UsableObjectIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1155,7 +1170,7 @@ class UsableObjectIdSerializer(XOSModelSerializer):
 
 
 class ControllerSiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1171,7 +1186,7 @@ class ControllerSiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','site_deployment','tenant_id',)
 
 class ControllerSiteDeploymentsIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1190,7 +1205,7 @@ class ControllerSiteDeploymentsIdSerializer(XOSModelSerializer):
 
 
 class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1206,7 +1221,7 @@ class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
 
 class SiteRoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1225,7 +1240,7 @@ class SiteRoleIdSerializer(XOSModelSerializer):
 
 
 class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1241,7 +1256,7 @@ class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','key_id','enc_value',)
 
 class SliceCredentialIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1260,7 +1275,7 @@ class SliceCredentialIdSerializer(XOSModelSerializer):
 
 
 class SliverSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
@@ -1277,13 +1292,13 @@ class SliverSerializer(serializers.HyperlinkedModelSerializer):
             return None
     class Meta:
         model = Sliver
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
 
 class SliverIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
+    networks = serializers.PrimaryKeyRelatedField(many=True,  queryset = Network.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1297,13 +1312,13 @@ class SliverIdSerializer(XOSModelSerializer):
             return None\r
     class Meta:\r
         model = Sliver
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
 
 
 
 
 class NodeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1319,7 +1334,7 @@ class NodeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','site_deployment',)
 
 class NodeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1338,7 +1353,7 @@ class NodeIdSerializer(XOSModelSerializer):
 
 
 class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
@@ -1358,10 +1373,10 @@ class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','url','controllers',)
 
 class DashboardViewIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    controllers = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='controller-detail')
+    controllers = serializers.PrimaryKeyRelatedField(many=True,  queryset = Controller.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1381,7 +1396,7 @@ class DashboardViewIdSerializer(XOSModelSerializer):
 
 
 class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1397,7 +1412,7 @@ class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','image','deployment',)
 
 class ImageDeploymentsIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1416,7 +1431,7 @@ class ImageDeploymentsIdSerializer(XOSModelSerializer):
 
 
 class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1432,7 +1447,7 @@ class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','sliver','resource','quantity','reservationSet',)
 
 class ReservedResourceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1451,7 +1466,7 @@ class ReservedResourceIdSerializer(XOSModelSerializer):
 
 
 class PaymentSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1467,7 +1482,7 @@ class PaymentSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','account','amount','date',)
 
 class PaymentIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1485,43 +1500,8 @@ class PaymentIdSerializer(XOSModelSerializer):
 
 
 
-class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):\r
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = NetworkTemplate
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
-
-class NetworkTemplateIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):\r
-        return str(obj)\r
-    def getValidators(self, obj):\r
-        try:
-            return obj.getValidators()
-        except:
-            return None\r
-    class Meta:\r
-        model = NetworkTemplate
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
-
-
-
-
 class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1537,7 +1517,7 @@ class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','network','slice',)
 
 class NetworkSliceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1556,7 +1536,7 @@ class NetworkSliceIdSerializer(XOSModelSerializer):
 
 
 class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1572,7 +1552,7 @@ class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','dashboardView','order',)
 
 class UserDashboardViewIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1591,7 +1571,7 @@ class UserDashboardViewIdSerializer(XOSModelSerializer):
 
 
 class ControllerSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
@@ -1611,10 +1591,10 @@ class ControllerSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','version','backend_type','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
 
 class ControllerIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    dashboardviews = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='dashboardview-detail')
+    dashboardviews = serializers.PrimaryKeyRelatedField(many=True,  queryset = DashboardView.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1634,7 +1614,7 @@ class ControllerIdSerializer(XOSModelSerializer):
 
 
 class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1650,7 +1630,7 @@ class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','planetstack','role',)
 
 class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1669,7 +1649,7 @@ class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
 
 
 class UserSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1685,7 +1665,7 @@ class UserSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','created','updated','enacted','backend_status','deleted','timezone',)
 
 class UserIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1704,13 +1684,17 @@ class UserIdSerializer(XOSModelSerializer):
 
 
 class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
     
     
     
+    images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
+    
+    
+    
     sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
     
     
@@ -1725,17 +1709,21 @@ class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
             return None
     class Meta:
         model = Deployment
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
 
 class DeploymentIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
+    
+    
+    flavors = serializers.PrimaryKeyRelatedField(many=True,  queryset = Flavor.objects.all())
+    
     
     
-    flavors = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='flavor-detail')
+    images = serializers.PrimaryKeyRelatedField(many=True,  queryset = Image.objects.all())
     
     
     
-    sites = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='site-detail')
+    sites = serializers.PrimaryKeyRelatedField(many=True,  queryset = Site.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1749,13 +1737,13 @@ class DeploymentIdSerializer(XOSModelSerializer):
             return None\r
     class Meta:\r
         model = Deployment
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
 
 
 
 
 class ReservationSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1771,7 +1759,7 @@ class ReservationSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','startTime','slice','duration',)
 
 class ReservationIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1790,7 +1778,7 @@ class ReservationIdSerializer(XOSModelSerializer):
 
 
 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1806,7 +1794,7 @@ class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','site','role',)
 
 class SitePrivilegeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1825,7 +1813,7 @@ class SitePrivilegeIdSerializer(XOSModelSerializer):
 
 
 class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1841,7 +1829,7 @@ class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','description',)
 
 class PlanetStackIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1859,8 +1847,43 @@ class PlanetStackIdSerializer(XOSModelSerializer):
 
 
 
+class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
+    id = IdField()
+    
+    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
+    validators = serializers.SerializerMethodField("getValidators")
+    def getHumanReadableName(self, obj):\r
+        return str(obj)
+    def getValidators(self, obj):
+        try:
+            return obj.getValidators()
+        except:
+            return None
+    class Meta:
+        model = ControllerDashboardView
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+
+class ControllerDashboardViewIdSerializer(XOSModelSerializer):
+    id = IdField()
+    
+    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
+    validators = serializers.SerializerMethodField("getValidators")
+    def getHumanReadableName(self, obj):\r
+        return str(obj)\r
+    def getValidators(self, obj):\r
+        try:
+            return obj.getValidators()
+        except:
+            return None\r
+    class Meta:\r
+        model = ControllerDashboardView
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+
+
+
+
 class AccountSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1876,7 +1899,7 @@ class AccountSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site',)
 
 class AccountIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1895,7 +1918,7 @@ class AccountIdSerializer(XOSModelSerializer):
 
 
 class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1911,7 +1934,7 @@ class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
 
 class ControllerRoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1930,7 +1953,7 @@ class ControllerRoleIdSerializer(XOSModelSerializer):
 
 
 class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1946,7 +1969,7 @@ class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description',)
 
 class NetworkParameterTypeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1965,7 +1988,7 @@ class NetworkParameterTypeIdSerializer(XOSModelSerializer):
 
 
 class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -1981,7 +2004,7 @@ class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','name','key_id','enc_value',)
 
 class SiteCredentialIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2000,7 +2023,7 @@ class SiteCredentialIdSerializer(XOSModelSerializer):
 
 
 class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2016,7 +2039,7 @@ class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','deployment','role',)
 
 class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2035,7 +2058,7 @@ class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
 
 
 class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2051,7 +2074,7 @@ class ControllerUsersSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','controller','kuser_id',)
 
 class ControllerUsersIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2070,7 +2093,7 @@ class ControllerUsersIdSerializer(XOSModelSerializer):
 
 
 class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2086,7 +2109,7 @@ class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','role',)
 
 class DeploymentRoleIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2105,7 +2128,7 @@ class DeploymentRoleIdSerializer(XOSModelSerializer):
 
 
 class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2121,7 +2144,7 @@ class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','user','name','key_id','enc_value',)
 
 class UserCredentialIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2140,7 +2163,7 @@ class UserCredentialIdSerializer(XOSModelSerializer):
 
 
 class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2156,7 +2179,7 @@ class SiteDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','site','deployment','controller','availability_zone',)
 
 class SiteDeploymentsIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2175,7 +2198,7 @@ class SiteDeploymentsIdSerializer(XOSModelSerializer):
 
 
 class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2191,7 +2214,7 @@ class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','slice','name','value',)
 
 class SliceTagIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2209,8 +2232,8 @@ class SliceTagIdSerializer(XOSModelSerializer):
 
 
 
-class ControllerDashboardSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2222,11 +2245,11 @@ class ControllerDashboardSerializer(serializers.HyperlinkedModelSerializer):
         except:
             return None
     class Meta:
-        model = ControllerDashboard
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+        model = NetworkTemplate
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
 
-class ControllerDashboardIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+class NetworkTemplateIdSerializer(XOSModelSerializer):
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2238,14 +2261,14 @@ class ControllerDashboardIdSerializer(XOSModelSerializer):
         except:
             return None\r
     class Meta:\r
-        model = ControllerDashboard
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+        model = NetworkTemplate
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
 
 
 
 
 class RouterSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
     networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
@@ -2269,14 +2292,14 @@ class RouterSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','name','owner','networks','networks',)
 
 class RouterIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     
-    networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
+    networks = serializers.PrimaryKeyRelatedField(many=True,  queryset = Network.objects.all())
     
     
     
-    networks = serializers.PrimaryKeyRelatedField(many=True) #, read_only=True) #, view_name='network-detail')
+    networks = serializers.PrimaryKeyRelatedField(many=True,  queryset = Network.objects.all())
     
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2296,7 +2319,7 @@ class RouterIdSerializer(XOSModelSerializer):
 
 
 class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2312,7 +2335,7 @@ class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
 
 class ServiceResourceIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2331,7 +2354,7 @@ class ServiceResourceIdSerializer(XOSModelSerializer):
 
 
 class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2347,7 +2370,7 @@ class ControllerSlicesSerializer(serializers.HyperlinkedModelSerializer):
         fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','backend_status','deleted','controller','slice','tenant_id',)
 
 class ControllerSlicesIdSerializer(XOSModelSerializer):
-    id = serializers.Field()
+    id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
     validators = serializers.SerializerMethodField("getValidators")
@@ -2429,8 +2452,6 @@ serializerLookUp = {
 
                  Payment: PaymentSerializer,
 
-                 NetworkTemplate: NetworkTemplateSerializer,
-
                  NetworkSlice: NetworkSliceSerializer,
 
                  UserDashboardView: UserDashboardViewSerializer,
@@ -2449,6 +2470,8 @@ serializerLookUp = {
 
                  PlanetStack: PlanetStackSerializer,
 
+                 ControllerDashboardView: ControllerDashboardViewSerializer,
+
                  Account: AccountSerializer,
 
                  ControllerRole: ControllerRoleSerializer,
@@ -2469,7 +2492,7 @@ serializerLookUp = {
 
                  SliceTag: SliceTagSerializer,
 
-                 ControllerDashboard: ControllerDashboardSerializer,
+                 NetworkTemplate: NetworkTemplateSerializer,
 
                  Router: RouterSerializer,
 
@@ -2714,7 +2737,7 @@ class ImageList(generics.ListCreateAPIView):
     serializer_class = ImageSerializer
     id_serializer_class = ImageIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path',)
+    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','disk_format','container_format','path','deployments',)
 
     def get_serializer_class(self):
         no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
@@ -4012,7 +4035,7 @@ class SliverList(generics.ListCreateAPIView):
     serializer_class = SliverSerializer
     id_serializer_class = SliverIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','node','controllerNetwork','numberCores','flavor','userData','networks',)
+    filter_fields = ('id','created','updated','enacted','backend_status','deleted','instance_id','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
 
     def get_serializer_class(self):
         no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
@@ -4361,65 +4384,6 @@ class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
 
 
 
-class NetworkTemplateList(generics.ListCreateAPIView):
-    queryset = NetworkTemplate.objects.select_related().all()
-    serializer_class = NetworkTemplateSerializer
-    id_serializer_class = NetworkTemplateIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteedBandwidth','visibility','translation','sharedNetworkName','sharedNetworkId','topologyKind','controllerKind',)
-
-    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 NetworkTemplate.select_by_user(self.request.user)
-
-    def create(self, request, *args, **kwargs):
-        serializer = self.get_serializer(data=request.DATA, files=request.FILES)
-        if not (serializer.is_valid()):
-            response = {"error": "validation",
-                        "specific_error": "not serializer.is_valid()",\r
-                        "reasons": serializer.errors}\r
-            return Response(response, status=status.HTTP_400_BAD_REQUEST)
-        obj = serializer.object
-        obj.caller = request.user
-        if obj.can_update(request.user):
-            return super(NetworkTemplateList, self).create(request, *args, **kwargs)
-        else:
-            raise Exception("failed obj.can_update")
-
-        ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
-        if (ret.status_code%100 != 200):
-            raise Exception(ret.data)
-
-        return ret
-
-
-class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
-    queryset = NetworkTemplate.objects.select_related().all()
-    serializer_class = NetworkTemplateSerializer
-    id_serializer_class = NetworkTemplateIdSerializer
-
-    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 NetworkTemplate.select_by_user(self.request.user)
-
-    # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
-
-
-
 class NetworkSliceList(generics.ListCreateAPIView):
     queryset = NetworkSlice.objects.select_related().all()
     serializer_class = NetworkSliceSerializer
@@ -4720,7 +4684,7 @@ class DeploymentList(generics.ListCreateAPIView):
     serializer_class = DeploymentSerializer
     id_serializer_class = DeploymentIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','sites',)
+    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','accessControl','flavors','images','sites',)
 
     def get_serializer_class(self):
         no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
@@ -4951,6 +4915,65 @@ class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
 
 
 
+class ControllerDashboardViewList(generics.ListCreateAPIView):
+    queryset = ControllerDashboardView.objects.select_related().all()
+    serializer_class = ControllerDashboardViewSerializer
+    id_serializer_class = ControllerDashboardViewIdSerializer
+    filter_backends = (filters.DjangoFilterBackend,)
+    filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+
+    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 ControllerDashboardView.select_by_user(self.request.user)
+
+    def create(self, request, *args, **kwargs):
+        serializer = self.get_serializer(data=request.DATA, files=request.FILES)
+        if not (serializer.is_valid()):
+            response = {"error": "validation",
+                        "specific_error": "not serializer.is_valid()",\r
+                        "reasons": serializer.errors}\r
+            return Response(response, status=status.HTTP_400_BAD_REQUEST)
+        obj = serializer.object
+        obj.caller = request.user
+        if obj.can_update(request.user):
+            return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
+        else:
+            raise Exception("failed obj.can_update")
+
+        ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
+        if (ret.status_code%100 != 200):
+            raise Exception(ret.data)
+
+        return ret
+
+
+class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
+    queryset = ControllerDashboardView.objects.select_related().all()
+    serializer_class = ControllerDashboardViewSerializer
+    id_serializer_class = ControllerDashboardViewIdSerializer
+
+    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 ControllerDashboardView.select_by_user(self.request.user)
+
+    # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+    # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
+
+
+
 class AccountList(generics.ListCreateAPIView):
     queryset = Account.objects.select_related().all()
     serializer_class = AccountSerializer
@@ -5541,12 +5564,12 @@ class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
 
 
 
-class ControllerDashboardList(generics.ListCreateAPIView):
-    queryset = ControllerDashboard.objects.select_related().all()
-    serializer_class = ControllerDashboardSerializer
-    id_serializer_class = ControllerDashboardIdSerializer
+class NetworkTemplateList(generics.ListCreateAPIView):
+    queryset = NetworkTemplate.objects.select_related().all()
+    serializer_class = NetworkTemplateSerializer
+    id_serializer_class = NetworkTemplateIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','backend_status','deleted','controller','dashboardView','url',)
+    filter_fields = ('id','created','updated','enacted','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
 
     def get_serializer_class(self):
         no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
@@ -5556,7 +5579,7 @@ class ControllerDashboardList(generics.ListCreateAPIView):
             return self.serializer_class
 
     def get_queryset(self):
-        return ControllerDashboard.select_by_user(self.request.user)
+        return NetworkTemplate.select_by_user(self.request.user)
 
     def create(self, request, *args, **kwargs):
         serializer = self.get_serializer(data=request.DATA, files=request.FILES)
@@ -5568,21 +5591,21 @@ class ControllerDashboardList(generics.ListCreateAPIView):
         obj = serializer.object
         obj.caller = request.user
         if obj.can_update(request.user):
-            return super(ControllerDashboardList, self).create(request, *args, **kwargs)
+            return super(NetworkTemplateList, self).create(request, *args, **kwargs)
         else:
             raise Exception("failed obj.can_update")
 
-        ret = super(ControllerDashboardList, self).create(request, *args, **kwargs)
+        ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
         if (ret.status_code%100 != 200):
             raise Exception(ret.data)
 
         return ret
 
 
-class ControllerDashboardDetail(PlanetStackRetrieveUpdateDestroyAPIView):
-    queryset = ControllerDashboard.objects.select_related().all()
-    serializer_class = ControllerDashboardSerializer
-    id_serializer_class = ControllerDashboardIdSerializer
+class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
+    queryset = NetworkTemplate.objects.select_related().all()
+    serializer_class = NetworkTemplateSerializer
+    id_serializer_class = NetworkTemplateIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
@@ -5592,7 +5615,7 @@ class ControllerDashboardDetail(PlanetStackRetrieveUpdateDestroyAPIView):
             return self.serializer_class
     
     def get_queryset(self):
-        return ControllerDashboard.select_by_user(self.request.user)
+        return NetworkTemplate.select_by_user(self.request.user)
 
     # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView