CORD-1241 remove obsolete billing system models and fields

Change-Id: I75b21386accf8224cbedb359781c02c54b6be4d7
diff --git a/xos/core/admin.py b/xos/core/admin.py
index 98e19fd..af24612 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -468,14 +468,6 @@
     backend_status_icon.short_description = ""
 
 
-class ReservationInline(XOSTabularInline):
-    model = Reservation
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-reservations'
-
-    def queryset(self, request):
-        return Reservation.select_by_user(request.user)
-
 
 class TagInline(PlStackGenericTabularInline):
     model = Tag
@@ -1287,7 +1279,7 @@
                     'serviceClass', 'slice_url', 'max_instances')
     list_display_links = ('backend_status_icon', 'name', )
     normal_inlines = [SlicePrivilegeInline, InstanceInline,
-                      TagInline, ReservationInline, SliceNetworkInline]
+                      TagInline, SliceNetworkInline]
     inlines = normal_inlines
     admin_inlines = [ControllerSliceInline]
     suit_form_includes = (('slice_instance_tab.html', 'bottom', 'instances'),)
@@ -1300,7 +1292,6 @@
                 ('slicenetworks', 'Networks'),
                 ('sliceprivileges', 'Privileges'),
                 ('instances', 'Instances'),
-                #('reservations','Reservations'),
                 ('tags', 'Tags'),
                 ]
 
@@ -1389,7 +1380,7 @@
         #    try to make this work post-demo.
         if (obj is not None) and (obj.name == "mysite_vcpe"):
             cord_vcpe_inlines = [SlicePrivilegeInline, CordInstanceInline,
-                                 TagInline, ReservationInline, SliceNetworkInline]
+                                 TagInline, SliceNetworkInline]
 
             inlines = []
             for inline_class in cord_vcpe_inlines:
@@ -1903,162 +1894,6 @@
     user_readonly_inlines = []
 
 
-class ReservedResourceInline(XOSTabularInline):
-    model = ReservedResource
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-reservedresources'
-
-    def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
-        field = super(ReservedResourceInline, self).formfield_for_foreignkey(
-            db_field, request, **kwargs)
-
-        if db_field.name == 'resource':
-            # restrict resources to those that the slice's service class allows
-            if request._slice is not None:
-                field.queryset = field.queryset.filter(
-                    serviceClass=request._slice.serviceClass, calendarReservable=True)
-                if len(field.queryset) > 0:
-                    field.initial = field.queryset.all()[0]
-            else:
-                field.queryset = field.queryset.none()
-        elif db_field.name == 'instance':
-            # restrict instances to those that belong to the slice
-            if request._slice is not None:
-                field.queryset = field.queryset.filter(slice=request._slice)
-            else:
-                field.queryset = field.queryset.none()
-
-        return field
-
-    def queryset(self, request):
-        return ReservedResource.select_by_user(request.user)
-
-
-class ReservationChangeForm(forms.ModelForm):
-
-    class Meta:
-        model = Reservation
-        widgets = {
-            'slice': LinkedSelect
-        }
-        fields = '__all__'
-
-
-class ReservationAddForm(forms.ModelForm):
-    slice = forms.ModelChoiceField(queryset=Slice.objects.all(), widget=forms.Select(
-        attrs={"onChange": "document.getElementById('id_refresh').value=1; submit()"}))
-    refresh = forms.CharField(widget=forms.HiddenInput())
-
-    class Media:
-        css = {'all': ('xos.css',)}   # .field-refresh { display: none; }
-
-    def clean_slice(self):
-        slice = self.cleaned_data.get("slice")
-        x = ServiceResource.objects.filter(
-            serviceClass=slice.serviceClass, calendarReservable=True)
-        if len(x) == 0:
-            raise forms.ValidationError(
-                "The slice you selected does not have a service class that allows reservations")
-        return slice
-
-    class Meta:
-        model = Reservation
-        widgets = {
-            'slice': LinkedSelect
-        }
-        fields = '__all__'
-
-
-class ReservationAddRefreshForm(ReservationAddForm):
-    """ This form is displayed when the Reservation Form receives an update
-        from the Slice dropdown onChange handler. It doesn't validate the
-        data and doesn't save the data. This will cause the form to be
-        redrawn.
-    """
-
-    """ don't validate anything other than slice """
-    dont_validate_fields = ("startTime", "duration")
-
-    def full_clean(self):
-        result = super(ReservationAddForm, self).full_clean()
-
-        for fieldname in self.dont_validate_fields:
-            if fieldname in self._errors:
-                del self._errors[fieldname]
-
-        return result
-
-    """ don't save anything """
-
-    def is_valid(self):
-        return False
-
-
-class ReservationAdmin(XOSBaseAdmin):
-    fieldList = ['backend_status_text', 'slice', 'startTime', 'duration']
-    fieldsets = [('Reservation Details', {
-                  'fields': fieldList, 'classes': ['suit-tab suit-tab-general']})]
-    readonly_fields = ('backend_status_text', )
-    list_display = ('startTime', 'duration')
-    form = ReservationAddForm
-
-    suit_form_tabs = (('general', 'Reservation Details'),
-                      ('reservedresources', 'Reserved Resources'))
-
-    inlines = [ReservedResourceInline]
-    user_readonly_fields = fieldList
-
-    def add_view(self, request, form_url='', extra_context=None):
-        timezone.activate(request.user.timezone)
-        request._refresh = False
-        request._slice = None
-        if request.method == 'POST':
-            # "refresh" will be set to "1" if the form was submitted due to
-            # a change in the Slice dropdown.
-            if request.POST.get("refresh", "1") == "1":
-                request._refresh = True
-                request.POST["refresh"] = "0"
-
-            # Keep track of the slice that was selected, so the
-            # reservedResource inline can filter items for the slice.
-            request._slice = request.POST.get("slice", None)
-            if (request._slice is not None):
-                request._slice = Slice.objects.get(id=request._slice)
-
-        result = super(ReservationAdmin, self).add_view(
-            request, form_url, extra_context)
-        return result
-
-    def changelist_view(self, request, extra_context=None):
-        timezone.activate(request.user.timezone)
-        return super(ReservationAdmin, self).changelist_view(request, extra_context)
-
-    def get_form(self, request, obj=None, **kwargs):
-        request._obj_ = obj
-        if obj is not None:
-            # For changes, set request._slice to the slice already set in the
-            # object.
-            request._slice = obj.slice
-            self.form = ReservationChangeForm
-        else:
-            if getattr(request, "_refresh", False):
-                self.form = ReservationAddRefreshForm
-            else:
-                self.form = ReservationAddForm
-        return super(ReservationAdmin, self).get_form(request, obj, **kwargs)
-
-    def get_readonly_fields(self, request, obj=None):
-        if (obj is not None):
-            # Prevent slice from being changed after the reservation has been
-            # created.
-            return ['slice']
-        else:
-            return []
-
-    def queryset(self, request):
-        return Reservation.select_by_user(request.user)
-
-
 class NetworkParameterTypeAdmin(XOSBaseAdmin):
     list_display = ("backend_status_icon", "name", )
     list_display_links = ('backend_status_icon', 'name', )
@@ -2222,132 +2057,6 @@
     request.session['auth'] = auth
 user_logged_in.connect(cache_credentials)
 
-
-def dollar_field(fieldName, short_description):
-    def newFunc(self, obj):
-        try:
-            x = "$ %0.2f" % float(getattr(obj, fieldName, 0.0))
-        except:
-            x = getattr(obj, fieldName, 0.0)
-        return x
-    newFunc.short_description = short_description
-    return newFunc
-
-
-def right_dollar_field(fieldName, short_description):
-    def newFunc(self, obj):
-        try:
-            #x= '<div align=right style="width:6em">$ %0.2f</div>' % float(getattr(obj, fieldName, 0.0))
-            x = '<div align=right>$ %0.2f</div>' % float(
-                getattr(obj, fieldName, 0.0))
-        except:
-            x = getattr(obj, fieldName, 0.0)
-        return x
-    newFunc.short_description = short_description
-    newFunc.allow_tags = True
-    return newFunc
-
-
-class InvoiceChargeInline(XOSTabularInline):
-    model = Charge
-    extra = 0
-    verbose_name_plural = "Charges"
-    verbose_name = "Charge"
-    exclude = ['account']
-    fields = ["date", "kind", "state", "object",
-              "coreHours", "dollar_amount", "slice"]
-    readonly_fields = ["date", "kind", "state",
-                       "object", "coreHours", "dollar_amount", "slice"]
-    can_delete = False
-    max_num = 0
-
-    dollar_amount = right_dollar_field("amount", "Amount")
-
-
-class InvoiceAdmin(admin.ModelAdmin):
-    list_display = ("date", "account")
-
-    inlines = [InvoiceChargeInline]
-
-    fields = ["date", "account", "dollar_amount"]
-    readonly_fields = ["date", "account", "dollar_amount"]
-
-    dollar_amount = dollar_field("amount", "Amount")
-
-
-class InvoiceInline(XOSTabularInline):
-    model = Invoice
-    extra = 0
-    verbose_name_plural = "Invoices"
-    verbose_name = "Invoice"
-    fields = ["date", "dollar_amount"]
-    readonly_fields = ["date", "dollar_amount"]
-    suit_classes = 'suit-tab suit-tab-accountinvoice'
-    can_delete = False
-    max_num = 0
-
-    dollar_amount = right_dollar_field("amount", "Amount")
-
-
-class PendingChargeInline(XOSTabularInline):
-    model = Charge
-    extra = 0
-    verbose_name_plural = "Charges"
-    verbose_name = "Charge"
-    exclude = ["invoice"]
-    fields = ["date", "kind", "state", "object",
-              "coreHours", "dollar_amount", "slice"]
-    readonly_fields = ["date", "kind", "state",
-                       "object", "coreHours", "dollar_amount", "slice"]
-    suit_classes = 'suit-tab suit-tab-accountpendingcharges'
-    can_delete = False
-    max_num = 0
-
-    def queryset(self, request):
-        qs = super(PendingChargeInline, self).queryset(request)
-        qs = qs.filter(state="pending")
-        return qs
-
-    dollar_amount = right_dollar_field("amount", "Amount")
-
-
-class PaymentInline(XOSTabularInline):
-    model = Payment
-    extra = 1
-    verbose_name_plural = "Payments"
-    verbose_name = "Payment"
-    fields = ["date", "dollar_amount"]
-    readonly_fields = ["date", "dollar_amount"]
-    suit_classes = 'suit-tab suit-tab-accountpayments'
-    can_delete = False
-    max_num = 0
-
-    dollar_amount = right_dollar_field("amount", "Amount")
-
-
-class AccountAdmin(admin.ModelAdmin):
-    list_display = ("site", "balance_due")
-
-    inlines = [InvoiceInline, PaymentInline, PendingChargeInline]
-
-    fieldsets = [
-        (None, {'fields': ['site', 'dollar_balance_due', 'dollar_total_invoices', 'dollar_total_payments'], 'classes':['suit-tab suit-tab-general']}), ]
-
-    readonly_fields = ['site', 'dollar_balance_due',
-                       'dollar_total_invoices', 'dollar_total_payments']
-
-    suit_form_tabs = (
-        ('general', 'Account Details'),
-        ('accountinvoice', 'Invoices'),
-        ('accountpayments', 'Payments'),
-        ('accountpendingcharges', 'Pending Charges'),
-    )
-
-    dollar_balance_due = dollar_field("balance_due", "Balance Due")
-    dollar_total_invoices = dollar_field("total_invoices", "Total Invoices")
-    dollar_total_payments = dollar_field("total_payments", "Total Payments")
-
-
 class ProgramForm(forms.ModelForm):
 
     class Meta:
@@ -2470,8 +2179,6 @@
 admin.site.register(Router, RouterAdmin)
 admin.site.register(NetworkTemplate, NetworkTemplateAdmin)
 admin.site.register(Program, ProgramAdmin)
-#admin.site.register(Account, AccountAdmin)
-#admin.site.register(Invoice, InvoiceAdmin)
 
 if True:
     admin.site.register(NetworkParameterType, NetworkParameterTypeAdmin)
diff --git a/xos/core/models/account.xproto b/xos/core/models/account.xproto
deleted file mode 100644
index ba24140..0000000
--- a/xos/core/models/account.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message Account (PlCoreBase){
-     required manytoone site->Site:accounts = 1 [help_text = "Site for this account", null = False, db_index = True, blank = False];
-}
diff --git a/xos/core/models/attic/account_model.py b/xos/core/models/attic/account_model.py
deleted file mode 100644
index 3e75dc2..0000000
--- a/xos/core/models/attic/account_model.py
+++ /dev/null
@@ -1,23 +0,0 @@
-@property
-def total_invoices(self):
-    # Since the amount of an invoice is the sum of it's charges, we can
-    # compute the sum of the invoices by summing all charges where
-    # charge.invoice != Null.
-    x=self.charges.filter(invoice__isnull=False).aggregate(Sum('amount'))["amount__sum"]
-    if (x==None):
-        return 0.0
-    return x
-
-@property
-def total_payments(self):
-    x=self.payments.all().aggregate(Sum('amount'))["amount__sum"]
-    if (x==None):
-        return 0.0
-    return x
-
-@property
-def balance_due(self):
-    return self.total_invoices - self.total_payments
-
-def __unicode__(self):  return u'%s' % (self.site.name)
-
diff --git a/xos/core/models/attic/charge_model.py b/xos/core/models/attic/charge_model.py
deleted file mode 100644
index 0eed5ac..0000000
--- a/xos/core/models/attic/charge_model.py
+++ /dev/null
@@ -1 +0,0 @@
-def __unicode__(self):  return u'%s-%0.2f-%s' % (self.account.site.name, self.amount, str(self.date))
diff --git a/xos/core/models/attic/invoice_model.py b/xos/core/models/attic/invoice_model.py
deleted file mode 100644
index 73dea2c..0000000
--- a/xos/core/models/attic/invoice_model.py
+++ /dev/null
@@ -1,5 +0,0 @@
-@property
-def amount(self):
-    return str(self.charges.all().aggregate(Sum('amount'))["amount__sum"])
-
-def __unicode__(self):  return u'%s-%s' % (self.account.site.name, str(self.date))
diff --git a/xos/core/models/attic/loadable_top.py b/xos/core/models/attic/loadable_top.py
deleted file mode 100644
index 474a085..0000000
--- a/xos/core/models/attic/loadable_top.py
+++ /dev/null
@@ -1 +0,0 @@
-from service_header import *
diff --git a/xos/core/models/attic/payment_model.py b/xos/core/models/attic/payment_model.py
deleted file mode 100644
index 75d7580..0000000
--- a/xos/core/models/attic/payment_model.py
+++ /dev/null
@@ -1 +0,0 @@
-def __unicode__(self): return u'%s-%0.2f-%s' % (self.account.site.name, self.amount, str(self.date))
diff --git a/xos/core/models/attic/reservation_model.py b/xos/core/models/attic/reservation_model.py
deleted file mode 100644
index e5e9cda..0000000
--- a/xos/core/models/attic/reservation_model.py
+++ /dev/null
@@ -1,17 +0,0 @@
-def __unicode__(self):  return u'%s to %s' % (self.startTime, self.endTime)
-
-@property
-def endTime(self):
-    return self.startTime + datetime.timedelta(hours=self.duration)
-
-def can_update(self, user):
-    return user.can_update_slice(self.slice)
-
-@staticmethod
-def select_by_user(user):
-    if user.is_admin:
-        qs = Reservation.objects.all()
-    else:
-        slice_ids = [s.id for s in Slice.select_by_user(user)]
-        qs = Reservation.objects.filter(id__in=slice_ids)
-    return qs
diff --git a/xos/core/models/attic/reservedresource_model.py b/xos/core/models/attic/reservedresource_model.py
deleted file mode 100644
index d2caa15..0000000
--- a/xos/core/models/attic/reservedresource_model.py
+++ /dev/null
@@ -1,16 +0,0 @@
-class Meta(PlCoreBase.Meta):
-   verbose_name_plural = "Reserved Resources"
-
-def __unicode__(self):  return u'%d %s on %s' % (self.quantity, self.resource, self.instance)
-
-def can_update(self, user):
-    return user.can_update(self.instance.slice)
-
-@staticmethod
-def select_by_user(user):
-    if user.is_admin:
-        qs = ReservedResource.objects.all()
-    else:
-        instance_ids = [s.id for s in Instance.select_by_user(user)]
-        qs = ReservedResource.objects.filter(id__in=instance_ids)
-    return qs
diff --git a/xos/core/models/attic/usableobject_model.py b/xos/core/models/attic/usableobject_model.py
deleted file mode 100644
index 3fd623e..0000000
--- a/xos/core/models/attic/usableobject_model.py
+++ /dev/null
@@ -1 +0,0 @@
-def __unicode__(self):  return u'%s' % (self.name)
diff --git a/xos/core/models/charge.xproto b/xos/core/models/charge.xproto
deleted file mode 100644
index df45134..0000000
--- a/xos/core/models/charge.xproto
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-message Charge (PlCoreBase){
-     required manytoone account->Account:charges = 1 [db_index = True, null = False, blank = False];
-     optional manytoone slice->Slice:charges = 2 [db_index = True, null = True, blank = True];
-     required string kind = 3 [default = "besteffort", choices = "(('besteffort', 'besteffort'), ('reservation', 'reservation'), ('monthlyfee', 'monthlyfee'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     required string state = 4 [default = "pending", choices = "(('pending', 'pending'), ('invoiced', 'invoiced'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     required string date = 5 [db_index = False, null = False, content_type = "date", blank = False];
-     required manytoone object->UsableObject:charge = 6 [db_index = True, null = False, blank = False];
-     required float amount = 7 [default = 0.0, null = False, db_index = False, blank = False];
-     required float coreHours = 8 [default = 0.0, null = False, db_index = False, blank = False];
-     optional manytoone invoice->Invoice:charges = 9 [db_index = True, null = True, blank = True];
-}
diff --git a/xos/core/models/invoice.xproto b/xos/core/models/invoice.xproto
deleted file mode 100644
index 7c05a58..0000000
--- a/xos/core/models/invoice.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message Invoice (PlCoreBase){
-     required string date = 1 [db_index = False, null = False, content_type = "date", blank = False];
-     required manytoone account->Account:invoices = 2 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/payment.xproto b/xos/core/models/payment.xproto
deleted file mode 100644
index f9723ad..0000000
--- a/xos/core/models/payment.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message Payment (PlCoreBase){
-     required manytoone account->Account:payments = 1 [db_index = True, null = False, blank = False];
-     required float amount = 2 [default = 0.0, null = False, db_index = False, blank = False];
-     required string date = 3 [default = "now()", null = False, db_index = False, content_type = "date", blank = False];
-}
diff --git a/xos/core/models/reservation.xproto b/xos/core/models/reservation.xproto
deleted file mode 100644
index be00e7f..0000000
--- a/xos/core/models/reservation.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message Reservation (PlCoreBase){
-     required string startTime = 1 [db_index = False, null = False, content_type = "date", blank = False];
-     required manytoone slice->Slice:reservations = 2 [db_index = True, null = False, blank = False];
-     required int32 duration = 3 [default = 1, null = False, db_index = False, blank = False];
-}
diff --git a/xos/core/models/reservedresource.xproto b/xos/core/models/reservedresource.xproto
deleted file mode 100644
index d3baae7..0000000
--- a/xos/core/models/reservedresource.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message ReservedResource (PlCoreBase){
-     required manytoone instance->Instance:reservedresources = 1 [db_index = True, null = False, blank = False];
-     required manytoone resource->ServiceResource:reservedresources = 2 [db_index = True, null = False, blank = False];
-     required int32 quantity = 3 [default = 1, null = False, db_index = False, blank = False];
-     required manytoone reservationSet->Reservation:reservedresources = 4 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/usableobject.xproto b/xos/core/models/usableobject.xproto
deleted file mode 100644
index 8437318..0000000
--- a/xos/core/models/usableobject.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message UsableObject (PlCoreBase){
-     required string name = 1 [db_index = False, max_length = 1024, null = False, content_type = "stripped", blank = False];
-}
diff --git a/xos/xos/xosapi.py b/xos/xos/xosapi.py
index 3df9aaf..2ebcd41 100644
--- a/xos/xos/xosapi.py
+++ b/xos/xos/xosapi.py
@@ -51,8 +51,8 @@
         url(r'xos/images/$', ImageList.as_view(), name='image-list-legacy'),
         url(r'xos/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail-legacy'),
     
-        url(r'xos/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list-legacy'),
-        url(r'xos/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail-legacy'),
+        url(r'xos/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list-legacy'),
+        url(r'xos/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail-legacy'),
     
         url(r'xos/sites/$', SiteList.as_view(), name='site-list-legacy'),
         url(r'xos/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail-legacy'),
@@ -72,11 +72,8 @@
         url(r'xos/tags/$', TagList.as_view(), name='tag-list-legacy'),
         url(r'xos/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail-legacy'),
     
-        url(r'xos/servicemonitoringagentinfos/$', ServiceMonitoringAgentInfoList.as_view(), name='servicemonitoringagentinfo-list-legacy'),
-        url(r'xos/servicemonitoringagentinfos/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceMonitoringAgentInfoDetail.as_view(), name ='servicemonitoringagentinfo-detail-legacy'),
-    
-        url(r'xos/invoices/$', InvoiceList.as_view(), name='invoice-list-legacy'),
-        url(r'xos/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail-legacy'),
+        url(r'xos/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list-legacy'),
+        url(r'xos/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail-legacy'),
     
         url(r'xos/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list-legacy'),
         url(r'xos/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail-legacy'),
@@ -117,24 +114,15 @@
         url(r'xos/tenantattributes/$', TenantAttributeList.as_view(), name='tenantattribute-list-legacy'),
         url(r'xos/tenantattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantAttributeDetail.as_view(), name ='tenantattribute-detail-legacy'),
     
-        url(r'xos/site_roles/$', SiteRoleList.as_view(), name='siterole-list-legacy'),
-        url(r'xos/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail-legacy'),
-    
         url(r'xos/instances/$', InstanceList.as_view(), name='instance-list-legacy'),
         url(r'xos/instances/(?P<pk>[a-zA-Z0-9\-]+)/$', InstanceDetail.as_view(), name ='instance-detail-legacy'),
     
-        url(r'xos/charges/$', ChargeList.as_view(), name='charge-list-legacy'),
-        url(r'xos/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail-legacy'),
-    
         url(r'xos/programs/$', ProgramList.as_view(), name='program-list-legacy'),
         url(r'xos/programs/(?P<pk>[a-zA-Z0-9\-]+)/$', ProgramDetail.as_view(), name ='program-detail-legacy'),
     
         url(r'xos/roles/$', RoleList.as_view(), name='role-list-legacy'),
         url(r'xos/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail-legacy'),
     
-        url(r'xos/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list-legacy'),
-        url(r'xos/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail-legacy'),
-    
         url(r'xos/nodelabels/$', NodeLabelList.as_view(), name='nodelabel-list-legacy'),
         url(r'xos/nodelabels/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeLabelDetail.as_view(), name ='nodelabel-detail-legacy'),
     
@@ -150,8 +138,8 @@
         url(r'xos/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list-legacy'),
         url(r'xos/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail-legacy'),
     
-        url(r'xos/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list-legacy'),
-        url(r'xos/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail-legacy'),
+        url(r'xos/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list-legacy'),
+        url(r'xos/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail-legacy'),
     
         url(r'xos/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list-legacy'),
         url(r'xos/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail-legacy'),
@@ -159,11 +147,8 @@
         url(r'xos/controllerusers/$', ControllerUserList.as_view(), name='controlleruser-list-legacy'),
         url(r'xos/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUserDetail.as_view(), name ='controlleruser-detail-legacy'),
     
-        url(r'xos/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list-legacy'),
-        url(r'xos/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail-legacy'),
-    
-        url(r'xos/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list-legacy'),
-        url(r'xos/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail-legacy'),
+        url(r'xos/servicemonitoringagentinfos/$', ServiceMonitoringAgentInfoList.as_view(), name='servicemonitoringagentinfo-list-legacy'),
+        url(r'xos/servicemonitoringagentinfos/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceMonitoringAgentInfoDetail.as_view(), name ='servicemonitoringagentinfo-detail-legacy'),
     
         url(r'xos/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list-legacy'),
         url(r'xos/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail-legacy'),
@@ -183,14 +168,11 @@
         url(r'xos/deployments/$', DeploymentList.as_view(), name='deployment-list-legacy'),
         url(r'xos/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail-legacy'),
     
-        url(r'xos/reservations/$', ReservationList.as_view(), name='reservation-list-legacy'),
-        url(r'xos/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail-legacy'),
-    
         url(r'xos/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list-legacy'),
         url(r'xos/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail-legacy'),
     
-        url(r'xos/payments/$', PaymentList.as_view(), name='payment-list-legacy'),
-        url(r'xos/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail-legacy'),
+        url(r'xos/site_roles/$', SiteRoleList.as_view(), name='siterole-list-legacy'),
+        url(r'xos/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail-legacy'),
     
         url(r'xos/tenants/$', TenantList.as_view(), name='tenant-list-legacy'),
         url(r'xos/tenants/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantDetail.as_view(), name ='tenant-detail-legacy'),
@@ -201,9 +183,6 @@
         url(r'xos/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list-legacy'),
         url(r'xos/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail-legacy'),
     
-        url(r'xos/accounts/$', AccountList.as_view(), name='account-list-legacy'),
-        url(r'xos/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail-legacy'),
-    
         url(r'xos/tenantroots/$', TenantRootList.as_view(), name='tenantroot-list-legacy'),
         url(r'xos/tenantroots/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantRootDetail.as_view(), name ='tenantroot-detail-legacy'),
     
@@ -268,8 +247,8 @@
         url(r'api/core/images/$', ImageList.as_view(), name='image-list'),
         url(r'api/core/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
     
-        url(r'api/core/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list'),
-        url(r'api/core/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail'),
+        url(r'api/core/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
+        url(r'api/core/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
     
         url(r'api/core/sites/$', SiteList.as_view(), name='site-list'),
         url(r'api/core/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
@@ -289,11 +268,8 @@
         url(r'api/core/tags/$', TagList.as_view(), name='tag-list'),
         url(r'api/core/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
     
-        url(r'api/core/servicemonitoringagentinfos/$', ServiceMonitoringAgentInfoList.as_view(), name='servicemonitoringagentinfo-list'),
-        url(r'api/core/servicemonitoringagentinfos/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceMonitoringAgentInfoDetail.as_view(), name ='servicemonitoringagentinfo-detail'),
-    
-        url(r'api/core/invoices/$', InvoiceList.as_view(), name='invoice-list'),
-        url(r'api/core/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
+        url(r'api/core/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
+        url(r'api/core/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
     
         url(r'api/core/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
         url(r'api/core/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
@@ -334,24 +310,15 @@
         url(r'api/core/tenantattributes/$', TenantAttributeList.as_view(), name='tenantattribute-list'),
         url(r'api/core/tenantattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantAttributeDetail.as_view(), name ='tenantattribute-detail'),
     
-        url(r'api/core/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
-        url(r'api/core/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
-    
         url(r'api/core/instances/$', InstanceList.as_view(), name='instance-list'),
         url(r'api/core/instances/(?P<pk>[a-zA-Z0-9\-]+)/$', InstanceDetail.as_view(), name ='instance-detail'),
     
-        url(r'api/core/charges/$', ChargeList.as_view(), name='charge-list'),
-        url(r'api/core/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
-    
         url(r'api/core/programs/$', ProgramList.as_view(), name='program-list'),
         url(r'api/core/programs/(?P<pk>[a-zA-Z0-9\-]+)/$', ProgramDetail.as_view(), name ='program-detail'),
     
         url(r'api/core/roles/$', RoleList.as_view(), name='role-list'),
         url(r'api/core/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
     
-        url(r'api/core/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
-        url(r'api/core/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
-    
         url(r'api/core/nodelabels/$', NodeLabelList.as_view(), name='nodelabel-list'),
         url(r'api/core/nodelabels/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeLabelDetail.as_view(), name ='nodelabel-detail'),
     
@@ -367,8 +334,8 @@
         url(r'api/core/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
         url(r'api/core/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
     
-        url(r'api/core/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
-        url(r'api/core/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
+        url(r'api/core/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list'),
+        url(r'api/core/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail'),
     
         url(r'api/core/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
         url(r'api/core/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
@@ -376,11 +343,8 @@
         url(r'api/core/controllerusers/$', ControllerUserList.as_view(), name='controlleruser-list'),
         url(r'api/core/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUserDetail.as_view(), name ='controlleruser-detail'),
     
-        url(r'api/core/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
-        url(r'api/core/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
-    
-        url(r'api/core/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
-        url(r'api/core/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
+        url(r'api/core/servicemonitoringagentinfos/$', ServiceMonitoringAgentInfoList.as_view(), name='servicemonitoringagentinfo-list'),
+        url(r'api/core/servicemonitoringagentinfos/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceMonitoringAgentInfoDetail.as_view(), name ='servicemonitoringagentinfo-detail'),
     
         url(r'api/core/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
         url(r'api/core/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
@@ -400,14 +364,11 @@
         url(r'api/core/deployments/$', DeploymentList.as_view(), name='deployment-list'),
         url(r'api/core/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
     
-        url(r'api/core/reservations/$', ReservationList.as_view(), name='reservation-list'),
-        url(r'api/core/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
-    
         url(r'api/core/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
         url(r'api/core/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
     
-        url(r'api/core/payments/$', PaymentList.as_view(), name='payment-list'),
-        url(r'api/core/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
+        url(r'api/core/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
+        url(r'api/core/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
     
         url(r'api/core/tenants/$', TenantList.as_view(), name='tenant-list'),
         url(r'api/core/tenants/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantDetail.as_view(), name ='tenant-detail'),
@@ -418,9 +379,6 @@
         url(r'api/core/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
         url(r'api/core/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
     
-        url(r'api/core/accounts/$', AccountList.as_view(), name='account-list'),
-        url(r'api/core/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
-    
         url(r'api/core/tenantroots/$', TenantRootList.as_view(), name='tenantroot-list'),
         url(r'api/core/tenantroots/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantRootDetail.as_view(), name ='tenantroot-detail'),
     
@@ -478,15 +436,14 @@
         'controllerimageses': reverse('controllerimages-list-legacy', request=request, format=format),
         'controllersiteprivileges': reverse('controllersiteprivilege-list-legacy', request=request, format=format),
         'images': reverse('image-list-legacy', request=request, format=format),
-        'controllernetworks': reverse('controllernetwork-list-legacy', request=request, format=format),
+        'networkparameters': reverse('networkparameter-list-legacy', request=request, format=format),
         'sites': reverse('site-list-legacy', request=request, format=format),
         'tenantrootroles': reverse('tenantrootrole-list-legacy', request=request, format=format),
         'sliceroles': reverse('slicerole-list-legacy', request=request, format=format),
         'xosguiextensions': reverse('xosguiextension-list-legacy', request=request, format=format),
         'tenantprivileges': reverse('tenantprivilege-list-legacy', request=request, format=format),
         'tags': reverse('tag-list-legacy', request=request, format=format),
-        'servicemonitoringagentinfos': reverse('servicemonitoringagentinfo-list-legacy', request=request, format=format),
-        'invoices': reverse('invoice-list-legacy', request=request, format=format),
+        'usercredentials': reverse('usercredential-list-legacy', request=request, format=format),
         'sliceprivileges': reverse('sliceprivilege-list-legacy', request=request, format=format),
         'flavors': reverse('flavor-list-legacy', request=request, format=format),
         'ports': reverse('port-list-legacy', request=request, format=format),
@@ -500,35 +457,29 @@
         'diags': reverse('diag-list-legacy', request=request, format=format),
         'serviceclasses': reverse('serviceclass-list-legacy', request=request, format=format),
         'tenantattributes': reverse('tenantattribute-list-legacy', request=request, format=format),
-        'siteroles': reverse('siterole-list-legacy', request=request, format=format),
         'instances': reverse('instance-list-legacy', request=request, format=format),
-        'charges': reverse('charge-list-legacy', request=request, format=format),
         'programs': reverse('program-list-legacy', request=request, format=format),
         'roles': reverse('role-list-legacy', request=request, format=format),
-        'usableobjects': reverse('usableobject-list-legacy', request=request, format=format),
         'nodelabels': reverse('nodelabel-list-legacy', request=request, format=format),
         'slicecredentials': reverse('slicecredential-list-legacy', request=request, format=format),
         'nodes': reverse('node-list-legacy', request=request, format=format),
         'addresspools': reverse('addresspool-list-legacy', request=request, format=format),
         'dashboardviews': reverse('dashboardview-list-legacy', request=request, format=format),
-        'networkparameters': reverse('networkparameter-list-legacy', request=request, format=format),
+        'controllernetworks': reverse('controllernetwork-list-legacy', request=request, format=format),
         'imagedeploymentses': reverse('imagedeployments-list-legacy', request=request, format=format),
         'controllerusers': reverse('controlleruser-list-legacy', request=request, format=format),
-        'reservedresources': reverse('reservedresource-list-legacy', request=request, format=format),
-        'usercredentials': reverse('usercredential-list-legacy', request=request, format=format),
+        'servicemonitoringagentinfos': reverse('servicemonitoringagentinfo-list-legacy', request=request, format=format),
         'controllerdashboardviews': reverse('controllerdashboardview-list-legacy', request=request, format=format),
         'userdashboardviews': reverse('userdashboardview-list-legacy', request=request, format=format),
         'controllers': reverse('controller-list-legacy', request=request, format=format),
         'slices': reverse('slice-list-legacy', request=request, format=format),
         'users': reverse('user-list-legacy', request=request, format=format),
         'deployments': reverse('deployment-list-legacy', request=request, format=format),
-        'reservations': reverse('reservation-list-legacy', request=request, format=format),
         'siteprivileges': reverse('siteprivilege-list-legacy', request=request, format=format),
-        'payments': reverse('payment-list-legacy', request=request, format=format),
+        'siteroles': reverse('siterole-list-legacy', request=request, format=format),
         'tenants': reverse('tenant-list-legacy', request=request, format=format),
         'xoses': reverse('xos-list-legacy', request=request, format=format),
         'networkslices': reverse('networkslice-list-legacy', request=request, format=format),
-        'accounts': reverse('account-list-legacy', request=request, format=format),
         'tenantroots': reverse('tenantroot-list-legacy', request=request, format=format),
         'services': reverse('service-list-legacy', request=request, format=format),
         'controllersliceprivileges': reverse('controllersliceprivilege-list-legacy', request=request, format=format),
@@ -555,15 +506,14 @@
         'controllerimageses': reverse('controllerimages-list', request=request, format=format),
         'controllersiteprivileges': reverse('controllersiteprivilege-list', request=request, format=format),
         'images': reverse('image-list', request=request, format=format),
-        'controllernetworks': reverse('controllernetwork-list', request=request, format=format),
+        'networkparameters': reverse('networkparameter-list', request=request, format=format),
         'sites': reverse('site-list', request=request, format=format),
         'tenantrootroles': reverse('tenantrootrole-list', request=request, format=format),
         'sliceroles': reverse('slicerole-list', request=request, format=format),
         'xosguiextensions': reverse('xosguiextension-list', request=request, format=format),
         'tenantprivileges': reverse('tenantprivilege-list', request=request, format=format),
         'tags': reverse('tag-list', request=request, format=format),
-        'servicemonitoringagentinfos': reverse('servicemonitoringagentinfo-list', request=request, format=format),
-        'invoices': reverse('invoice-list', request=request, format=format),
+        'usercredentials': reverse('usercredential-list', request=request, format=format),
         'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
         'flavors': reverse('flavor-list', request=request, format=format),
         'ports': reverse('port-list', request=request, format=format),
@@ -577,35 +527,29 @@
         'diags': reverse('diag-list', request=request, format=format),
         'serviceclasses': reverse('serviceclass-list', request=request, format=format),
         'tenantattributes': reverse('tenantattribute-list', request=request, format=format),
-        'siteroles': reverse('siterole-list', request=request, format=format),
         'instances': reverse('instance-list', request=request, format=format),
-        'charges': reverse('charge-list', request=request, format=format),
         'programs': reverse('program-list', request=request, format=format),
         'roles': reverse('role-list', request=request, format=format),
-        'usableobjects': reverse('usableobject-list', request=request, format=format),
         'nodelabels': reverse('nodelabel-list', request=request, format=format),
         'slicecredentials': reverse('slicecredential-list', request=request, format=format),
         'nodes': reverse('node-list', request=request, format=format),
         'addresspools': reverse('addresspool-list', request=request, format=format),
         'dashboardviews': reverse('dashboardview-list', request=request, format=format),
-        'networkparameters': reverse('networkparameter-list', request=request, format=format),
+        'controllernetworks': reverse('controllernetwork-list', request=request, format=format),
         'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
         'controllerusers': reverse('controlleruser-list', request=request, format=format),
-        'reservedresources': reverse('reservedresource-list', request=request, format=format),
-        'usercredentials': reverse('usercredential-list', request=request, format=format),
+        'servicemonitoringagentinfos': reverse('servicemonitoringagentinfo-list', request=request, format=format),
         'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
         'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
         'controllers': reverse('controller-list', request=request, format=format),
         'slices': reverse('slice-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),
-        'payments': reverse('payment-list', request=request, format=format),
+        'siteroles': reverse('siterole-list', request=request, format=format),
         'tenants': reverse('tenant-list', request=request, format=format),
         'xoses': reverse('xos-list', request=request, format=format),
         'networkslices': reverse('networkslice-list', request=request, format=format),
-        'accounts': reverse('account-list', request=request, format=format),
         'tenantroots': reverse('tenantroot-list', request=request, format=format),
         'services': reverse('service-list', request=request, format=format),
         'controllersliceprivileges': reverse('controllersliceprivilege-list', request=request, format=format),
@@ -830,7 +774,7 @@
 
 
 
-class ControllerNetworkSerializer(serializers.HyperlinkedModelSerializer):
+class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -843,10 +787,10 @@
         except:
             return None
     class Meta:
-        model = ControllerNetwork
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
+        model = NetworkParameter
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
 
-class ControllerNetworkIdSerializer(XOSModelSerializer):
+class NetworkParameterIdSerializer(XOSModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -859,8 +803,8 @@
         except:
             return None
     class Meta:
-        model = ControllerNetwork
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
+        model = NetworkParameter
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
 
 
 
@@ -1083,7 +1027,7 @@
 
 
 
-class ServiceMonitoringAgentInfoSerializer(serializers.HyperlinkedModelSerializer):
+class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1096,10 +1040,10 @@
         except:
             return None
     class Meta:
-        model = ServiceMonitoringAgentInfo
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
+        model = UserCredential
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
 
-class ServiceMonitoringAgentInfoIdSerializer(XOSModelSerializer):
+class UserCredentialIdSerializer(XOSModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1112,43 +1056,8 @@
         except:
             return None
     class Meta:
-        model = ServiceMonitoringAgentInfo
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
-
-
-
-
-class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Invoice
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','date','account',)
-
-class InvoiceIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Invoice
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','date','account',)
+        model = UserCredential
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
 
 
 
@@ -1656,41 +1565,6 @@
 
 
 
-class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = SiteRole
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
-
-class SiteRoleIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = SiteRole
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
-
-
-
-
 class InstanceSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
@@ -1734,41 +1608,6 @@
 
 
 
-class ChargeSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Charge
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','kind','state','date','amount','coreHours','account','slice','object','invoice',)
-
-class ChargeIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Charge
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','kind','state','date','amount','coreHours','account','slice','object','invoice',)
-
-
-
-
 class ProgramSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
@@ -1839,41 +1678,6 @@
 
 
 
-class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = UsableObject
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name',)
-
-class UsableObjectIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = UsableObject
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name',)
-
-
-
-
 class NodeLabelSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
@@ -2081,7 +1885,7 @@
 
 
 
-class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
+class ControllerNetworkSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2094,10 +1898,10 @@
         except:
             return None
     class Meta:
-        model = NetworkParameter
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
+        model = ControllerNetwork
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
 
-class NetworkParameterIdSerializer(XOSModelSerializer):
+class ControllerNetworkIdSerializer(XOSModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2110,8 +1914,8 @@
         except:
             return None
     class Meta:
-        model = NetworkParameter
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
+        model = ControllerNetwork
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
 
 
 
@@ -2186,7 +1990,7 @@
 
 
 
-class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
+class ServiceMonitoringAgentInfoSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2199,10 +2003,10 @@
         except:
             return None
     class Meta:
-        model = ReservedResource
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','quantity','instance','resource','reservationSet',)
+        model = ServiceMonitoringAgentInfo
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
 
-class ReservedResourceIdSerializer(XOSModelSerializer):
+class ServiceMonitoringAgentInfoIdSerializer(XOSModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2215,43 +2019,8 @@
         except:
             return None
     class Meta:
-        model = ReservedResource
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','quantity','instance','resource','reservationSet',)
-
-
-
-
-class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = UserCredential
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
-
-class UserCredentialIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = UserCredential
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
+        model = ServiceMonitoringAgentInfo
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
 
 
 
@@ -2522,41 +2291,6 @@
 
 
 
-class ReservationSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Reservation
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','startTime','duration','slice',)
-
-class ReservationIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Reservation
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','startTime','duration','slice',)
-
-
-
-
 class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
@@ -2592,7 +2326,7 @@
 
 
 
-class PaymentSerializer(serializers.HyperlinkedModelSerializer):
+class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2605,10 +2339,10 @@
         except:
             return None
     class Meta:
-        model = Payment
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','amount','date','account',)
+        model = SiteRole
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
 
-class PaymentIdSerializer(XOSModelSerializer):
+class SiteRoleIdSerializer(XOSModelSerializer):
     id = IdField()
     
     humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2621,8 +2355,8 @@
         except:
             return None
     class Meta:
-        model = Payment
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','amount','date','account',)
+        model = SiteRole
+        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
 
 
 
@@ -2732,41 +2466,6 @@
 
 
 
-class AccountSerializer(serializers.HyperlinkedModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Account
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','site',)
-
-class AccountIdSerializer(XOSModelSerializer):
-    id = IdField()
-    
-    humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
-    validators = serializers.SerializerMethodField("getValidators")
-    def getHumanReadableName(self, obj):
-        return str(obj)
-    def getValidators(self, obj):
-        try:
-            return obj.getValidators()
-        except:
-            return None
-    class Meta:
-        model = Account
-        fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','site',)
-
-
-
-
 class TenantRootSerializer(serializers.HyperlinkedModelSerializer):
     id = IdField()
     
@@ -3353,7 +3052,7 @@
 
                  Image: ImageSerializer,
 
-                 ControllerNetwork: ControllerNetworkSerializer,
+                 NetworkParameter: NetworkParameterSerializer,
 
                  Site: SiteSerializer,
 
@@ -3367,9 +3066,7 @@
 
                  Tag: TagSerializer,
 
-                 ServiceMonitoringAgentInfo: ServiceMonitoringAgentInfoSerializer,
-
-                 Invoice: InvoiceSerializer,
+                 UserCredential: UserCredentialSerializer,
 
                  SlicePrivilege: SlicePrivilegeSerializer,
 
@@ -3397,18 +3094,12 @@
 
                  TenantAttribute: TenantAttributeSerializer,
 
-                 SiteRole: SiteRoleSerializer,
-
                  Instance: InstanceSerializer,
 
-                 Charge: ChargeSerializer,
-
                  Program: ProgramSerializer,
 
                  Role: RoleSerializer,
 
-                 UsableObject: UsableObjectSerializer,
-
                  NodeLabel: NodeLabelSerializer,
 
                  SliceCredential: SliceCredentialSerializer,
@@ -3419,15 +3110,13 @@
 
                  DashboardView: DashboardViewSerializer,
 
-                 NetworkParameter: NetworkParameterSerializer,
+                 ControllerNetwork: ControllerNetworkSerializer,
 
                  ImageDeployments: ImageDeploymentsSerializer,
 
                  ControllerUser: ControllerUserSerializer,
 
-                 ReservedResource: ReservedResourceSerializer,
-
-                 UserCredential: UserCredentialSerializer,
+                 ServiceMonitoringAgentInfo: ServiceMonitoringAgentInfoSerializer,
 
                  ControllerDashboardView: ControllerDashboardViewSerializer,
 
@@ -3441,11 +3130,9 @@
 
                  Deployment: DeploymentSerializer,
 
-                 Reservation: ReservationSerializer,
-
                  SitePrivilege: SitePrivilegeSerializer,
 
-                 Payment: PaymentSerializer,
+                 SiteRole: SiteRoleSerializer,
 
                  Tenant: TenantSerializer,
 
@@ -3453,8 +3140,6 @@
 
                  NetworkSlice: NetworkSliceSerializer,
 
-                 Account: AccountSerializer,
-
                  TenantRoot: TenantRootSerializer,
 
                  Service: ServiceSerializer,
@@ -3681,12 +3366,12 @@
 
 
 
-class ControllerNetworkList(XOSListCreateAPIView):
-    queryset = ControllerNetwork.objects.select_related().all()
-    serializer_class = ControllerNetworkSerializer
-    id_serializer_class = ControllerNetworkIdSerializer
+class NetworkParameterList(XOSListCreateAPIView):
+    queryset = NetworkParameter.objects.select_related().all()
+    serializer_class = NetworkParameterSerializer
+    id_serializer_class = NetworkParameterIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
+    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -3700,13 +3385,13 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ControllerNetwork.select_by_user(self.request.user)
+        return NetworkParameter.select_by_user(self.request.user)
 
 
-class ControllerNetworkDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = ControllerNetwork.objects.select_related().all()
-    serializer_class = ControllerNetworkSerializer
-    id_serializer_class = ControllerNetworkIdSerializer
+class NetworkParameterDetail(XOSRetrieveUpdateDestroyAPIView):
+    queryset = NetworkParameter.objects.select_related().all()
+    serializer_class = NetworkParameterSerializer
+    id_serializer_class = NetworkParameterIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -3720,7 +3405,7 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ControllerNetwork.select_by_user(self.request.user)
+        return NetworkParameter.select_by_user(self.request.user)
 
     # update() is handled by XOSRetrieveUpdateDestroyAPIView
 
@@ -4010,12 +3695,12 @@
 
 
 
-class ServiceMonitoringAgentInfoList(XOSListCreateAPIView):
-    queryset = ServiceMonitoringAgentInfo.objects.select_related().all()
-    serializer_class = ServiceMonitoringAgentInfoSerializer
-    id_serializer_class = ServiceMonitoringAgentInfoIdSerializer
+class UserCredentialList(XOSListCreateAPIView):
+    queryset = UserCredential.objects.select_related().all()
+    serializer_class = UserCredentialSerializer
+    id_serializer_class = UserCredentialIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
+    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -4029,13 +3714,13 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ServiceMonitoringAgentInfo.select_by_user(self.request.user)
+        return UserCredential.select_by_user(self.request.user)
 
 
-class ServiceMonitoringAgentInfoDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = ServiceMonitoringAgentInfo.objects.select_related().all()
-    serializer_class = ServiceMonitoringAgentInfoSerializer
-    id_serializer_class = ServiceMonitoringAgentInfoIdSerializer
+class UserCredentialDetail(XOSRetrieveUpdateDestroyAPIView):
+    queryset = UserCredential.objects.select_related().all()
+    serializer_class = UserCredentialSerializer
+    id_serializer_class = UserCredentialIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -4049,54 +3734,7 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ServiceMonitoringAgentInfo.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
-class InvoiceList(XOSListCreateAPIView):
-    queryset = Invoice.objects.select_related().all()
-    serializer_class = InvoiceSerializer
-    id_serializer_class = InvoiceIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','date','account',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Invoice.select_by_user(self.request.user)
-
-
-class InvoiceDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = Invoice.objects.select_related().all()
-    serializer_class = InvoiceSerializer
-    id_serializer_class = InvoiceIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Invoice.select_by_user(self.request.user)
+        return UserCredential.select_by_user(self.request.user)
 
     # update() is handled by XOSRetrieveUpdateDestroyAPIView
 
@@ -4715,53 +4353,6 @@
 
 
 
-class SiteRoleList(XOSListCreateAPIView):
-    queryset = SiteRole.objects.select_related().all()
-    serializer_class = SiteRoleSerializer
-    id_serializer_class = SiteRoleIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return SiteRole.select_by_user(self.request.user)
-
-
-class SiteRoleDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = SiteRole.objects.select_related().all()
-    serializer_class = SiteRoleSerializer
-    id_serializer_class = SiteRoleIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return SiteRole.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
 class InstanceList(XOSListCreateAPIView):
     queryset = Instance.objects.select_related().all()
     serializer_class = InstanceSerializer
@@ -4809,53 +4400,6 @@
 
 
 
-class ChargeList(XOSListCreateAPIView):
-    queryset = Charge.objects.select_related().all()
-    serializer_class = ChargeSerializer
-    id_serializer_class = ChargeIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','kind','state','date','amount','coreHours','account','slice','object','invoice',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Charge.select_by_user(self.request.user)
-
-
-class ChargeDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = Charge.objects.select_related().all()
-    serializer_class = ChargeSerializer
-    id_serializer_class = ChargeIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Charge.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
 class ProgramList(XOSListCreateAPIView):
     queryset = Program.objects.select_related().all()
     serializer_class = ProgramSerializer
@@ -4950,53 +4494,6 @@
 
 
 
-class UsableObjectList(XOSListCreateAPIView):
-    queryset = UsableObject.objects.select_related().all()
-    serializer_class = UsableObjectSerializer
-    id_serializer_class = UsableObjectIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return UsableObject.select_by_user(self.request.user)
-
-
-class UsableObjectDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = UsableObject.objects.select_related().all()
-    serializer_class = UsableObjectSerializer
-    id_serializer_class = UsableObjectIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return UsableObject.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
 class NodeLabelList(XOSListCreateAPIView):
     queryset = NodeLabel.objects.select_related().all()
     serializer_class = NodeLabelSerializer
@@ -5232,12 +4729,12 @@
 
 
 
-class NetworkParameterList(XOSListCreateAPIView):
-    queryset = NetworkParameter.objects.select_related().all()
-    serializer_class = NetworkParameterSerializer
-    id_serializer_class = NetworkParameterIdSerializer
+class ControllerNetworkList(XOSListCreateAPIView):
+    queryset = ControllerNetwork.objects.select_related().all()
+    serializer_class = ControllerNetworkSerializer
+    id_serializer_class = ControllerNetworkIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','value','object_id','parameter','content_type',)
+    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','subnet','start_ip','stop_ip','net_id','router_id','subnet_id','gateway','segmentation_id','network','controller',)
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5251,13 +4748,13 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return NetworkParameter.select_by_user(self.request.user)
+        return ControllerNetwork.select_by_user(self.request.user)
 
 
-class NetworkParameterDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = NetworkParameter.objects.select_related().all()
-    serializer_class = NetworkParameterSerializer
-    id_serializer_class = NetworkParameterIdSerializer
+class ControllerNetworkDetail(XOSRetrieveUpdateDestroyAPIView):
+    queryset = ControllerNetwork.objects.select_related().all()
+    serializer_class = ControllerNetworkSerializer
+    id_serializer_class = ControllerNetworkIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5271,7 +4768,7 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return NetworkParameter.select_by_user(self.request.user)
+        return ControllerNetwork.select_by_user(self.request.user)
 
     # update() is handled by XOSRetrieveUpdateDestroyAPIView
 
@@ -5373,12 +4870,12 @@
 
 
 
-class ReservedResourceList(XOSListCreateAPIView):
-    queryset = ReservedResource.objects.select_related().all()
-    serializer_class = ReservedResourceSerializer
-    id_serializer_class = ReservedResourceIdSerializer
+class ServiceMonitoringAgentInfoList(XOSListCreateAPIView):
+    queryset = ServiceMonitoringAgentInfo.objects.select_related().all()
+    serializer_class = ServiceMonitoringAgentInfoSerializer
+    id_serializer_class = ServiceMonitoringAgentInfoIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','quantity','instance','resource','reservationSet',)
+    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','target_uri','service',)
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5392,13 +4889,13 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ReservedResource.select_by_user(self.request.user)
+        return ServiceMonitoringAgentInfo.select_by_user(self.request.user)
 
 
-class ReservedResourceDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = ReservedResource.objects.select_related().all()
-    serializer_class = ReservedResourceSerializer
-    id_serializer_class = ReservedResourceIdSerializer
+class ServiceMonitoringAgentInfoDetail(XOSRetrieveUpdateDestroyAPIView):
+    queryset = ServiceMonitoringAgentInfo.objects.select_related().all()
+    serializer_class = ServiceMonitoringAgentInfoSerializer
+    id_serializer_class = ServiceMonitoringAgentInfoIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5412,54 +4909,7 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return ReservedResource.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
-class UserCredentialList(XOSListCreateAPIView):
-    queryset = UserCredential.objects.select_related().all()
-    serializer_class = UserCredentialSerializer
-    id_serializer_class = UserCredentialIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','name','key_id','enc_value','user',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return UserCredential.select_by_user(self.request.user)
-
-
-class UserCredentialDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = UserCredential.objects.select_related().all()
-    serializer_class = UserCredentialSerializer
-    id_serializer_class = UserCredentialIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return UserCredential.select_by_user(self.request.user)
+        return ServiceMonitoringAgentInfo.select_by_user(self.request.user)
 
     # update() is handled by XOSRetrieveUpdateDestroyAPIView
 
@@ -5749,53 +5199,6 @@
 
 
 
-class ReservationList(XOSListCreateAPIView):
-    queryset = Reservation.objects.select_related().all()
-    serializer_class = ReservationSerializer
-    id_serializer_class = ReservationIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','startTime','duration','slice',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Reservation.select_by_user(self.request.user)
-
-
-class ReservationDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = Reservation.objects.select_related().all()
-    serializer_class = ReservationSerializer
-    id_serializer_class = ReservationIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Reservation.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
 class SitePrivilegeList(XOSListCreateAPIView):
     queryset = SitePrivilege.objects.select_related().all()
     serializer_class = SitePrivilegeSerializer
@@ -5843,12 +5246,12 @@
 
 
 
-class PaymentList(XOSListCreateAPIView):
-    queryset = Payment.objects.select_related().all()
-    serializer_class = PaymentSerializer
-    id_serializer_class = PaymentIdSerializer
+class SiteRoleList(XOSListCreateAPIView):
+    queryset = SiteRole.objects.select_related().all()
+    serializer_class = SiteRoleSerializer
+    id_serializer_class = SiteRoleIdSerializer
     filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','amount','date','account',)
+    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','role',)
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5862,13 +5265,13 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return Payment.select_by_user(self.request.user)
+        return SiteRole.select_by_user(self.request.user)
 
 
-class PaymentDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = Payment.objects.select_related().all()
-    serializer_class = PaymentSerializer
-    id_serializer_class = PaymentIdSerializer
+class SiteRoleDetail(XOSRetrieveUpdateDestroyAPIView):
+    queryset = SiteRole.objects.select_related().all()
+    serializer_class = SiteRoleSerializer
+    id_serializer_class = SiteRoleIdSerializer
 
     def get_serializer_class(self):
         no_hyperlinks=False
@@ -5882,7 +5285,7 @@
     def get_queryset(self):
         if (not self.request.user.is_authenticated()):
             raise XOSNotAuthenticated()
-        return Payment.select_by_user(self.request.user)
+        return SiteRole.select_by_user(self.request.user)
 
     # update() is handled by XOSRetrieveUpdateDestroyAPIView
 
@@ -6031,53 +5434,6 @@
 
 
 
-class AccountList(XOSListCreateAPIView):
-    queryset = Account.objects.select_related().all()
-    serializer_class = AccountSerializer
-    id_serializer_class = AccountIdSerializer
-    filter_backends = (filters.DjangoFilterBackend,)
-    filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_need_delete','backend_need_reap','backend_status','deleted','write_protect','lazy_blocked','no_sync','no_policy','site',)
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Account.select_by_user(self.request.user)
-
-
-class AccountDetail(XOSRetrieveUpdateDestroyAPIView):
-    queryset = Account.objects.select_related().all()
-    serializer_class = AccountSerializer
-    id_serializer_class = AccountIdSerializer
-
-    def get_serializer_class(self):
-        no_hyperlinks=False
-        if hasattr(self.request,"query_params"):
-            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):
-        if (not self.request.user.is_authenticated()):
-            raise XOSNotAuthenticated()
-        return Account.select_by_user(self.request.user)
-
-    # update() is handled by XOSRetrieveUpdateDestroyAPIView
-
-    # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
-
-
-
 class TenantRootList(XOSListCreateAPIView):
     queryset = TenantRoot.objects.select_related().all()
     serializer_class = TenantRootSerializer