resolve merge conflicts
diff --git a/xos/cord/models.py b/xos/cord/models.py
index 7653eb2..f94befc 100644
--- a/xos/cord/models.py
+++ b/xos/cord/models.py
@@ -599,7 +599,7 @@
return {}
addresses = {}
- for ns in self.instance.networkinstances.all():
+ for ns in self.sliver.ports.all():
if "lan" in ns.network.name.lower():
addresses["lan"] = ns.ip
elif "wan" in ns.network.name.lower():
diff --git a/xos/core/admin.py b/xos/core/admin.py
index f668ae0..2dae51b 100644
--- a/xos/core/admin.py
+++ b/xos/core/admin.py
@@ -1272,6 +1272,16 @@
user_readonly_fields = ['service', 'name', 'value', 'content_type', 'content_object',]
user_readonly_inlines = []
+class InstancePortInline(XOSTabularInline):
+ fields = ['backend_status_icon', 'network', 'instance', 'ip']
+ readonly_fields = ("backend_status_icon", "ip", )
+ model = Port
+ selflink_fieldname = "network"
+ extra = 0
+ verbose_name_plural = "Ports"
+ verbose_name = "Port"
+ suit_classes = 'suit-tab suit-tab-ports'
+
class InstanceAdmin(XOSBaseAdmin):
form = InstanceForm
fieldsets = [
@@ -1281,9 +1291,9 @@
list_display = ['backend_status_icon', 'all_ips_string', 'instance_id', 'instance_name', 'slice', 'flavor', 'image', 'node', 'deployment']
list_display_links = ('backend_status_icon', 'all_ips_string', 'instance_id', )
- suit_form_tabs =(('general', 'Instance Details'),)
+ suit_form_tabs =(('general', 'Instance Details'), ('ports', 'Ports'))
- inlines = [TagInline]
+ inlines = [TagInline, SliverPortInline]
user_readonly_fields = ['slice', 'deployment', 'node', 'ip', 'instance_name', 'flavor', 'image']
@@ -1690,15 +1700,15 @@
fields = ['backend_status_icon', 'parameter', 'value']
readonly_fields = ('backend_status_icon', )
-class NetworkInstancesInline(XOSTabularInline):
- fields = ['backend_status_icon', 'network', 'instance', 'ip', 'reserve']
+class NetworkPortInline(XOSTabularInline):
+ fields = ['backend_status_icon', 'network', 'instance', 'ip']
readonly_fields = ("backend_status_icon", "ip", )
- model = NetworkInstance
+ model = Port
selflink_fieldname = "instance"
extra = 0
- verbose_name_plural = "Instances"
- verbose_name = "Instance"
- suit_classes = 'suit-tab suit-tab-networkinstances'
+ verbose_name_plural = "Ports"
+ verbose_name = "Port"
+ suit_classes = 'suit-tab suit-tab-ports'
class NetworkSlicesInline(XOSTabularInline):
model = NetworkSlice
@@ -1731,8 +1741,7 @@
list_display = ("backend_status_icon", "name", "subnet", "ports", "labels")
list_display_links = ('backend_status_icon', 'name', )
readonly_fields = ("subnet", )
-
- inlines = [NetworkParameterInline, NetworkInstancesInline, NetworkSlicesInline, RouterInline]
+ inlines = [NetworkParameterInline, NetworkPortInline, NetworkSlicesInline, RouterInline]
admin_inlines = [ControllerNetworkInline]
form=NetworkForm
@@ -1757,7 +1766,7 @@
tabs=[('general','Network Details'),
('sdn', 'SDN Configuration'),
('netparams', 'Parameters'),
- ('networkinstances','Instances'),
+ ('ports','Ports'),
('networkslices','Slices'),
('routers','Routers'),
]
diff --git a/xos/core/models/__init__.py b/xos/core/models/__init__.py
index 77f503a..4a2051f 100644
--- a/xos/core/models/__init__.py
+++ b/xos/core/models/__init__.py
@@ -26,7 +26,7 @@
from .instance import Instance
from .reservation import ReservedResource
from .reservation import Reservation
-from .network import Network, NetworkParameterType, NetworkParameter, NetworkInstance, NetworkTemplate, Router, NetworkSlice, ControllerNetwork
+from .network import Network, NetworkParameterType, NetworkParameter, NetworkInstance, Port, NetworkTemplate, Router, NetworkSlice, ControllerNetwork
from .billing import Account, Invoice, Charge, UsableObject, Payment
from .program import Program
diff --git a/xos/core/models/instance.py b/xos/core/models/instance.py
index a248c60..eb38ff9 100644
--- a/xos/core/models/instance.py
+++ b/xos/core/models/instance.py
@@ -98,6 +98,11 @@
tags = generic.GenericRelation(Tag)
userData = models.TextField(blank=True, null=True, help_text="user_data passed to instance during creation")
+ # TODO: Remove when NetworkSliver->Port rename is complete
+ @property
+ def ports(self):
+ return self.networkslivers
+
def __unicode__(self):
if self.name and Slice.objects.filter(id=self.slice_id) and (self.name != self.slice.name):
# NOTE: The weird check on self.slice_id was due to a problem when
@@ -138,7 +143,7 @@
def all_ips(self):
ips={}
- for ns in self.networkinstances.all():
+ for ns in self.ports.all():
if ns.ip:
ips[ns.network.name] = ns.ip
return ips
@@ -153,7 +158,7 @@
all_ips_string.short_description = "addresses"
def get_public_ip(self):
- for ns in self.networkinstances.all():
+ for ns in self.ports.all():
if (ns.ip) and (ns.network.template.visibility=="public") and (ns.network.template.translation=="none"):
return ns.ip
return None
diff --git a/xos/core/models/network.py b/xos/core/models/network.py
index 6fce3cd..f7032b0 100644
--- a/xos/core/models/network.py
+++ b/xos/core/models/network.py
@@ -123,6 +123,11 @@
def __unicode__(self): return u'%s' % (self.name)
+ # TODO: Remove when NetworkSliver->Port rename is complete
+ @property
+ def links(self):
+ return self.networkslivers
+
def save(self, *args, **kwds):
if (not self.subnet) and (NO_OBSERVER):
from util.network_subnet_allocator import find_unused_subnet
@@ -207,11 +212,13 @@
return qs
class NetworkInstance(PlCoreBase):
+ # Please use "Port" instead of "NetworkSliver". NetworkSliver will soon be
+ # removed.
+
network = models.ForeignKey(Network,related_name='networkinstances')
instance = models.ForeignKey(Instance, null=True, blank=True, related_name='networkinstances')
ip = models.GenericIPAddressField(help_text="Instance ip address", blank=True, null=True)
port_id = models.CharField(null=True, blank=True, max_length=256, help_text="Quantum port id")
- reserve = models.BooleanField(default=False, help_text="Reserve this port for future use")
class Meta:
unique_together = ('network', 'instance')
@@ -226,9 +233,6 @@
# 3) network's permitAllSlices is true
raise ValueError("Slice %s is not allowed to connect to network %s" % (str(slice), str(self.network)))
- if (not self.instance) and (not self.reserve):
- raise ValueError("If NetworkInstance.instance is false, then NetworkInstance.reserved must be set to True")
-
if (not self.ip) and (NO_OBSERVER):
from util.network_subnet_allocator import find_unused_address
self.ip = find_unused_address(self.network.subnet,
@@ -239,7 +243,7 @@
if self.instance:
return u'%s-%s' % (self.network.name, self.instance.instance_name)
else:
- return u'%s-reserved-%s' % (self.network.name, self.id)
+ return u'%s-unboundport-%s' % (self.network.name, self.id)
def can_update(self, user):
if self.instance:
@@ -257,6 +261,11 @@
qs = NetworkInstance.objects.filter(id__in=instance_ids)
return qs
+class Port(NetworkInstance):
+ # Rename in progress: NetworkSliver->Port
+ class Meta:
+ proxy = True
+
class Router(PlCoreBase):
name = models.CharField(max_length=32)
owner = models.ForeignKey(Slice, related_name="routers")
diff --git a/xos/core/views/legacyapi.py b/xos/core/views/legacyapi.py
index 040b8df..4657116 100644
--- a/xos/core/views/legacyapi.py
+++ b/xos/core/views/legacyapi.py
@@ -160,43 +160,43 @@
# If the slice has a network that's labeled for hpc_client, then
# return that network.
found_labeled_network = False
- for networkInstance in ps_instance.networkinstances.all():
- if (not networkInstance.ip):
+ for port in ps_instance.ports.all():
+ if (not port.ip):
continue
- if (networkInstance.network.owner != ps_slice):
+ if (port.network.owner != ps_slice):
continue
- if networkInstance.network.labels and ("hpc_client" in networkInstance.network.labels):
- ip=networkInstance.ip
+ if port.network.labels and ("hpc_client" in port.network.labels):
+ ip=port.ip
found_labeled_network = True
if not found_labeled_network:
# search for a dedicated public IP address
- for networkInstance in ps_instance.networkinstances.all():
- if (not networkInstance.ip):
+ for port in ps_instance.ports.all():
+ if (not port.ip):
continue
- template = networkInstance.network.template
+ template = port.network.template
if (template.visibility=="public") and (template.translation=="none"):
- ip=networkInstance.ip
+ ip=port.ip
if return_nat:
ip = None
- for networkInstance in ps_instance.networkinstances.all():
- if (not networkInstance.ip):
+ for port in ps_instance.ports.all():
+ if (not port.ip):
continue
- template = networkInstance.network.template
+ template = port.network.template
if (template.visibility=="private") and (template.translation=="NAT"):
- ip=networkInstance.ip
+ ip=port.ip
if not ip:
continue
if return_private:
ip = None
- for networkInstance in ps_instance.networkinstances.all():
- if (not networkInstance.ip):
+ for port in ps_instance.ports.all():
+ if (not port.ip):
continue
- template = networkInstance.network.template
+ template = port.network.template
if (template.visibility=="private") and (template.translation=="none"):
- ip=networkInstance.ip
+ ip=port.ip
if not ip:
continue
diff --git a/xos/core/xoslib/static/js/test.js b/xos/core/xoslib/static/js/test.js
index f657fa3..d5d0a46 100644
--- a/xos/core/xoslib/static/js/test.js
+++ b/xos/core/xoslib/static/js/test.js
@@ -35,7 +35,7 @@
};
TestApp.on("start", function() {
- var objs = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
+ var objs = ['deployment', 'image', 'networkTemplate', 'network', 'port', 'networkDeployment', 'node', 'service', 'site', 'slice', 'sliceDeployment', 'slicePrivilege', 'sliver', 'user', 'sliceRole', 'userDeployment'];
for (var index in objs) {
name = objs[index];
diff --git a/xos/core/xoslib/static/js/xosAdminSite.js b/xos/core/xoslib/static/js/xosAdminSite.js
index 218c76a..bb0bed7 100644
--- a/xos/core/xoslib/static/js/xosAdminSite.js
+++ b/xos/core/xoslib/static/js/xosAdminSite.js
@@ -1,4 +1,4 @@
-OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'networkSliver',
+OBJS = ['deployment', 'image', 'networkTemplate', 'network', 'port',
'node', 'service', 'site', 'slice', 'slicePrivilege', 'sliver',
'user', 'sliceRole', 'flavor', 'controller', 'siteDeployment',
'controller_image', 'controller_network', 'controller_slice', 'controller_user'];
diff --git a/xos/core/xoslib/static/js/xoslib/xos-backbone.js b/xos/core/xoslib/static/js/xoslib/xos-backbone.js
index 0fc1e97..c85ff18 100644
--- a/xos/core/xoslib/static/js/xoslib/xos-backbone.js
+++ b/xos/core/xoslib/static/js/xoslib/xos-backbone.js
@@ -16,7 +16,7 @@
IMAGEDEPLOYMENTS_API = XOS_BASE+"/imagedeployments/";
NETWORKTEMPLATE_API = XOS_BASE+"/networktemplates/";
NETWORK_API = XOS_BASE+"/networks/";
- NETWORKSLIVER_API = XOS_BASE+"/networkslivers/";
+ PORT_API = XOS_BASE+"/ports/";
SERVICE_API = XOS_BASE+"/services/";
SLICEPRIVILEGE_API = XOS_BASE+"/slice_privileges/";
NETWORKDEPLOYMENT_API = XOS_BASE+"/networkdeployments/";
@@ -474,7 +474,7 @@
*/
define_model(this, {urlRoot: SLIVER_API,
- relatedCollections: {"networkSlivers": "sliver"},
+ relatedCollections: {"ports": "sliver"},
foreignCollections: ["slices", "deployments", "images", "nodes", "users", "flavors"],
foreignFields: {"creator": "users", "image": "images", "node": "nodes", "deployment": "deployments", "slice": "slices", "flavor": "flavors"},
modelName: "sliver",
@@ -579,7 +579,7 @@
});
define_model(this, {urlRoot: NETWORK_API,
- relatedCollections: {"networkSlivers": "network", "controller_networks": "network"},
+ relatedCollections: {"ports": "network", "controller_networks": "network"},
foreignCollections: ["slices", "networkTemplates"],
modelName: "network",
foreignFields: {"template": "networkTemplates", "owner": "slices"},
@@ -587,8 +587,8 @@
detailFields: ["backend_status", "backend_register", "name", "template", "ports", "labels", "owner"],
});
- define_model(this, {urlRoot: NETWORKSLIVER_API,
- modelName: "networkSliver",
+ define_model(this, {urlRoot: PORT_API,
+ modelName: "port",
foreignFields: {"network": "networks", "sliver": "slivers"},
listFields: ["backend_status", "id", "network", "sliver", "ip", "port_id"],
detailFields: ["backend_status", "backend_register", "network", "sliver", "ip", "port_id"],
diff --git a/xos/core/xoslib/static/js/xoslib/xos-defaults.js b/xos/core/xoslib/static/js/xoslib/xos-defaults.js
index 8ff6455..a2c60cc 100644
--- a/xos/core/xoslib/static/js/xoslib/xos-defaults.js
+++ b/xos/core/xoslib/static/js/xoslib/xos-defaults.js
@@ -1,56 +1,66 @@
function xos_get_defaults() {
- this.account = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "backend_register": "{}", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.charge = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "object": null, "account": null, "backend_register": "{}", "date": null, "amount": 0.0, "state": "pending", "invoice": null, "coreHours": 0.0, "backend_status": "0 - Provisioning in progress", "kind": "besteffort", "enacted": null};
- this.controller = {"updated": null, "backend_type": "", "policed": null, "created": null, "deleted": false, "domain": null, "backend_register": "{}", "admin_user": null, "auth_url": null, "admin_password": null, "version": "", "deployment": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "admin_tenant": null, "name": ""};
- this.controllerDashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "enabled": true, "dashboardView": null, "backend_register": "{}", "url": "", "controller": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.controllerImages = {"updated": null, "policed": null, "created": null, "deleted": false, "image": null, "backend_register": "{}", "controller": null, "backend_status": "0 - Provisioning in progress", "glance_image_id": null, "enacted": null};
- this.controllerNetwork = {"router_id": null, "subnet": "", "updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "subnet_id": null, "controller": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "net_id": null, "network": null};
- this.controllerRole = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": "", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.controllerSite = {"updated": null, "policed": null, "created": null, "deleted": false, "tenant_id": null, "site": null, "backend_register": "{}", "controller": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.controllerSitePrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "site_privilege": null, "role_id": null, "backend_register": "{}", "controller": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.controllerSlice = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "tenant_id": null, "backend_register": "{}", "controller": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.controllerSlicePrivilege = {"updated": null, "slice_privilege": null, "created": null, "deleted": false, "role_id": null, "backend_register": "{}", "controller": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "policed": null};
- this.controllerUser = {"updated": null, "policed": null, "created": null, "deleted": false, "controller": null, "backend_register": "{}", "kuser_id": null, "user": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.dashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "enabled": true, "backend_register": "{}", "url": "", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.deployment = {"accessControl": "allow all", "updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.deploymentPrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": null, "user": null, "deployment": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.deploymentRole = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": "", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.flavor = {"updated": null, "description": null, "created": null, "deleted": false, "enacted": null, "name": "", "backend_register": "{}", "default": false, "flavor": "", "backend_status": "0 - Provisioning in progress", "order": 0, "policed": null};
- this.image = {"updated": null, "policed": null, "created": null, "deleted": false, "container_format": "", "disk_format": "", "backend_register": "{}", "path": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.imageDeployments = {"updated": null, "policed": null, "created": null, "deleted": false, "image": null, "backend_register": "{}", "deployment": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.invoice = {"updated": null, "policed": null, "created": null, "deleted": false, "account": null, "backend_register": "{}", "date": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.network = {"permit_all_slices": false, "subnet": "", "updated": null, "controller_url": null, "policed": null, "created": null, "subnet_id": null, "network_id": null, "labels": null, "owner": null, "template": null, "backend_register": "{}", "deleted": false, "router_id": null, "controller_parameters": null, "guaranteed_bandwidth": 0, "topology_parameters": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "ports": null, "name": ""};
- this.networkParameter = {"updated": null, "policed": null, "created": null, "deleted": false, "value": "", "backend_register": "{}", "object_id": null, "content_type": null, "backend_status": "0 - Provisioning in progress", "parameter": null, "enacted": null};
- this.networkParameterType = {"updated": null, "description": "", "created": null, "deleted": false, "name": "", "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "policed": null};
- this.networkSlice = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "network": null};
- this.networkSliver = {"updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "ip": null, "backend_register": "{}", "enacted": null, "sliver": null, "port_id": null, "network": null};
- this.networkTemplate = {"updated": null, "description": null, "created": null, "deleted": false, "enacted": null, "visibility": "private", "name": "", "backend_register": "{}", "shared_network_name": null, "topology_kind": "bigswitch", "guaranteed_bandwidth": 0, "translation": "none", "backend_status": "0 - Provisioning in progress", "shared_network_id": null, "controller_kind": null, "policed": null};
- this.node = {"updated": null, "name": "", "created": null, "deleted": false, "site": null, "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "site_deployment": null, "policed": null};
- this.payment = {"updated": null, "policed": null, "created": null, "deleted": false, "account": null, "backend_register": "{}", "amount": 0.0, "date": "2015-02-19T00:56:40.812Z", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.project = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.reservation = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "startTime": null, "duration": 1, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.reservedResource = {"updated": null, "resource": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "reservationSet": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "quantity": 1, "sliver": null};
- this.role = {"updated": null, "description": "", "created": null, "deleted": false, "backend_register": "{}", "role": null, "content_type": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "role_type": "", "policed": null};
- this.router = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "owner": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.service = {"updated": null, "description": null, "created": null, "deleted": false, "enabled": true, "name": "", "backend_register": "{}", "versionNumber": "", "published": true, "enacted": null, "backend_status": "0 - Provisioning in progress", "policed": null};
- this.serviceAttribute = {"updated": null, "policed": null, "service": null, "created": null, "deleted": false, "value": "", "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.serviceClass = {"updated": null, "membershipFee": 0, "membershipFeeMonths": 12, "created": null, "deleted": false, "description": "", "commitment": 365, "name": "", "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "upgradeRequiresApproval": false, "policed": null};
- this.serviceResource = {"updated": null, "policed": null, "bucketMaxSize": 0, "created": null, "deleted": false, "name": "", "serviceClass": null, "maxUnitsDeployment": 1, "maxDuration": 1, "backend_register": "{}", "maxUnitsNode": 1, "cost": 0, "enacted": null, "backend_status": "0 - Provisioning in progress", "bucketInRate": 0, "calendarReservable": true};
- this.site = {"updated": null, "policed": null, "created": null, "deleted": false, "enabled": true, "longitude": null, "site_url": null, "backend_register": "{}", "login_base": "", "location": "0,0", "latitude": null, "is_public": true, "enacted": null, "backend_status": "0 - Provisioning in progress", "abbreviated_name": "", "name": ""};
- this.siteCredential = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "name": "", "backend_register": "{}", "key_id": "", "enacted": null, "backend_status": "0 - Provisioning in progress", "enc_value": ""};
- this.siteDeployment = {"updated": null, "policed": null, "availability_zone": null, "deleted": false, "created": null, "site": null, "backend_register": "{}", "controller": null, "deployment": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.sitePrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "backend_register": "{}", "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.siteRole = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": "", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.slice = {"default_flavor": null, "backend_register": "{}", "updated": null, "policed": null, "service": null, "created": null, "deleted": false, "slice_url": "", "serviceClass": 1, "enabled": true, "site": null, "name": "", "omf_friendly": false, "network": "Private Only", "default_image": null, "mount_data_sets": "GenBank", "max_slivers": 10, "enacted": null, "backend_status": "0 - Provisioning in progress", "creator": null, "description": ""};
- this.sliceCredential = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "name": "", "backend_register": "{}", "key_id": "", "enacted": null, "backend_status": "0 - Provisioning in progress", "enc_value": ""};
- this.slicePrivilege = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.sliceRole = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "role": "", "backend_status": "0 - Provisioning in progress", "enacted": null};
- this.sliceTag = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "value": "", "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.sliver = {"instance_uuid": null, "node": null, "updated": null, "slice": null, "policed": null, "backend_register": "{}", "created": null, "deleted": false, "ip": null, "image": null, "creator": null, "numberCores": 0, "instance_id": null, "enacted": null, "deployment": null, "userData": null, "backend_status": "0 - Provisioning in progress", "instance_name": null, "flavor": 3, "name": ""};
- this.tag = {"updated": null, "policed": null, "service": null, "created": null, "deleted": false, "value": "", "backend_register": "{}", "object_id": null, "content_type": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.usableObject = {"updated": null, "policed": null, "created": null, "deleted": false, "backend_register": "{}", "enacted": null, "backend_status": "0 - Provisioning in progress", "name": ""};
- this.user = {"policed": null, "site": null, "is_staff": true, "timezone": "America/New_York", "backend_status": "Provisioning in progress", "is_registering": false, "last_login": "2015-02-19T00:56:40.844Z", "email": "", "username": "Something", "updated": null, "firstname": "", "user_url": null, "deleted": false, "lastname": "", "is_active": true, "phone": null, "is_admin": false, "password": "", "enacted": null, "public_key": null, "is_readonly": false, "created": null};
- this.userCredential = {"updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "backend_register": "{}", "user": null, "key_id": "", "enacted": null, "enc_value": "", "name": ""};
- this.userDashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "dashboardView": null, "backend_register": "{}", "user": null, "backend_status": "0 - Provisioning in progress", "order": 0, "enacted": null};
+ this.account = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.charge = {"updated": null, "slice": null, "date": null, "policed": null, "created": null, "deleted": false, "object": null, "account": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "amount": 0.0, "state": "pending", "invoice": null, "coreHours": 0.0, "backend_status": "0 - Provisioning in progress", "kind": "besteffort", "no_sync": false, "enacted": null};
+ this.coarseTenant = {"subscriber_service": null, "connect_method": "na", "updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "service_specific_attribute": null, "kind": "coarse", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "service_specific_id": null, "subscriber_tenant": null, "subscriber_root": null, "subscriber_user": null, "no_sync": false, "provider_service": null};
+ this.controller = {"updated": null, "backend_type": "", "policed": null, "admin_user": null, "created": null, "deleted": false, "domain": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "version": "", "auth_url": null, "admin_password": null, "deployment": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "admin_tenant": null, "no_sync": false, "name": ""};
+ this.controllerDashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "enabled": true, "dashboardView": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "controller": null, "url": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.controllerImages = {"updated": null, "policed": null, "created": null, "deleted": false, "image": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "controller": null, "backend_status": "0 - Provisioning in progress", "glance_image_id": null, "no_sync": false, "enacted": null};
+ this.controllerNetwork = {"router_id": null, "subnet": "", "updated": null, "policed": null, "created": null, "deleted": false, "net_id": null, "lazy_blocked": false, "backend_register": "{}", "subnet_id": null, "controller": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "write_protect": false, "no_sync": false, "network": null};
+ this.controllerRole = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.controllerSite = {"updated": null, "policed": null, "created": null, "deleted": false, "tenant_id": null, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "controller": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.controllerSitePrivilege = {"updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "site_privilege": null, "role_id": null, "backend_register": "{}", "write_protect": false, "controller": null, "lazy_blocked": false, "no_sync": false, "enacted": null};
+ this.controllerSlice = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "tenant_id": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "controller": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.controllerSlicePrivilege = {"updated": null, "backend_status": "0 - Provisioning in progress", "slice_privilege": null, "created": null, "deleted": false, "role_id": null, "backend_register": "{}", "write_protect": false, "controller": null, "enacted": null, "lazy_blocked": false, "no_sync": false, "policed": null};
+ this.controllerUser = {"updated": null, "policed": null, "created": null, "deleted": false, "controller": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "kuser_id": null, "user": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.dashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "enabled": true, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "url": "", "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.deployment = {"accessControl": "allow all", "updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.deploymentPrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "user": null, "deployment": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.deploymentRole = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.flavor = {"updated": null, "policed": null, "created": null, "default": false, "description": null, "enacted": null, "lazy_blocked": false, "backend_register": "{}", "deleted": false, "flavor": "", "backend_status": "0 - Provisioning in progress", "order": 0, "write_protect": false, "no_sync": false, "name": ""};
+ this.image = {"updated": null, "policed": null, "created": null, "deleted": false, "container_format": "", "disk_format": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "path": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.imageDeployments = {"updated": null, "policed": null, "created": null, "deleted": false, "image": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "deployment": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.invoice = {"updated": null, "policed": null, "created": null, "deleted": false, "account": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "date": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.network = {"permit_all_slices": false, "policed": null, "labels": null, "backend_register": "{}", "owner": null, "backend_status": "0 - Provisioning in progress", "subnet": "", "subnet_id": null, "controller_parameters": null, "no_sync": false, "router_id": null, "updated": null, "controller_url": null, "template": null, "deleted": false, "lazy_blocked": false, "guaranteed_bandwidth": 0, "enacted": null, "autoconnect": true, "name": "", "created": null, "network_id": null, "write_protect": false, "topology_parameters": null, "ports": null};
+ this.networkParameter = {"updated": null, "policed": null, "created": null, "deleted": false, "value": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "object_id": null, "content_type": null, "backend_status": "0 - Provisioning in progress", "parameter": null, "no_sync": false, "enacted": null};
+ this.networkParameterType = {"updated": null, "backend_status": "0 - Provisioning in progress", "description": "", "created": null, "deleted": false, "name": "", "backend_register": "{}", "write_protect": false, "enacted": null, "lazy_blocked": false, "no_sync": false, "policed": null};
+ this.networkSlice = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "network": null};
+ this.networkSliver = {"updated": null, "policed": null, "created": null, "deleted": false, "ip": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "no_sync": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "port_id": null, "network": null, "sliver": null};
+ this.networkTemplate = {"updated": null, "shared_network_name": null, "name": "", "created": null, "deleted": false, "description": null, "enacted": null, "visibility": "private", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "no_sync": false, "topology_kind": "bigswitch", "guaranteed_bandwidth": 0, "translation": "none", "backend_status": "0 - Provisioning in progress", "shared_network_id": null, "controller_kind": null, "policed": null};
+ this.node = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "no_sync": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "site_deployment": null, "name": ""};
+ this.payment = {"updated": null, "policed": null, "created": null, "deleted": false, "account": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "amount": 0.0, "date": "2015-08-28T18:02:48.736Z", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.port = {"updated": null, "policed": null, "created": null, "deleted": false, "ip": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "no_sync": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "port_id": null, "network": null, "sliver": null};
+ this.program = {"status": null, "updated": null, "policed": null, "created": null, "deleted": false, "description": null, "messages": null, "kind": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "command": null, "no_sync": false, "owner": null, "output": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "contents": null, "name": ""};
+ this.project = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.provider = {"updated": null, "policed": null, "created": null, "deleted": false, "service_specific_attribute": null, "kind": "Provider", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "service_specific_id": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": null};
+ this.reservation = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "startTime": null, "duration": 1, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.reservedResource = {"updated": null, "backend_status": "0 - Provisioning in progress", "resource": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "reservationSet": null, "enacted": null, "sliver": null, "no_sync": false, "quantity": 1};
+ this.role = {"updated": null, "description": "", "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "no_sync": false, "content_type": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "role_type": "", "policed": null};
+ this.router = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "owner": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.service = {"public_key": null, "updated": null, "policed": null, "created": null, "deleted": false, "view_url": null, "description": null, "service_specific_attribute": null, "enabled": true, "kind": "generic", "published": true, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "versionNumber": "", "service_specific_id": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "icon_url": null, "no_sync": false, "name": ""};
+ this.serviceAttribute = {"updated": null, "policed": null, "service": null, "created": null, "deleted": false, "value": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.serviceClass = {"backend_register": "{}", "updated": null, "name": "", "membershipFeeMonths": 12, "created": null, "deleted": false, "description": "", "commitment": 365, "lazy_blocked": false, "policed": null, "write_protect": false, "no_sync": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "upgradeRequiresApproval": false, "membershipFee": 0};
+ this.servicePrivilege = {"updated": null, "policed": null, "service": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.serviceResource = {"updated": null, "backend_status": "0 - Provisioning in progress", "name": "", "bucketMaxSize": 0, "created": null, "deleted": false, "maxUnitsNode": 1, "serviceClass": null, "maxUnitsDeployment": 1, "calendarReservable": true, "maxDuration": 1, "backend_register": "{}", "write_protect": false, "cost": 0, "enacted": null, "lazy_blocked": false, "bucketInRate": 0, "no_sync": false, "policed": null};
+ this.site = {"updated": null, "backend_status": "0 - Provisioning in progress", "hosts_users": true, "name": "", "created": null, "deleted": false, "enabled": true, "enacted": null, "longitude": null, "site_url": null, "backend_register": "{}", "write_protect": false, "login_base": "", "location": null, "hosts_nodes": true, "is_public": true, "latitude": null, "lazy_blocked": false, "abbreviated_name": "", "no_sync": false, "policed": null};
+ this.siteCredential = {"updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "key_id": "", "enacted": null, "enc_value": "", "no_sync": false, "name": ""};
+ this.siteDeployment = {"updated": null, "policed": null, "availability_zone": null, "deleted": false, "created": null, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "controller": null, "deployment": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.sitePrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "site": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.siteRole = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.slice = {"policed": null, "creator": null, "site": null, "backend_register": "{}", "backend_status": "0 - Provisioning in progress", "network": "Private Only", "service": null, "no_sync": false, "default_flavor": null, "updated": null, "description": "", "deleted": false, "slice_url": "", "serviceClass": 1, "lazy_blocked": false, "omf_friendly": false, "mount_data_sets": "GenBank", "max_slivers": 10, "enacted": null, "name": "", "created": null, "write_protect": false, "enabled": true, "default_image": null};
+ this.sliceCredential = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "key_id": "", "enacted": null, "enc_value": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.slicePrivilege = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.sliceRole = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.sliceTag = {"updated": null, "slice": null, "policed": null, "created": null, "deleted": false, "value": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.sliver = {"policed": null, "creator": null, "ip": null, "image": null, "backend_register": "{}", "flavor": 3, "backend_status": "0 - Provisioning in progress", "instance_id": null, "slice": null, "no_sync": false, "node": null, "userData": null, "updated": null, "deleted": false, "lazy_blocked": false, "deployment": null, "enacted": null, "instance_uuid": null, "numberCores": 0, "name": "", "created": null, "write_protect": false, "instance_name": null};
+ this.subscriber = {"updated": null, "policed": null, "created": null, "deleted": false, "service_specific_attribute": null, "kind": "Subscriber", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "service_specific_id": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": null};
+ this.tag = {"updated": null, "name": "", "service": null, "created": null, "deleted": false, "value": "", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "object_id": null, "content_type": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "policed": null};
+ this.tenant = {"subscriber_service": null, "connect_method": "na", "updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "service_specific_attribute": null, "kind": "generic", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "service_specific_id": null, "subscriber_tenant": null, "subscriber_root": null, "subscriber_user": null, "no_sync": false, "provider_service": null};
+ this.tenantRoot = {"updated": null, "policed": null, "created": null, "deleted": false, "service_specific_attribute": null, "kind": "generic", "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "service_specific_id": null, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": null};
+ this.tenantRootPrivilege = {"updated": null, "policed": null, "created": null, "deleted": false, "tenant_root": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": null, "user": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.tenantRootRole = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "role": "", "backend_status": "0 - Provisioning in progress", "no_sync": false, "enacted": null};
+ this.usableObject = {"updated": null, "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "enacted": null, "backend_status": "0 - Provisioning in progress", "no_sync": false, "name": ""};
+ this.user = {"policed": null, "site": null, "is_appuser": false, "is_staff": true, "timezone": "America/New_York", "backend_status": "Provisioning in progress", "is_registering": false, "last_login": "2015-08-28T18:02:48.780Z", "email": "", "username": "Something", "updated": null, "login_page": null, "firstname": "", "user_url": null, "deleted": false, "lastname": "", "is_active": true, "phone": null, "is_admin": false, "password": "", "enacted": null, "public_key": null, "is_readonly": false, "created": null, "write_protect": false};
+ this.userCredential = {"updated": null, "backend_status": "0 - Provisioning in progress", "policed": null, "created": null, "deleted": false, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "user": null, "key_id": "", "enacted": null, "enc_value": "", "no_sync": false, "name": ""};
+ this.userDashboardView = {"updated": null, "policed": null, "created": null, "deleted": false, "dashboardView": null, "lazy_blocked": false, "backend_register": "{}", "write_protect": false, "user": null, "backend_status": "0 - Provisioning in progress", "order": 0, "no_sync": false, "enacted": null};
};
xosdefaults = new xos_get_defaults();
diff --git a/xos/core/xoslib/static/js/xoslib/xos-validators.js b/xos/core/xoslib/static/js/xoslib/xos-validators.js
index a4935b8..03a3d7b 100644
--- a/xos/core/xoslib/static/js/xoslib/xos-validators.js
+++ b/xos/core/xoslib/static/js/xoslib/xos-validators.js
@@ -1,56 +1,67 @@
+
function xos_get_validators() {
- this.account = {"updated": [], "policed": [], "created": [], "deleted": [], "site": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.charge = {"updated": [], "slice": [], "policed": [], "created": [], "deleted": [], "amount": ["notBlank"], "object": ["notBlank"], "account": ["notBlank"], "kind": ["notBlank"], "backend_register": ["notBlank"], "state": ["notBlank"], "coreHours": ["notBlank"], "invoice": [], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controller = {"updated": [], "backend_type": ["notBlank"], "policed": [], "admin_user": [], "created": [], "deleted": [], "domain": [], "name": ["notBlank"], "backend_register": ["notBlank"], "version": ["notBlank"], "auth_url": [], "admin_password": [], "deployment": ["notBlank"], "backend_status": ["notBlank"], "admin_tenant": [], "id": [], "enacted": []};
- this.controllerDashboardView = {"updated": [], "policed": [], "created": [], "deleted": [], "enabled": [], "dashboardView": ["notBlank"], "backend_register": ["notBlank"], "url": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerImages = {"updated": [], "policed": [], "created": [], "deleted": [], "image": ["notBlank"], "glance_image_id": [], "backend_register": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerNetwork = {"router_id": [], "subnet": [], "updated": [], "policed": [], "created": [], "deleted": [], "subnet_id": [], "net_id": [], "backend_register": ["notBlank"], "network": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerRole = {"updated": [], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerSite = {"updated": [], "policed": [], "created": [], "deleted": [], "tenant_id": [], "site": ["notBlank"], "backend_register": ["notBlank"], "controller": [], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerSitePrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "site_privilege": ["notBlank"], "role_id": [], "backend_register": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerSlice = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "tenant_id": [], "backend_register": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerSlicePrivilege = {"updated": [], "slice_privilege": ["notBlank"], "policed": [], "created": [], "deleted": [], "role_id": [], "backend_register": ["notBlank"], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.controllerUser = {"updated": [], "policed": [], "created": [], "deleted": [], "kuser_id": [], "backend_register": ["notBlank"], "controller": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.dashboardView = {"updated": [], "policed": [], "created": [], "deleted": [], "enabled": [], "name": ["notBlank"], "backend_register": ["notBlank"], "url": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.deployment = {"accessControl": ["notBlank"], "updated": [], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.deploymentPrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "user": ["notBlank"], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.deploymentRole = {"updated": [], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.flavor = {"updated": [], "policed": [], "created": [], "deleted": [], "description": [], "name": ["notBlank"], "backend_register": ["notBlank"], "default": [], "flavor": ["notBlank"], "backend_status": ["notBlank"], "order": ["notBlank"], "id": [], "enacted": []};
- this.image = {"updated": [], "policed": [], "created": [], "deleted": [], "container_format": ["notBlank"], "disk_format": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "path": [], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.imageDeployments = {"updated": [], "policed": [], "created": [], "deleted": [], "image": ["notBlank"], "backend_register": ["notBlank"], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.invoice = {"updated": [], "policed": [], "created": [], "deleted": [], "account": ["notBlank"], "backend_register": ["notBlank"], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.network = {"router_id": [], "policed": [], "labels": [], "backend_register": ["notBlank"], "owner": ["notBlank"], "backend_status": ["notBlank"], "id": [], "subnet": [], "subnet_id": [], "controller_parameters": [], "permit_all_slices": [], "updated": [], "controller_url": [], "template": ["notBlank"], "deleted": [], "guaranteed_bandwidth": ["notBlank"], "enacted": [], "name": ["notBlank"], "created": [], "network_id": [], "topology_parameters": [], "ports": []};
- this.networkParameter = {"updated": [], "policed": [], "created": [], "deleted": [], "value": ["notBlank"], "backend_register": ["notBlank"], "object_id": ["notBlank"], "content_type": ["notBlank"], "backend_status": ["notBlank"], "parameter": ["notBlank"], "id": [], "enacted": []};
- this.networkParameterType = {"updated": [], "policed": [], "created": [], "deleted": [], "description": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.networkSlice = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "network": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.networkSliver = {"updated": [], "policed": [], "created": [], "deleted": [], "ip": [], "backend_register": ["notBlank"], "network": ["notBlank"], "sliver": ["notBlank"], "backend_status": ["notBlank"], "port_id": [], "id": [], "enacted": []};
- this.networkTemplate = {"shared_network_id": [], "updated": [], "policed": [], "created": [], "deleted": [], "description": [], "visibility": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "shared_network_name": [], "topology_kind": ["notBlank"], "guaranteed_bandwidth": ["notBlank"], "translation": ["notBlank"], "backend_status": ["notBlank"], "id": [], "controller_kind": [], "enacted": []};
- this.node = {"updated": [], "policed": [], "created": [], "deleted": [], "site": [], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "site_deployment": ["notBlank"], "enacted": []};
- this.payment = {"updated": [], "policed": [], "created": [], "deleted": [], "account": ["notBlank"], "backend_register": ["notBlank"], "amount": ["notBlank"], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.project = {"updated": [], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.reservation = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "startTime": ["notBlank"], "duration": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.reservedResource = {"updated": [], "resource": ["notBlank"], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "sliver": ["notBlank"], "reservationSet": ["notBlank"], "backend_status": ["notBlank"], "id": [], "quantity": ["notBlank"], "enacted": []};
- this.role = {"updated": [], "policed": [], "created": [], "deleted": [], "description": ["notBlank"], "backend_register": ["notBlank"], "role": [], "content_type": ["notBlank"], "backend_status": ["notBlank"], "id": [], "role_type": ["notBlank"], "enacted": []};
- this.router = {"updated": [], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "owner": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.service = {"updated": [], "policed": [], "created": [], "deleted": [], "description": [], "enabled": [], "name": ["notBlank"], "backend_register": ["notBlank"], "versionNumber": ["notBlank"], "published": [], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.serviceAttribute = {"updated": [], "policed": [], "service": ["notBlank"], "created": [], "deleted": [], "value": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.serviceClass = {"updated": [], "membershipFee": ["notBlank"], "policed": [], "membershipFeeMonths": ["notBlank"], "created": [], "deleted": [], "description": ["notBlank"], "commitment": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "upgradeRequiresApproval": [], "enacted": []};
- this.serviceResource = {"updated": [], "bucketInRate": ["notBlank"], "policed": [], "bucketMaxSize": ["notBlank"], "created": [], "deleted": [], "serviceClass": ["notBlank"], "maxUnitsDeployment": ["notBlank"], "maxDuration": ["notBlank"], "calendarReservable": [], "name": ["notBlank"], "backend_register": ["notBlank"], "maxUnitsNode": ["notBlank"], "cost": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.site = {"abbreviated_name": ["notBlank"], "updated": [], "policed": [], "created": [], "deleted": [], "site_url": ["url"], "enabled": [], "longitude": [], "name": ["notBlank"], "backend_register": ["notBlank"], "login_base": ["notBlank"], "location": ["notBlank"], "latitude": [], "is_public": [], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.siteCredential = {"updated": [], "enc_value": ["notBlank"], "policed": [], "created": [], "deleted": [], "site": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.siteDeployment = {"updated": [], "policed": [], "created": [], "deleted": [], "availability_zone": [], "site": ["notBlank"], "backend_register": ["notBlank"], "controller": [], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.sitePrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "site": ["notBlank"], "backend_register": ["notBlank"], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.siteRole = {"updated": [], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.slice = {"policed": [], "creator": [], "site": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "network": [], "service": [], "default_flavor": [], "updated": [], "description": [], "deleted": [], "slice_url": ["url"], "serviceClass": ["notBlank"], "omf_friendly": [], "mount_data_sets": [], "max_slivers": ["notBlank"], "enacted": [], "name": ["notBlank"], "created": [], "enabled": [], "default_image": []};
- this.sliceCredential = {"updated": [], "slice": ["notBlank"], "enc_value": ["notBlank"], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.slicePrivilege = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.sliceRole = {"updated": [], "policed": [], "created": [], "deleted": [], "backend_register": ["notBlank"], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.sliceTag = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "value": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.sliver = {"instance_uuid": [], "instance_id": [], "updated": [], "slice": ["notBlank"], "node": ["notBlank"], "policed": [], "created": [], "deleted": [], "ip": [], "image": ["notBlank"], "creator": [], "numberCores": ["notBlank"], "userData": [], "name": ["notBlank"], "backend_register": ["notBlank"], "deployment": ["notBlank"], "flavor": ["notBlank"], "backend_status": ["notBlank"], "instance_name": [], "id": [], "enacted": []};
- this.tag = {"updated": [], "policed": [], "service": ["notBlank"], "created": [], "deleted": [], "value": ["notBlank"], "name": ["notBlank"], "backend_register": ["notBlank"], "object_id": ["notBlank"], "content_type": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.usableObject = {"updated": [], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.user = {"policed": ["notBlank"], "site": ["notBlank"], "is_staff": [], "timezone": ["notBlank"], "backend_status": ["notBlank"], "id": [], "is_registering": [], "last_login": ["notBlank"], "email": ["notBlank"], "username": ["notBlank"], "updated": [], "firstname": ["notBlank"], "user_url": ["url"], "deleted": [], "lastname": ["notBlank"], "is_active": [], "phone": [], "is_admin": [], "password": ["notBlank"], "enacted": ["notBlank"], "public_key": [], "is_readonly": [], "created": []};
- this.userCredential = {"updated": [], "enc_value": ["notBlank"], "policed": [], "created": [], "deleted": [], "name": ["notBlank"], "backend_register": ["notBlank"], "user": ["notBlank"], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
- this.userDashboardView = {"updated": [], "policed": [], "created": [], "deleted": [], "dashboardView": ["notBlank"], "order": ["notBlank"], "backend_register": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "enacted": []};
+ this.account = {"updated": [], "policed": [], "created": [], "deleted": [], "site": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.charge = {"updated": [], "slice": [], "policed": [], "created": [], "deleted": [], "amount": ["notBlank"], "object": ["notBlank"], "account": ["notBlank"], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "state": ["notBlank"], "coreHours": ["notBlank"], "invoice": [], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.coarseTenant = {"subscriber_service": [], "connect_method": ["notBlank"], "updated": [], "policed": [], "created": [], "deleted": [], "service_specific_attribute": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "subscriber_user": [], "provider_service": ["notBlank"], "service_specific_id": [], "subscriber_tenant": [], "subscriber_root": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controller = {"updated": [], "backend_type": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "domain": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "version": ["notBlank"], "auth_url": [], "admin_user": [], "deployment": ["notBlank"], "admin_password": [], "backend_status": ["notBlank"], "admin_tenant": [], "id": [], "no_sync": [], "enacted": []};
+ this.controllerDashboardView = {"updated": [], "policed": [], "created": [], "deleted": [], "enabled": [], "dashboardView": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "url": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerImages = {"updated": [], "glance_image_id": [], "policed": [], "created": [], "deleted": [], "image": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerNetwork = {"router_id": [], "subnet": [], "updated": [], "policed": [], "created": [], "deleted": [], "subnet_id": [], "net_id": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "network": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerRole = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerSite = {"updated": [], "policed": [], "created": [], "deleted": [], "tenant_id": [], "site": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerSitePrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "role_id": [], "site_privilege": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerSlice = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "tenant_id": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerSlicePrivilege = {"updated": [], "slice_privilege": ["notBlank"], "policed": [], "created": [], "deleted": [], "role_id": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.controllerUser = {"updated": [], "policed": [], "created": [], "deleted": [], "kuser_id": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.dashboardView = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "enabled": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "url": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.deployment = {"accessControl": ["notBlank"], "updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.deploymentPrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "user": ["notBlank"], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.deploymentRole = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.flavor = {"default": [], "updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "description": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "flavor": ["notBlank"], "backend_status": ["notBlank"], "order": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.image = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "container_format": ["notBlank"], "disk_format": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "path": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.imageDeployments = {"updated": [], "policed": [], "created": [], "deleted": [], "image": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.invoice = {"updated": [], "policed": [], "created": [], "deleted": [], "account": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.network = {"router_id": [], "policed": [], "labels": [], "backend_register": ["notBlank"], "owner": ["notBlank"], "backend_status": ["notBlank"], "id": [], "subnet": [], "subnet_id": [], "controller_parameters": [], "no_sync": [], "permit_all_slices": [], "updated": [], "controller_url": [], "template": ["notBlank"], "deleted": [], "lazy_blocked": [], "guaranteed_bandwidth": ["notBlank"], "enacted": [], "autoconnect": [], "name": ["notBlank"], "created": [], "write_protect": [], "network_id": [], "topology_parameters": [], "ports": []};
+ this.networkParameter = {"updated": [], "policed": [], "created": [], "deleted": [], "value": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "object_id": ["notBlank"], "content_type": ["notBlank"], "backend_status": ["notBlank"], "parameter": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.networkParameterType = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "description": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.networkSlice = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "network": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.networkSliver = {"updated": [], "policed": [], "created": [], "deleted": [], "ip": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "sliver": [], "network": ["notBlank"], "backend_status": ["notBlank"], "port_id": [], "id": [], "no_sync": [], "enacted": []};
+ this.networkTemplate = {"shared_network_id": [], "updated": [], "shared_network_name": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "description": [], "visibility": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller_kind": [], "topology_kind": ["notBlank"], "guaranteed_bandwidth": ["notBlank"], "translation": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.node = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "site": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "site_deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.payment = {"updated": [], "policed": [], "created": [], "deleted": [], "account": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "amount": ["notBlank"], "date": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.port = {"updated": [], "policed": [], "created": [], "deleted": [], "ip": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "sliver": [], "network": ["notBlank"], "backend_status": ["notBlank"], "port_id": [], "id": [], "no_sync": [], "enacted": []};
+ this.program = {"status": [], "updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "description": [], "messages": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "command": [], "contents": [], "owner": ["notBlank"], "output": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.project = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.provider = {"updated": [], "policed": [], "name": [], "created": [], "deleted": [], "service_specific_attribute": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "service_specific_id": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.reservation = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "startTime": ["notBlank"], "duration": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.reservedResource = {"updated": [], "resource": ["notBlank"], "policed": [], "created": [], "deleted": [], "quantity": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "sliver": ["notBlank"], "reservationSet": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.role = {"updated": [], "policed": [], "created": [], "deleted": [], "description": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": [], "role_type": ["notBlank"], "content_type": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.router = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "owner": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.service = {"policed": [], "view_url": [], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "icon_url": [], "no_sync": [], "updated": [], "description": [], "deleted": [], "lazy_blocked": [], "versionNumber": ["notBlank"], "service_specific_id": [], "enacted": [], "public_key": [], "kind": ["notBlank"], "name": ["notBlank"], "created": [], "write_protect": [], "service_specific_attribute": [], "enabled": [], "published": []};
+ this.serviceAttribute = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "value": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "service": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.serviceClass = {"membershipFeeMonths": ["notBlank"], "updated": [], "membershipFee": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "description": ["notBlank"], "commitment": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "upgradeRequiresApproval": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.servicePrivilege = {"updated": [], "policed": [], "service": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.serviceResource = {"updated": [], "maxUnitsNode": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "serviceClass": ["notBlank"], "maxUnitsDeployment": ["notBlank"], "maxDuration": ["notBlank"], "bucketMaxSize": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "cost": ["notBlank"], "calendarReservable": [], "bucketInRate": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.site = {"policed": [], "backend_register": ["notBlank"], "id": [], "backend_status": ["notBlank"], "abbreviated_name": ["notBlank"], "site_url": ["url"], "location": ["notBlank"], "hosts_nodes": [], "no_sync": [], "updated": [], "deleted": [], "lazy_blocked": [], "latitude": [], "is_public": [], "enacted": [], "name": ["notBlank"], "created": [], "write_protect": [], "enabled": [], "longitude": [], "hosts_users": [], "login_base": ["notBlank"]};
+ this.siteCredential = {"updated": [], "enc_value": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "site": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.siteDeployment = {"updated": [], "policed": [], "created": [], "deleted": [], "availability_zone": [], "site": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "controller": [], "deployment": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.sitePrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "site": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.siteRole = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.slice = {"policed": [], "creator": [], "site": ["notBlank"], "backend_register": ["notBlank"], "backend_status": ["notBlank"], "id": [], "network": [], "service": [], "no_sync": [], "default_flavor": [], "updated": [], "description": [], "deleted": [], "slice_url": ["url"], "serviceClass": ["notBlank"], "lazy_blocked": [], "omf_friendly": [], "mount_data_sets": [], "max_slivers": ["notBlank"], "enacted": [], "name": ["notBlank"], "created": [], "write_protect": [], "enabled": [], "default_image": []};
+ this.sliceCredential = {"updated": [], "slice": ["notBlank"], "enc_value": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.slicePrivilege = {"updated": [], "slice": ["notBlank"], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.sliceRole = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.sliceTag = {"updated": [], "slice": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "value": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.sliver = {"policed": [], "creator": [], "ip": [], "image": ["notBlank"], "backend_register": ["notBlank"], "flavor": ["notBlank"], "backend_status": ["notBlank"], "id": [], "instance_name": [], "slice": ["notBlank"], "no_sync": [], "node": ["notBlank"], "userData": [], "updated": [], "deleted": [], "lazy_blocked": [], "deployment": ["notBlank"], "enacted": [], "instance_uuid": [], "numberCores": ["notBlank"], "name": ["notBlank"], "created": [], "write_protect": [], "instance_id": []};
+ this.subscriber = {"updated": [], "policed": [], "name": [], "created": [], "deleted": [], "service_specific_attribute": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "service_specific_id": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.tag = {"updated": [], "policed": [], "service": ["notBlank"], "created": [], "deleted": [], "name": ["notBlank"], "value": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "object_id": ["notBlank"], "content_type": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.tenant = {"subscriber_service": [], "connect_method": ["notBlank"], "updated": [], "policed": [], "created": [], "deleted": [], "service_specific_attribute": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "subscriber_user": [], "provider_service": ["notBlank"], "service_specific_id": [], "subscriber_tenant": [], "subscriber_root": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.tenantRoot = {"updated": [], "policed": [], "name": [], "created": [], "deleted": [], "service_specific_attribute": [], "kind": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "service_specific_id": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.tenantRootPrivilege = {"updated": [], "policed": [], "created": [], "deleted": [], "tenant_root": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "user": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.tenantRootRole = {"updated": [], "policed": [], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "role": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.usableObject = {"updated": [], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.user = {"policed": ["notBlank"], "site": ["notBlank"], "is_appuser": [], "is_staff": [], "timezone": ["notBlank"], "backend_status": ["notBlank"], "id": [], "is_registering": [], "last_login": ["notBlank"], "email": ["notBlank"], "username": ["notBlank"], "updated": [], "login_page": [], "firstname": ["notBlank"], "user_url": ["url"], "deleted": [], "lastname": ["notBlank"], "is_active": [], "phone": [], "is_admin": [], "password": ["notBlank"], "enacted": ["notBlank"], "public_key": [], "is_readonly": [], "created": [], "write_protect": []};
+ this.userCredential = {"updated": [], "enc_value": ["notBlank"], "policed": [], "name": ["notBlank"], "created": [], "deleted": [], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "user": ["notBlank"], "key_id": ["notBlank"], "backend_status": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
+ this.userDashboardView = {"updated": [], "policed": [], "created": [], "deleted": [], "dashboardView": ["notBlank"], "lazy_blocked": [], "backend_register": ["notBlank"], "write_protect": [], "user": ["notBlank"], "backend_status": ["notBlank"], "order": ["notBlank"], "id": [], "no_sync": [], "enacted": []};
};
xosvalidators = new xos_get_validators();
diff --git a/xos/model-deps b/xos/model-deps
index 4866373..7f15774 100644
--- a/xos/model-deps
+++ b/xos/model-deps
@@ -99,7 +99,7 @@
"Slice",
"Role"
],
- "NetworkSliver": [
+ "Port": [
"Network",
"Sliver"
],
diff --git a/xos/model_autodeletion.py b/xos/model_autodeletion.py
index 008ba75..2bfc48c 100644
--- a/xos/model_autodeletion.py
+++ b/xos/model_autodeletion.py
@@ -1 +1 @@
-ephemeral_models = ['ReservedResource','Instance','Image','Network','NetworkInstance','Tag','SitePrivilege','SliceMembership','SliceTag','Reservation','Slice']
+ephemeral_models = ['ReservedResource','Instance','Image','Network','Port','Tag','SitePrivilege','SliceMembership','SliceTag','Reservation','Slice']
diff --git a/xos/observers/hpc/hpc_watcher.py b/xos/observers/hpc/hpc_watcher.py
index 04341e6..7c49aae 100644
--- a/xos/observers/hpc/hpc_watcher.py
+++ b/xos/observers/hpc/hpc_watcher.py
@@ -366,7 +366,7 @@
if (network_name is None) or (network_name=="") or (network_name.lower()=="public"):
return instance.get_public_ip()
- for ns in instance.networkinstances.all():
+ for ns in instance.ports.all():
if (ns.ip) and (ns.network.name==network_name):
return ns.ip
diff --git a/xos/observers/vcpe/steps/sync_vcpetenant.py b/xos/observers/vcpe/steps/sync_vcpetenant.py
index 54af010..bc08845 100644
--- a/xos/observers/vcpe/steps/sync_vcpetenant.py
+++ b/xos/observers/vcpe/steps/sync_vcpetenant.py
@@ -68,7 +68,7 @@
for slice in service.slices.all():
if "dnsdemux" in slice.name:
for instance in slice.instances.all():
- for ns in instance.networkinstances.all():
+ for ns in instance.ports.all():
if ns.ip and ns.network.labels and (vcpe_service.backend_network_label in ns.network.labels):
dnsdemux_ip = ns.ip
if not dnsdemux_ip:
@@ -100,7 +100,7 @@
if vcpe_service.bbs_slice:
if vcpe_service.backend_network_label:
for bbs_instance in vcpe_service.bbs_slice.instances.all():
- for ns in bbs_instance.networkinstances.all():
+ for ns in bbs_instance.ports.all():
if ns.ip and ns.network.labels and (vcpe_service.backend_network_label in ns.network.labels):
bbs_addrs.append(ns.ip)
else:
diff --git a/xos/openstack_observer/event_loop.py b/xos/openstack_observer/event_loop.py
index 13fadb8..fc07e7d 100644
--- a/xos/openstack_observer/event_loop.py
+++ b/xos/openstack_observer/event_loop.py
@@ -66,7 +66,6 @@
return ig
class XOSObserver:
- #sync_steps = [SyncNetworks,SyncNetworkInstances,SyncSites,SyncSitePrivilege,SyncSlices,SyncSliceMemberships,SyncInstances,SyncInstanceIps,SyncExternalRoutes,SyncUsers,SyncRoles,SyncNodes,SyncImages,GarbageCollector]
sync_steps = []
diff --git a/xos/openstack_observer/steps/sync_instances.py b/xos/openstack_observer/steps/sync_instances.py
index 08fce3d..cbcdec6 100644
--- a/xos/openstack_observer/steps/sync_instances.py
+++ b/xos/openstack_observer/steps/sync_instances.py
@@ -62,9 +62,9 @@
ports = []
exclude_networks = set()
exclude_templates = set()
- for ns in sliver.networkslivers.all():
+ for ns in sliver.ports.all():
if not ns.port_id:
- raise Exception("Port %s on sliver %s has no id; Try again later" % (str(ns), str(sliver)) )
+ raise DeferredException("Port %s on sliver %s has no id; Try again later" % (str(ns), str(sliver)) )
ports.append(ns.port_id)
exclude_networks.add(ns.network)
exclude_templates.add(ns.network.template)
@@ -79,7 +79,7 @@
if controller_network.network.template.visibility == 'private' and \
controller_network.network.template.translation == 'none':
if not controller_network.net_id:
- raise Exception("Private Network %s has no id; Try again later" % controller_network.network.name)
+ raise DeferredException("Private Network %s has no id; Try again later" % controller_network.network.name)
nics.append(controller_network.net_id)
# Now include network templates, for those networks that use a
diff --git a/xos/openstack_observer/steps/sync_network_instances.py b/xos/openstack_observer/steps/sync_ports.py
similarity index 73%
rename from xos/openstack_observer/steps/sync_network_instances.py
rename to xos/openstack_observer/steps/sync_ports.py
index 512f619..da08e36 100644
--- a/xos/openstack_observer/steps/sync_network_instances.py
+++ b/xos/openstack_observer/steps/sync_ports.py
@@ -7,10 +7,10 @@
from core.models.network import *
from util.logger import observer_logger as logger
-class SyncNetworkInstances(OpenStackSyncStep):
+class SyncPorts(OpenStackSyncStep):
requested_interval = 0 # 3600
- provides=[NetworkInstance]
- observes=NetworkInstance
+ provides=[Port]
+ observes=Port
# The way it works is to enumerate the all of the ports that quantum
# has, and then work backward from each port's network-id to determine
@@ -19,12 +19,12 @@
def call(self, **args):
logger.info("sync'ing network instances")
- networkInstances = NetworkInstance.objects.all()
- networkInstances_by_id = {}
- networkInstances_by_port = {}
- for networkInstance in networkInstances:
- networkInstances_by_id[networkInstance.id] = networkInstance
- networkInstances_by_port[networkInstance.port_id] = networkInstance
+ ports = Port.objects.all()
+ ports_by_id = {}
+ ports_by_neutron_port = {}
+ for port in ports:
+ ports_by_id[port.id] = port
+ ports_by_neutron_port[port.port_id] = port
networks = Network.objects.all()
networks_by_id = {}
@@ -74,7 +74,7 @@
for port in ports_by_id.values():
#logger.info("port %s" % str(port))
- if port["id"] in networkInstances_by_port:
+ if port["id"] in ports_by_neutron_port:
# we already have it
#logger.info("already accounted for port %s" % port["id"])
continue
@@ -127,9 +127,9 @@
continue
ip=port["fixed_ips"][0]["ip_address"]
- logger.info("creating NetworkInstance (%s, %s, %s, %s)" % (str(network), str(instance), ip, str(port["id"])))
+ logger.info("creating Port (%s, %s, %s, %s)" % (str(network), str(instance), ip, str(port["id"])))
- ns = NetworkInstance(network=network,
+ ns = Port(network=network,
instance=instance,
ip=ip,
port_id=port["id"])
@@ -137,70 +137,70 @@
try:
ns.save()
except:
- logger.log_exc("failed to save networkinstance %s" % str(ns))
+ logger.log_exc("failed to save port %s" % str(ns))
continue
- # For networkInstances that were created by the user, find that ones
+ # For ports that were created by the user, find that ones
# that don't have neutron ports, and create them.
- for networkInstance in NetworkInstance.objects.filter(port_id__isnull=True, instance__isnull=False):
- #logger.info("working on networkinstance %s" % networkInstance)
- controller = networkInstance.instance.node.site_deployment.controller
+ for port in Port.objects.filter(port_id__isnull=True, instance__isnull=False):
+ #logger.info("XXX working on port %s" % port)
+ controller = port.instance.node.site_deployment.controller
if controller:
- cn=networkInstance.network.controllernetworks.filter(controller=controller)
+ cn=port.network.controllernetworks.filter(controller=controller)
if not cn:
- logger.log_exc("no controllernetwork for %s" % networkInstance)
+ logger.log_exc("no controllernetwork for %s" % port)
continue
cn=cn[0]
if cn.lazy_blocked:
cn.lazy_blocked=False
cn.save()
- logger.info("deferring networkSliver %s because controllerNetwork was lazy-blocked" % networkSliver)
+ logger.info("deferring port %s because controllerNetwork was lazy-blocked" % port)
continue
if not cn.net_id:
- logger.info("deferring networkSliver %s because controllerNetwork does not have a port-id yet" % networkSliver)
+ logger.info("deferring port %s because controllerNetwork does not have a port-id yet" % port)
continue
try:
# We need to use a client driver that specifies the tenant
- # of the destination sliver. Nova-compute will not connect
- # ports to slivers if the port's tenant does not match
- # the sliver's tenant.
+ # of the destination instance. Nova-compute will not connect
+ # ports to instances if the port's tenant does not match
+ # the instance's tenant.
# A bunch of stuff to compensate for OpenStackDriver.client_driveR()
# not being in working condition.
from openstack.client import OpenStackClient
from openstack.driver import OpenStackDriver
- caller = networkSliver.network.owner.creator
+ caller = port.network.owner.creator
auth = {'username': caller.email,
'password': caller.remote_password,
- 'tenant': networkSliver.sliver.slice.name} # networkSliver.network.owner.name}
+ 'tenant': port.instance.slice.name} # port.network.owner.name}
client = OpenStackClient(controller=controller, **auth) # cacert=self.config.nova_ca_ssl_cert,
driver = OpenStackDriver(client=client)
port = driver.shell.quantum.create_port({"port": {"network_id": cn.net_id}})["port"]
- networkInstance.port_id = port["id"]
+ port.port_id = port["id"]
if port["fixed_ips"]:
- networkInstance.ip = port["fixed_ips"][0]["ip_address"]
+ port.ip = port["fixed_ips"][0]["ip_address"]
except:
- logger.log_exc("failed to create neutron port for %s" % networkInstance)
+ logger.log_exc("failed to create neutron port for %s" % port)
continue
- networkInstance.save()
+ port.save()
# Now, handle port forwarding
- # We get the list of NetworkInstances again, since we might have just
+ # We get the list of Ports again, since we might have just
# added a few. Then, for each one of them we find it's quantum port and
# make sure quantum's nat:forward_ports argument is the same.
- for networkInstance in NetworkInstance.objects.all():
+ for port in Port.objects.all():
try:
- nat_list = networkInstance.network.nat_list
+ nat_list = port.network.nat_list
except (TypeError, ValueError), e:
logger.info("Failed to decode nat_list: %s" % str(e))
continue
- if not networkInstance.port_id:
+ if not port.port_id:
continue
- neutron_port = ports_by_id.get(networkInstance.port_id, None)
+ neutron_port = ports_by_id.get(port.port_id, None)
if not neutron_port:
continue
@@ -210,15 +210,15 @@
neutron_nat_list = []
if (neutron_nat_list != nat_list):
- logger.info("Setting nat:forward_ports for port %s network %s instance %s to %s" % (str(networkInstance.port_id), str(networkInstance.network.id), str(networkInstance.instance), str(nat_list)))
+ logger.info("Setting nat:forward_ports for port %s network %s instance %s to %s" % (str(port.port_id), str(port.network.id), str(port.instance), str(nat_list)))
try:
- driver = self.driver.admin_driver(controller=networkInstance.instance.node.site_deployment.controller,tenant='admin')
- driver.shell.quantum.update_port(networkInstance.port_id, {"port": {"nat:forward_ports": nat_list}})
+ driver = self.driver.admin_driver(controller=port.instance.node.site_deployment.controller,tenant='admin')
+ driver.shell.quantum.update_port(port.port_id, {"port": {"nat:forward_ports": nat_list}})
except:
logger.log_exc("failed to update port with nat_list %s" % str(nat_list))
continue
else:
- #logger.info("port %s network %s instance %s nat %s is already set" % (str(networkInstance.port_id), str(networkInstance.network.id), str(networkInstance.instance), str(nat_list)))
+ #logger.info("port %s network %s instance %s nat %s is already set" % (str(port.port_id), str(port.network.id), str(port.instance), str(nat_list)))
pass
def delete_record(self, network_instance):
diff --git a/xos/openstack_observer/syncstep.py b/xos/openstack_observer/syncstep.py
index cc6026d..791a89a 100644
--- a/xos/openstack_observer/syncstep.py
+++ b/xos/openstack_observer/syncstep.py
@@ -30,6 +30,9 @@
class InnocuousException(Exception):
pass
+class DeferredException(Exception):
+ pass
+
class FailedDependency(Exception):
pass
@@ -144,7 +147,7 @@
o.backend_register = json.dumps(scratchpad)
o.backend_status = "1 - OK"
o.save(update_fields=['enacted','backend_status','backend_register'])
- except (InnocuousException,Exception) as e:
+ except (InnocuousException,Exception,DeferredException) as e:
logger.log_exc("sync step failed!")
try:
if (o.backend_status.startswith('2 - ')):
@@ -174,9 +177,13 @@
# Second failure
if (scratchpad['exponent']):
- delay = scratchpad['exponent'] * 600 # 10 minutes
- if (delay<1440):
- delay = 1440
+ if isinstance(e,DeferredException):
+ delay = scratchpad['exponent'] * 60 # 1 minute
+ else:
+ delay = scratchpad['exponent'] * 600 # 10 minutes
+ # cap delays at 8 hours
+ if (delay>8*60*60):
+ delay=8*60*60
scratchpad['next_run'] = time.time() + delay
scratchpad['exponent']+=1
diff --git a/xos/tools/cleanup_unique.py b/xos/tools/cleanup_unique.py
index 0b60266..a637df1 100644
--- a/xos/tools/cleanup_unique.py
+++ b/xos/tools/cleanup_unique.py
@@ -24,7 +24,7 @@
print "Purging deleted object", obj
obj.delete(purge=True)
-for obj in NetworkInstance.deleted_objects.all():
+for obj in Port.deleted_objects.all():
print "Purging deleted object", obj
obj.delete(purge=True)
@@ -55,9 +55,9 @@
conflict.delete(purge=True)
seen=[]
-for obj in NetworkInstance.objects.all():
+for obj in Port.objects.all():
seen.append(obj.id)
- conflicts = NetworkInstance.objects.filter(network=obj.network, instance=obj.instance)
+ conflicts = Port.objects.filter(network=obj.network, instance=obj.instanc)
for conflict in conflicts:
if conflict.id not in seen:
print "Purging", conflict, conflict.id, "due to duplicate of", obj.id
diff --git a/xos/tools/get_instance_ip.py b/xos/tools/get_instance_ip.py
index 5cdd8b7..dd3c788 100644
--- a/xos/tools/get_instance_ip.py
+++ b/xos/tools/get_instance_ip.py
@@ -11,8 +11,8 @@
NODES_API = REST_API + "nodes/"
SLICES_API = REST_API + "slices/"
-SLIVERS_API = REST_API + "instances/"
-NETWORKSLIVERS_API = REST_API + "networkinstances/"
+INSTANCES_API = REST_API + "instances/"
+PORTS_API = REST_API + "ports/"
opencloud_auth=("demo@onlab.us", "demo")
@@ -41,7 +41,7 @@
else:
query_string = ""
- r = requests.get(SLIVERS_API + query_string, auth=opencloud_auth)
+ r = requests.get(INSTANCES_API + query_string, auth=opencloud_auth)
return r.json()
def main():
@@ -71,10 +71,9 @@
instance_id = instances[-1]["id"]
- r = requests.get(NETWORKSLIVERS_API + "?instance=%s" % instance_id, auth=opencloud_auth)
-
- networkInstances = r.json()
- ips = [x["ip"] for x in networkInstances]
+ r = requests.get(NETWORKINSTANCES_API + "?instance=%s" % instance_id, auth=opencloud_auth)
+ ports = r.json()
+ ips = [x["ip"] for x in ports]
# XXX kinda hackish -- assumes private ips start with "10." and nat start with "172."
diff --git a/xos/tools/purge.py b/xos/tools/purge.py
new file mode 100644
index 0000000..75e965f
--- /dev/null
+++ b/xos/tools/purge.py
@@ -0,0 +1,16 @@
+import os
+import sys
+sys.path.append("/opt/xos")
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
+import django
+from core.models import *
+from hpc.models import *
+from cord.models import *
+django.setup()
+
+def purge(cls):
+ for obj in cls.deleted_objects.all():
+ obj.delete(purge=True)
+
+for model in [Sliver, Slice, Site, Service, User, Image, ImageDeployments, Port]:
+ purge(model)
diff --git a/xos/tosca/custom_types/xos.m4 b/xos/tosca/custom_types/xos.m4
index 0200938..471bfc8 100644
--- a/xos/tosca/custom_types/xos.m4
+++ b/xos/tosca/custom_types/xos.m4
@@ -19,6 +19,9 @@
service:
type: tosca.capabilities.xos.Service)
define(xos_base_service_props,
+ kind:
+ type: string
+ default: generic
view_url:
type: string
required: false
diff --git a/xos/tosca/resources/compute.py b/xos/tosca/resources/compute.py
index a169c5a..f01a401 100644
--- a/xos/tosca/resources/compute.py
+++ b/xos/tosca/resources/compute.py
@@ -41,6 +41,8 @@
if not name:
name = nodetemplate.name
+ args = {"name": name}
+
host=None
flavor=None
image=None
@@ -72,12 +74,13 @@
if not flavor:
raise Exception("Failed to pick a flavor")
- return {"name": name,
- "image": image,
- "slice": slice,
- "flavor": flavor,
- "node": compute_node,
- "deployment": compute_node.site_deployment.deployment}
+ args["image"] = image
+ args["slice"] = slice
+ args["flavor"] = flavor
+ args["node"] = compute_node
+ args["deployment"] = compute_node.site_deployment.deployment
+
+ return args
def create(self, name = None, index = None):
xos_args = self.get_xos_args(name=name, index=index)
diff --git a/xos/tosca/resources/port.py b/xos/tosca/resources/port.py
index 435ba0f..94d0391 100644
--- a/xos/tosca/resources/port.py
+++ b/xos/tosca/resources/port.py
@@ -5,13 +5,13 @@
sys.path.append("/opt/tosca")
from translator.toscalib.tosca_template import ToscaTemplate
-from core.models import Sliver,User,Network,NetworkTemplate,NetworkSliver
+from core.models import Sliver,User,Network,NetworkTemplate,Port
from xosresource import XOSResource
class XOSPort(XOSResource):
provides = ["tosca.nodes.network.Port"]
- xos_model = NetworkSliver
+ xos_model = Port
def get_existing_objs(self):
# Port objects have no name, their unique key is (sliver, network)
@@ -46,13 +46,13 @@
if not xos_args.get("network", None):
raise Exception("Must specify network when creating port")
- port = NetworkSliver(**xos_args)
+ port = Port(**xos_args)
port.caller = self.user
port.save()
self.postprocess(port)
- self.info("Created NetworkSliver '%s' connect sliver '%s' to network %s" % (str(port), str(port.sliver), str(port.network)))
+ self.info("Created Port '%s' connect sliver '%s' to network %s" % (str(port), str(port.sliver), str(port.network)))
def delete(self, obj):
super(XOSPort, self).delete(obj)
diff --git a/xos/tosca/resources/service.py b/xos/tosca/resources/service.py
index 01aee1c..6b84d0b 100644
--- a/xos/tosca/resources/service.py
+++ b/xos/tosca/resources/service.py
@@ -12,7 +12,7 @@
class XOSService(XOSResource):
provides = "tosca.nodes.Service"
xos_model = Service
- copyin_props = ["view_url"]
+ copyin_props = ["view_url", "kind"]
def postprocess(self, obj):
for provider_service_name in self.get_requirements("tosca.relationships.TenantOfService"):
diff --git a/xos/tosca/resources/slice.py b/xos/tosca/resources/slice.py
index 83062b3..d9684f2 100644
--- a/xos/tosca/resources/slice.py
+++ b/xos/tosca/resources/slice.py
@@ -5,7 +5,7 @@
sys.path.append("/opt/tosca")
from translator.toscalib.tosca_template import ToscaTemplate
-from core.models import Slice,User,Site,Network,NetworkSlice,SliceRole,SlicePrivilege
+from core.models import Slice,User,Site,Network,NetworkSlice,SliceRole,SlicePrivilege,Service
from xosresource import XOSResource
@@ -14,10 +14,18 @@
xos_model = Slice
def get_xos_args(self):
+ args = {"name": self.nodetemplate.name}
+
site_name = self.get_requirement("tosca.relationships.MemberOfSite", throw_exception=True)
site = self.get_xos_object(Site, login_base=site_name)
- return {"name": self.nodetemplate.name,
- "site": site}
+ args["site"] = site
+
+ serviceName = self.get_requirement("tosca.relationships.MemberOfService", throw_exception=False)
+ if serviceName:
+ service = self.get_xos_object(Service, name=serviceName)
+ args["service"] = service
+
+ return args
def postprocess(self, obj):
for net_name in self.get_requirements("tosca.relationships.ConnectsToNetwork"):
diff --git a/xos/tosca/resources/xossite.py b/xos/tosca/resources/xossite.py
index fe0e256..a65129a 100644
--- a/xos/tosca/resources/xossite.py
+++ b/xos/tosca/resources/xossite.py
@@ -79,6 +79,12 @@
if obj.slices.exists():
self.info("Site %s has active slices; skipping delete" % obj.name)
return
+ if obj.users.exists():
+ self.info("Site %s has active users; skipping delete" % obj.name)
+ return
+ if obj.nodes.exists():
+ self.info("Site %s has active nodes; skipping delete" % obj.name)
+ return
super(XOSSite, self).delete(obj)
diff --git a/xos/tosca/samples/cord.yaml b/xos/tosca/samples/cord.yaml
index 83c9584..f160cb6 100644
--- a/xos/tosca/samples/cord.yaml
+++ b/xos/tosca/samples/cord.yaml
@@ -16,6 +16,7 @@
relationship: tosca.relationships.TenantOfService
properties:
view_url: /admin/cord/voltservice/$id$/
+ kind: vOLT
service_vcpe:
type: tosca.nodes.VCPEService
@@ -41,7 +42,7 @@
type: tosca.nodes.Slice
requirements:
- vcpe_service:
- node: service_volt
+ node: service_vcpe
relationship: tosca.relationships.MemberOfService
- site:
node: mysite
diff --git a/xos/xos/xosapi.py b/xos/xos/xosapi.py
index 2dab29a..f7be27a 100644
--- a/xos/xos/xosapi.py
+++ b/xos/xos/xosapi.py
@@ -1,3 +1,4 @@
+
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.reverse import reverse
@@ -38,6 +39,9 @@
return patterns('',
url(r'^xos/$', api_root),
+ url(r'xos/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
+ url(r'xos/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
+
url(r'xos/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
url(r'xos/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
@@ -56,6 +60,9 @@
url(r'xos/sites/$', SiteList.as_view(), name='site-list'),
url(r'xos/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
+ url(r'xos/tenantrootroles/$', TenantRootRoleList.as_view(), name='tenantrootrole-list'),
+ url(r'xos/tenantrootroles/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantRootRoleDetail.as_view(), name ='tenantrootrole-detail'),
+
url(r'xos/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
url(r'xos/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
@@ -95,17 +102,23 @@
url(r'xos/payments/$', PaymentList.as_view(), name='payment-list'),
url(r'xos/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
+ url(r'xos/subscribers/$', SubscriberList.as_view(), name='subscriber-list'),
+ url(r'xos/subscribers/(?P<pk>[a-zA-Z0-9\-]+)/$', SubscriberDetail.as_view(), name ='subscriber-detail'),
+
url(r'xos/charges/$', ChargeList.as_view(), name='charge-list'),
url(r'xos/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
+ url(r'xos/programs/$', ProgramList.as_view(), name='program-list'),
+ url(r'xos/programs/(?P<pk>[a-zA-Z0-9\-]+)/$', ProgramDetail.as_view(), name ='program-detail'),
+
url(r'xos/roles/$', RoleList.as_view(), name='role-list'),
url(r'xos/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
url(r'xos/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
url(r'xos/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
- url(r'xos/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
- url(r'xos/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
+ url(r'xos/providers/$', ProviderList.as_view(), name='provider-list'),
+ url(r'xos/providers/(?P<pk>[a-zA-Z0-9\-]+)/$', ProviderDetail.as_view(), name ='provider-detail'),
url(r'xos/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
url(r'xos/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
@@ -131,6 +144,9 @@
url(r'xos/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
url(r'xos/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
+ url(r'xos/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
+ url(r'xos/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
+
url(r'xos/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
url(r'xos/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
@@ -140,6 +156,9 @@
url(r'xos/controllers/$', ControllerList.as_view(), name='controller-list'),
url(r'xos/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
+ url(r'xos/ports/$', PortList.as_view(), name='port-list'),
+ url(r'xos/ports/(?P<pk>[a-zA-Z0-9\-]+)/$', PortDetail.as_view(), name ='port-detail'),
+
url(r'xos/users/$', UserList.as_view(), name='user-list'),
url(r'xos/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
@@ -155,12 +174,18 @@
url(r'xos/controllerslices/$', ControllerSliceList.as_view(), name='controllerslice-list'),
url(r'xos/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSliceDetail.as_view(), name ='controllerslice-detail'),
+ url(r'xos/tenants/$', TenantList.as_view(), name='tenant-list'),
+ url(r'xos/tenants/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantDetail.as_view(), name ='tenant-detail'),
+
url(r'xos/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
url(r'xos/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
url(r'xos/accounts/$', AccountList.as_view(), name='account-list'),
url(r'xos/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
+ url(r'xos/tenantroots/$', TenantRootList.as_view(), name='tenantroot-list'),
+ url(r'xos/tenantroots/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantRootDetail.as_view(), name ='tenantroot-detail'),
+
url(r'xos/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
url(r'xos/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
@@ -185,11 +210,14 @@
url(r'xos/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
url(r'xos/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
+ url(r'xos/tenantrootprivileges/$', TenantRootPrivilegeList.as_view(), name='tenantrootprivilege-list'),
+ url(r'xos/tenantrootprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', TenantRootPrivilegeDetail.as_view(), name ='tenantrootprivilege-detail'),
+
url(r'xos/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
url(r'xos/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
- url(r'xos/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
- url(r'xos/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
+ url(r'xos/coarsetenants/$', CoarseTenantList.as_view(), name='coarsetenant-list'),
+ url(r'xos/coarsetenants/(?P<pk>[a-zA-Z0-9\-]+)/$', CoarseTenantDetail.as_view(), name ='coarsetenant-detail'),
url(r'xos/routers/$', RouterList.as_view(), name='router-list'),
url(r'xos/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
@@ -197,17 +225,22 @@
url(r'xos/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
url(r'xos/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
+ url(r'xos/serviceprivileges/$', ServicePrivilegeList.as_view(), name='serviceprivilege-list'),
+ url(r'xos/serviceprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ServicePrivilegeDetail.as_view(), name ='serviceprivilege-detail'),
+
)
@api_view(['GET'])
def api_root(request, format=None):
return Response({
+ 'siteroles': reverse('siterole-list', request=request, format=format),
'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
'controllerimageses': reverse('controllerimages-list', request=request, format=format),
'controllersiteprivileges': reverse('controllersiteprivilege-list', request=request, format=format),
'images': reverse('image-list', request=request, format=format),
'networkparameters': reverse('networkparameter-list', request=request, format=format),
'sites': reverse('site-list', request=request, format=format),
+ 'tenantrootroles': reverse('tenantrootrole-list', request=request, format=format),
'sliceroles': reverse('slicerole-list', request=request, format=format),
'tags': reverse('tag-list', request=request, format=format),
'invoices': reverse('invoice-list', request=request, format=format),
@@ -221,10 +254,12 @@
'services': reverse('service-list', request=request, format=format),
'serviceclasses': reverse('serviceclass-list', request=request, format=format),
'payments': reverse('payment-list', request=request, format=format),
+ 'subscribers': reverse('subscriber-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),
- 'siteroles': reverse('siterole-list', request=request, format=format),
+ 'providers': reverse('provider-list', request=request, format=format),
'slicecredentials': reverse('slicecredential-list', request=request, format=format),
'instances': reverse('instance-list', request=request, format=format),
'nodes': reverse('node-list', request=request, format=format),
@@ -233,16 +268,20 @@
'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
'controllerusers': reverse('controlleruser-list', request=request, format=format),
'reservedresources': reverse('reservedresource-list', request=request, format=format),
+ 'networktemplates': reverse('networktemplate-list', request=request, format=format),
'networkslices': reverse('networkslice-list', request=request, format=format),
'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
'controllers': reverse('controller-list', request=request, format=format),
+ 'ports': reverse('port-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),
'controllerslices': reverse('controllerslice-list', request=request, format=format),
+ 'tenants': reverse('tenant-list', request=request, format=format),
'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
'accounts': reverse('account-list', request=request, format=format),
+ 'tenantroots': reverse('tenantroot-list', request=request, format=format),
'controllerroles': reverse('controllerrole-list', request=request, format=format),
'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
'sitecredentials': reverse('sitecredential-list', request=request, format=format),
@@ -251,10 +290,12 @@
'sitedeployments': reverse('sitedeployment-list', request=request, format=format),
'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
'usercredentials': reverse('usercredential-list', request=request, format=format),
+ 'tenantrootprivileges': reverse('tenantrootprivilege-list', request=request, format=format),
'slicetags': reverse('slicetag-list', request=request, format=format),
- 'networktemplates': reverse('networktemplate-list', request=request, format=format),
+ 'coarsetenants': reverse('coarsetenant-list', request=request, format=format),
'routers': reverse('router-list', request=request, format=format),
'serviceresources': reverse('serviceresource-list', request=request, format=format),
+ 'serviceprivileges': reverse('serviceprivilege-list', request=request, format=format),
})
@@ -314,6 +355,41 @@
+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_status','deleted','write_protect','lazy_blocked','no_sync','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_status','deleted','write_protect','lazy_blocked','no_sync','role',)
+
+
+
+
class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
id = IdField()
@@ -328,7 +404,7 @@
return None
class Meta:
model = ServiceAttribute
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','value','service',)
class ServiceAttributeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -344,7 +420,7 @@
return None
class Meta:
model = ServiceAttribute
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','value','service',)
@@ -363,7 +439,7 @@
return None
class Meta:
model = ControllerImages
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','controller','glance_image_id',)
class ControllerImagesIdSerializer(XOSModelSerializer):
id = IdField()
@@ -379,7 +455,7 @@
return None
class Meta:
model = ControllerImages
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','controller','glance_image_id',)
@@ -398,7 +474,7 @@
return None
class Meta:
model = ControllerSitePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','site_privilege','role_id',)
class ControllerSitePrivilegeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -414,7 +490,7 @@
return None
class Meta:
model = ControllerSitePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','site_privilege','role_id',)
@@ -437,7 +513,7 @@
return None
class Meta:
model = Image
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','disk_format','container_format','path','deployments',)
class ImageIdSerializer(XOSModelSerializer):
id = IdField()
@@ -457,7 +533,7 @@
return None
class Meta:
model = Image
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','disk_format','container_format','path','deployments',)
@@ -476,7 +552,7 @@
return None
class Meta:
model = NetworkParameter
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','parameter','value','content_type','object_id',)
class NetworkParameterIdSerializer(XOSModelSerializer):
id = IdField()
@@ -492,7 +568,7 @@
return None
class Meta:
model = NetworkParameter
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','parameter','value','content_type','object_id',)
@@ -515,7 +591,7 @@
return None
class Meta:
model = Site
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_url','enabled','hosts_nodes','hosts_users','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
class SiteIdSerializer(XOSModelSerializer):
id = IdField()
@@ -535,7 +611,42 @@
return None
class Meta:
model = Site
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_url','enabled','hosts_nodes','hosts_users','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
+
+
+
+
+class TenantRootRoleSerializer(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 = TenantRootRole
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
+
+class TenantRootRoleIdSerializer(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 = TenantRootRole
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
@@ -554,7 +665,7 @@
return None
class Meta:
model = SliceRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
class SliceRoleIdSerializer(XOSModelSerializer):
id = IdField()
@@ -570,7 +681,7 @@
return None
class Meta:
model = SliceRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
@@ -589,7 +700,7 @@
return None
class Meta:
model = Tag
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','service','name','value','content_type','object_id',)
class TagIdSerializer(XOSModelSerializer):
id = IdField()
@@ -605,7 +716,7 @@
return None
class Meta:
model = Tag
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','service','name','value','content_type','object_id',)
@@ -624,7 +735,7 @@
return None
class Meta:
model = Invoice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','date','account',)
class InvoiceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -640,7 +751,7 @@
return None
class Meta:
model = Invoice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','date','account',)
@@ -659,7 +770,7 @@
return None
class Meta:
model = SlicePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','slice','role',)
class SlicePrivilegeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -675,7 +786,7 @@
return None
class Meta:
model = SlicePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','slice','role',)
@@ -694,7 +805,7 @@
return None
class Meta:
model = NetworkInstance
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','instance','ip','port_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
class NetworkInstanceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -710,7 +821,7 @@
return None
class Meta:
model = NetworkInstance
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','instance','ip','port_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
@@ -733,7 +844,7 @@
return None
class Meta:
model = Flavor
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','flavor','order','default','deployments',)
class FlavorIdSerializer(XOSModelSerializer):
id = IdField()
@@ -753,7 +864,7 @@
return None
class Meta:
model = Flavor
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','flavor','order','default','deployments',)
@@ -772,7 +883,7 @@
return None
class Meta:
model = ControllerSite
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','controller','tenant_id',)
class ControllerSiteIdSerializer(XOSModelSerializer):
id = IdField()
@@ -788,7 +899,7 @@
return None
class Meta:
model = ControllerSite
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','controller','tenant_id',)
@@ -807,7 +918,7 @@
return None
class Meta:
model = Project
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
class ProjectIdSerializer(XOSModelSerializer):
id = IdField()
@@ -823,7 +934,7 @@
return None
class Meta:
model = Project
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
@@ -850,7 +961,7 @@
return None
class Meta:
model = Slice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_instances','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','enabled','omf_friendly','description','slice_url','site','max_instance','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
class SliceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -874,8 +985,7 @@
return None
class Meta:
model = Slice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_instances','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
-
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','enabled','omf_friendly','description','slice_url','site','max_instances','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
@@ -913,7 +1023,7 @@
return None
class Meta:
model = Network
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','instances','routers','routers',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','autoconnect','slices','slices','instances','routers','routers',)
class NetworkIdSerializer(XOSModelSerializer):
id = IdField()
@@ -949,7 +1059,7 @@
return None
class Meta:
model = Network
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','instances','routers','routers',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','autoconnect','slices','slices','instances','routers','routers',)
@@ -968,7 +1078,7 @@
return None
class Meta:
model = Service
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','description','enabled','kind','name','versionNumber','published','view_url','icon_url','public_key','service_specific_id','service_specific_attribute',)
class ServiceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -984,7 +1094,7 @@
return None
class Meta:
model = Service
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','description','enabled','kind','name','versionNumber','published','view_url','icon_url','public_key','service_specific_id','service_specific_attribute',)
@@ -1003,7 +1113,7 @@
return None
class Meta:
model = ServiceClass
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
class ServiceClassIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1019,7 +1129,7 @@
return None
class Meta:
model = ServiceClass
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
@@ -1038,7 +1148,7 @@
return None
class Meta:
model = Payment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','amount','date',)
class PaymentIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1054,7 +1164,42 @@
return None
class Meta:
model = Payment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','amount','date',)
+
+
+
+
+class SubscriberSerializer(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 = Subscriber
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
+
+class SubscriberIdSerializer(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 = Subscriber
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
@@ -1073,7 +1218,7 @@
return None
class Meta:
model = Charge
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','slice','kind','state','date','object','amount','coreHours','invoice',)
class ChargeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1089,7 +1234,42 @@
return None
class Meta:
model = Charge
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','slice','kind','state','date','object','amount','coreHours','invoice',)
+
+
+
+
+class ProgramSerializer(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 = Program
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','kind','command','owner','contents','output','messages','status',)
+
+class ProgramIdSerializer(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 = Program
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','kind','command','owner','contents','output','messages','status',)
@@ -1108,7 +1288,7 @@
return None
class Meta:
model = Role
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role_type','role','description','content_type',)
class RoleIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1124,7 +1304,7 @@
return None
class Meta:
model = Role
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role_type','role','description','content_type',)
@@ -1143,7 +1323,7 @@
return None
class Meta:
model = UsableObject
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
class UsableObjectIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1159,12 +1339,12 @@
return None
class Meta:
model = UsableObject
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
-class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
+class ProviderSerializer(serializers.HyperlinkedModelSerializer):
id = IdField()
humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1177,10 +1357,10 @@
except:
return None
class Meta:
- model = SiteRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ model = Provider
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
-class SiteRoleIdSerializer(XOSModelSerializer):
+class ProviderIdSerializer(XOSModelSerializer):
id = IdField()
humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -1193,8 +1373,8 @@
except:
return None
class Meta:
- model = SiteRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ model = Provider
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
@@ -1213,7 +1393,7 @@
return None
class Meta:
model = SliceCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','key_id','enc_value',)
class SliceCredentialIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1229,7 +1409,7 @@
return None
class Meta:
model = SliceCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','key_id','enc_value',)
@@ -1251,8 +1431,13 @@
except:
return None
class Meta:
+<<<<<<< HEAD
model = Instance
fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
+=======
+ model = Sliver
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
+>>>>>>> origin/master
class InstanceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1271,8 +1456,13 @@
except:
return None
class Meta:
+<<<<<<< HEAD
model = Instance
fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
+=======
+ model = Sliver
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
+>>>>>>> origin/master
@@ -1291,7 +1481,7 @@
return None
class Meta:
model = Node
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_deployment','site',)
class NodeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1307,7 +1497,7 @@
return None
class Meta:
model = Node
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_deployment','site',)
@@ -1334,7 +1524,7 @@
return None
class Meta:
model = DashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','url','enabled','controllers','deployments',)
class DashboardViewIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1358,7 +1548,7 @@
return None
class Meta:
model = DashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers','deployments',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','url','enabled','controllers','deployments',)
@@ -1377,7 +1567,7 @@
return None
class Meta:
model = ControllerNetwork
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','controller','net_id','router_id','subnet_id','subnet',)
class ControllerNetworkIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1393,7 +1583,7 @@
return None
class Meta:
model = ControllerNetwork
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','controller','net_id','router_id','subnet_id','subnet',)
@@ -1412,7 +1602,7 @@
return None
class Meta:
model = ImageDeployments
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','deployment',)
class ImageDeploymentsIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1428,7 +1618,7 @@
return None
class Meta:
model = ImageDeployments
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','deployment',)
@@ -1447,7 +1637,7 @@
return None
class Meta:
model = ControllerUser
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','controller','kuser_id',)
class ControllerUserIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1463,7 +1653,7 @@
return None
class Meta:
model = ControllerUser
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','controller','kuser_id',)
@@ -1482,7 +1672,7 @@
return None
class Meta:
model = ReservedResource
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance','resource','quantity','reservationSet',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance','resource','quantity','reservationSet',)
class ReservedResourceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1498,7 +1688,43 @@
return None
class Meta:
model = ReservedResource
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance','resource','quantity','reservationSet',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance','resource','quantity','reservationSet',)
+
+
+
+
+class NetworkTemplateSerializer(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 = NetworkTemplate
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+
+class NetworkTemplateIdSerializer(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 = NetworkTemplate
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+>>>>>>> origin/master
@@ -1517,7 +1743,7 @@
return None
class Meta:
model = NetworkSlice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','slice',)
class NetworkSliceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1533,7 +1759,7 @@
return None
class Meta:
model = NetworkSlice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','slice',)
@@ -1552,7 +1778,7 @@
return None
class Meta:
model = UserDashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','dashboardView','order',)
class UserDashboardViewIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1568,7 +1794,7 @@
return None
class Meta:
model = UserDashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','dashboardView','order',)
@@ -1591,7 +1817,7 @@
return None
class Meta:
model = Controller
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
class ControllerIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1611,7 +1837,42 @@
return None
class Meta:
model = Controller
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
+
+
+
+
+class PortSerializer(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 = Port
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
+
+class PortIdSerializer(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 = Port
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
@@ -1630,7 +1891,7 @@
return None
class Meta:
model = User
- fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
+ fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','is_appuser','login_page','created','updated','enacted','policed','backend_status','deleted','write_protect','timezone',)
class UserIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1646,7 +1907,7 @@
return None
class Meta:
model = User
- fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
+ fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','is_appuser','login_page','created','updated','enacted','policed','backend_status','deleted','write_protect','timezone',)
@@ -1681,7 +1942,7 @@
return None
class Meta:
model = Deployment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors','dashboardviews',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','accessControl','images','sites','flavors','dashboardviews',)
class DeploymentIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1713,7 +1974,7 @@
return None
class Meta:
model = Deployment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors','dashboardviews',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','accessControl','images','sites','flavors','dashboardviews',)
@@ -1732,7 +1993,7 @@
return None
class Meta:
model = Reservation
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','startTime','slice','duration',)
class ReservationIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1748,7 +2009,7 @@
return None
class Meta:
model = Reservation
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','startTime','slice','duration',)
@@ -1767,7 +2028,7 @@
return None
class Meta:
model = SitePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','site','role',)
class SitePrivilegeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1783,7 +2044,7 @@
return None
class Meta:
model = SitePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','site','role',)
@@ -1802,7 +2063,7 @@
return None
class Meta:
model = ControllerSlice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice','tenant_id',)
class ControllerSliceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1818,7 +2079,42 @@
return None
class Meta:
model = ControllerSlice
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice','tenant_id',)
+
+
+
+
+class TenantSerializer(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 = Tenant
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
+
+class TenantIdSerializer(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 = Tenant
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
@@ -1837,7 +2133,7 @@
return None
class Meta:
model = ControllerDashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','dashboardView','enabled','url',)
class ControllerDashboardViewIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1853,7 +2149,7 @@
return None
class Meta:
model = ControllerDashboardView
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','dashboardView','enabled','url',)
@@ -1872,7 +2168,7 @@
return None
class Meta:
model = Account
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site',)
class AccountIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1888,7 +2184,42 @@
return None
class Meta:
model = Account
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site',)
+
+
+
+
+class TenantRootSerializer(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 = TenantRoot
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
+
+class TenantRootIdSerializer(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 = TenantRoot
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
@@ -1907,7 +2238,7 @@
return None
class Meta:
model = ControllerRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
class ControllerRoleIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1923,7 +2254,7 @@
return None
class Meta:
model = ControllerRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
@@ -1942,7 +2273,7 @@
return None
class Meta:
model = NetworkParameterType
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description',)
class NetworkParameterTypeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1958,7 +2289,7 @@
return None
class Meta:
model = NetworkParameterType
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description',)
@@ -1977,7 +2308,7 @@
return None
class Meta:
model = SiteCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','name','key_id','enc_value',)
class SiteCredentialIdSerializer(XOSModelSerializer):
id = IdField()
@@ -1993,7 +2324,7 @@
return None
class Meta:
model = SiteCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','name','key_id','enc_value',)
@@ -2012,7 +2343,7 @@
return None
class Meta:
model = DeploymentPrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','deployment','role',)
class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2028,7 +2359,7 @@
return None
class Meta:
model = DeploymentPrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','deployment','role',)
@@ -2047,7 +2378,7 @@
return None
class Meta:
model = ControllerSlicePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice_privilege','role_id',)
class ControllerSlicePrivilegeIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2063,7 +2394,7 @@
return None
class Meta:
model = ControllerSlicePrivilege
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice_privilege','role_id',)
@@ -2082,7 +2413,7 @@
return None
class Meta:
model = SiteDeployment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','deployment','controller','availability_zone',)
class SiteDeploymentIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2098,7 +2429,7 @@
return None
class Meta:
model = SiteDeployment
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','deployment','controller','availability_zone',)
@@ -2117,7 +2448,7 @@
return None
class Meta:
model = DeploymentRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
class DeploymentRoleIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2133,7 +2464,7 @@
return None
class Meta:
model = DeploymentRole
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
@@ -2152,7 +2483,7 @@
return None
class Meta:
model = UserCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','name','key_id','enc_value',)
class UserCredentialIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2168,7 +2499,42 @@
return None
class Meta:
model = UserCredential
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','name','key_id','enc_value',)
+
+
+
+
+class TenantRootPrivilegeSerializer(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 = TenantRootPrivilege
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','tenant_root','role',)
+
+class TenantRootPrivilegeIdSerializer(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 = TenantRootPrivilege
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','tenant_root','role',)
@@ -2187,7 +2553,7 @@
return None
class Meta:
model = SliceTag
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','value',)
class SliceTagIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2203,12 +2569,12 @@
return None
class Meta:
model = SliceTag
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','value',)
-class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
+class CoarseTenantSerializer(serializers.HyperlinkedModelSerializer):
id = IdField()
humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2221,10 +2587,10 @@
except:
return None
class Meta:
- model = NetworkTemplate
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+ model = CoarseTenant
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
-class NetworkTemplateIdSerializer(XOSModelSerializer):
+class CoarseTenantIdSerializer(XOSModelSerializer):
id = IdField()
humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
@@ -2237,8 +2603,8 @@
except:
return None
class Meta:
- model = NetworkTemplate
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+ model = CoarseTenant
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
@@ -2265,7 +2631,7 @@
return None
class Meta:
model = Router
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','owner','networks','networks',)
class RouterIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2289,7 +2655,7 @@
return None
class Meta:
model = Router
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','owner','networks','networks',)
@@ -2308,7 +2674,7 @@
return None
class Meta:
model = ServiceResource
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
class ServiceResourceIdSerializer(XOSModelSerializer):
id = IdField()
@@ -2324,13 +2690,50 @@
return None
class Meta:
model = ServiceResource
- fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
+
+
+
+
+class ServicePrivilegeSerializer(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 = ServicePrivilege
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','service','role',)
+
+class ServicePrivilegeIdSerializer(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 = ServicePrivilege
+ fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','service','role',)
serializerLookUp = {
+ SiteRole: SiteRoleSerializer,
+
ServiceAttribute: ServiceAttributeSerializer,
ControllerImages: ControllerImagesSerializer,
@@ -2343,6 +2746,8 @@
Site: SiteSerializer,
+ TenantRootRole: TenantRootRoleSerializer,
+
SliceRole: SliceRoleSerializer,
Tag: TagSerializer,
@@ -2369,13 +2774,17 @@
Payment: PaymentSerializer,
+ Subscriber: SubscriberSerializer,
+
Charge: ChargeSerializer,
+ Program: ProgramSerializer,
+
Role: RoleSerializer,
UsableObject: UsableObjectSerializer,
- SiteRole: SiteRoleSerializer,
+ Provider: ProviderSerializer,
SliceCredential: SliceCredentialSerializer,
@@ -2393,12 +2802,16 @@
ReservedResource: ReservedResourceSerializer,
+ NetworkTemplate: NetworkTemplateSerializer,
+
NetworkSlice: NetworkSliceSerializer,
UserDashboardView: UserDashboardViewSerializer,
Controller: ControllerSerializer,
+ Port: PortSerializer,
+
User: UserSerializer,
Deployment: DeploymentSerializer,
@@ -2409,10 +2822,14 @@
ControllerSlice: ControllerSliceSerializer,
+ Tenant: TenantSerializer,
+
ControllerDashboardView: ControllerDashboardViewSerializer,
Account: AccountSerializer,
+ TenantRoot: TenantRootSerializer,
+
ControllerRole: ControllerRoleSerializer,
NetworkParameterType: NetworkParameterTypeSerializer,
@@ -2429,26 +2846,77 @@
UserCredential: UserCredentialSerializer,
+ TenantRootPrivilege: TenantRootPrivilegeSerializer,
+
SliceTag: SliceTagSerializer,
- NetworkTemplate: NetworkTemplateSerializer,
+ CoarseTenant: CoarseTenantSerializer,
Router: RouterSerializer,
ServiceResource: ServiceResourceSerializer,
+ ServicePrivilege: ServicePrivilegeSerializer,
+
None: None,
}
# Based on core/views/*.py
+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_status','deleted','write_protect','lazy_blocked','no_sync','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 ServiceAttributeList(XOSListCreateAPIView):
queryset = ServiceAttribute.objects.select_related().all()
serializer_class = ServiceAttributeSerializer
id_serializer_class = ServiceAttributeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','value','service',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2495,7 +2963,7 @@
serializer_class = ControllerImagesSerializer
id_serializer_class = ControllerImagesIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','controller','glance_image_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2542,7 +3010,7 @@
serializer_class = ControllerSitePrivilegeSerializer
id_serializer_class = ControllerSitePrivilegeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','site_privilege','role_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2589,7 +3057,7 @@
serializer_class = ImageSerializer
id_serializer_class = ImageIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','disk_format','container_format','path','deployments',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2636,7 +3104,7 @@
serializer_class = NetworkParameterSerializer
id_serializer_class = NetworkParameterIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','parameter','value','content_type','object_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2683,7 +3151,7 @@
serializer_class = SiteSerializer
id_serializer_class = SiteIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_url','enabled','hosts_nodes','hosts_users','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2725,12 +3193,59 @@
+class TenantRootRoleList(XOSListCreateAPIView):
+ queryset = TenantRootRole.objects.select_related().all()
+ serializer_class = TenantRootRoleSerializer
+ id_serializer_class = TenantRootRoleIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','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 TenantRootRole.select_by_user(self.request.user)
+
+
+class TenantRootRoleDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = TenantRootRole.objects.select_related().all()
+ serializer_class = TenantRootRoleSerializer
+ id_serializer_class = TenantRootRoleIdSerializer
+
+ 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 TenantRootRole.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class SliceRoleList(XOSListCreateAPIView):
queryset = SliceRole.objects.select_related().all()
serializer_class = SliceRoleSerializer
id_serializer_class = SliceRoleIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2777,7 +3292,7 @@
serializer_class = TagSerializer
id_serializer_class = TagIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','service','name','value','content_type','object_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2824,7 +3339,7 @@
serializer_class = InvoiceSerializer
id_serializer_class = InvoiceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','date','account',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2871,7 +3386,7 @@
serializer_class = SlicePrivilegeSerializer
id_serializer_class = SlicePrivilegeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','slice','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2918,7 +3433,7 @@
serializer_class = NetworkInstanceSerializer
id_serializer_class = NetworkInstanceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','instance','ip','port_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -2965,7 +3480,7 @@
serializer_class = FlavorSerializer
id_serializer_class = FlavorIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','flavor','order','default','deployments',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3012,7 +3527,7 @@
serializer_class = ControllerSiteSerializer
id_serializer_class = ControllerSiteIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','controller','tenant_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3059,7 +3574,7 @@
serializer_class = ProjectSerializer
id_serializer_class = ProjectIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3106,7 +3621,7 @@
serializer_class = SliceSerializer
id_serializer_class = SliceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_instances','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','enabled','omf_friendly','description','slice_url','site','max_instances','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3153,7 +3668,7 @@
serializer_class = NetworkSerializer
id_serializer_class = NetworkIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','instances','routers','routers',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','autoconnect','slices','slices','instances','routers','routers',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3200,7 +3715,7 @@
serializer_class = ServiceSerializer
id_serializer_class = ServiceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','description','enabled','kind','name','versionNumber','published','view_url','icon_url','public_key','service_specific_id','service_specific_attribute',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3247,7 +3762,7 @@
serializer_class = ServiceClassSerializer
id_serializer_class = ServiceClassIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3294,7 +3809,7 @@
serializer_class = PaymentSerializer
id_serializer_class = PaymentIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','amount','date',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3336,12 +3851,59 @@
+class SubscriberList(XOSListCreateAPIView):
+ queryset = Subscriber.objects.select_related().all()
+ serializer_class = SubscriberSerializer
+ id_serializer_class = SubscriberIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
+
+ 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 Subscriber.select_by_user(self.request.user)
+
+
+class SubscriberDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Subscriber.objects.select_related().all()
+ serializer_class = SubscriberSerializer
+ id_serializer_class = SubscriberIdSerializer
+
+ 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 Subscriber.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
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_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','account','slice','kind','state','date','object','amount','coreHours','invoice',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3383,12 +3945,59 @@
+class ProgramList(XOSListCreateAPIView):
+ queryset = Program.objects.select_related().all()
+ serializer_class = ProgramSerializer
+ id_serializer_class = ProgramIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','kind','command','owner','contents','output','messages','status',)
+
+ 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 Program.select_by_user(self.request.user)
+
+
+class ProgramDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Program.objects.select_related().all()
+ serializer_class = ProgramSerializer
+ id_serializer_class = ProgramIdSerializer
+
+ 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 Program.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class RoleList(XOSListCreateAPIView):
queryset = Role.objects.select_related().all()
serializer_class = RoleSerializer
id_serializer_class = RoleIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role_type','role','description','content_type',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3435,7 +4044,7 @@
serializer_class = UsableObjectSerializer
id_serializer_class = UsableObjectIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3477,12 +4086,12 @@
-class SiteRoleList(XOSListCreateAPIView):
- queryset = SiteRole.objects.select_related().all()
- serializer_class = SiteRoleSerializer
- id_serializer_class = SiteRoleIdSerializer
+class ProviderList(XOSListCreateAPIView):
+ queryset = Provider.objects.select_related().all()
+ serializer_class = ProviderSerializer
+ id_serializer_class = ProviderIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3496,13 +4105,13 @@
def get_queryset(self):
if (not self.request.user.is_authenticated()):
raise XOSNotAuthenticated()
- return SiteRole.select_by_user(self.request.user)
+ return Provider.select_by_user(self.request.user)
-class SiteRoleDetail(XOSRetrieveUpdateDestroyAPIView):
- queryset = SiteRole.objects.select_related().all()
- serializer_class = SiteRoleSerializer
- id_serializer_class = SiteRoleIdSerializer
+class ProviderDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Provider.objects.select_related().all()
+ serializer_class = ProviderSerializer
+ id_serializer_class = ProviderIdSerializer
def get_serializer_class(self):
no_hyperlinks=False
@@ -3516,7 +4125,7 @@
def get_queryset(self):
if (not self.request.user.is_authenticated()):
raise XOSNotAuthenticated()
- return SiteRole.select_by_user(self.request.user)
+ return Provider.select_by_user(self.request.user)
# update() is handled by XOSRetrieveUpdateDestroyAPIView
@@ -3529,7 +4138,7 @@
serializer_class = SliceCredentialSerializer
id_serializer_class = SliceCredentialIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','key_id','enc_value',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3576,7 +4185,7 @@
serializer_class = InstanceSerializer
id_serializer_class = InstanceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3623,7 +4232,7 @@
serializer_class = NodeSerializer
id_serializer_class = NodeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','site_deployment','site',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3670,7 +4279,7 @@
serializer_class = DashboardViewSerializer
id_serializer_class = DashboardViewIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers','deployments',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','url','enabled','controllers','deployments',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3717,7 +4326,7 @@
serializer_class = ControllerNetworkSerializer
id_serializer_class = ControllerNetworkIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','controller','net_id','router_id','subnet_id','subnet',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3764,7 +4373,7 @@
serializer_class = ImageDeploymentsSerializer
id_serializer_class = ImageDeploymentsIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','image','deployment',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3811,7 +4420,7 @@
serializer_class = ControllerUserSerializer
id_serializer_class = ControllerUserIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','controller','kuser_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3858,7 +4467,7 @@
serializer_class = ReservedResourceSerializer
id_serializer_class = ReservedResourceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance','resource','quantity','reservationSet',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','instance','resource','quantity','reservationSet',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3900,12 +4509,59 @@
+class NetworkTemplateList(XOSListCreateAPIView):
+ queryset = NetworkTemplate.objects.select_related().all()
+ serializer_class = NetworkTemplateSerializer
+ id_serializer_class = NetworkTemplateIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+
+ 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 NetworkTemplate.select_by_user(self.request.user)
+
+
+class NetworkTemplateDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = NetworkTemplate.objects.select_related().all()
+ serializer_class = NetworkTemplateSerializer
+ id_serializer_class = NetworkTemplateIdSerializer
+
+ 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 NetworkTemplate.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class NetworkSliceList(XOSListCreateAPIView):
queryset = NetworkSlice.objects.select_related().all()
serializer_class = NetworkSliceSerializer
id_serializer_class = NetworkSliceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','slice',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3952,7 +4608,7 @@
serializer_class = UserDashboardViewSerializer
id_serializer_class = UserDashboardViewIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','dashboardView','order',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -3999,7 +4655,7 @@
serializer_class = ControllerSerializer
id_serializer_class = ControllerIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','domain','deployment','dashboardviews',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4041,12 +4697,59 @@
+class PortList(XOSListCreateAPIView):
+ queryset = Port.objects.select_related().all()
+ serializer_class = PortSerializer
+ id_serializer_class = PortIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','network','instance','ip','port_id',)
+
+ 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 Port.select_by_user(self.request.user)
+
+
+class PortDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Port.objects.select_related().all()
+ serializer_class = PortSerializer
+ id_serializer_class = PortIdSerializer
+
+ 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 Port.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class UserList(XOSListCreateAPIView):
queryset = User.objects.select_related().all()
serializer_class = UserSerializer
id_serializer_class = UserIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
+ filter_fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','is_appuser','login_page','created','updated','enacted','policed','backend_status','deleted','write_protect','timezone',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4093,7 +4796,7 @@
serializer_class = DeploymentSerializer
id_serializer_class = DeploymentIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors','dashboardviews',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','accessControl','images','sites','flavors','dashboardviews',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4140,7 +4843,7 @@
serializer_class = ReservationSerializer
id_serializer_class = ReservationIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','startTime','slice','duration',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4187,7 +4890,7 @@
serializer_class = SitePrivilegeSerializer
id_serializer_class = SitePrivilegeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','site','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4234,7 +4937,7 @@
serializer_class = ControllerSliceSerializer
id_serializer_class = ControllerSliceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice','tenant_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4276,12 +4979,59 @@
+class TenantList(XOSListCreateAPIView):
+ queryset = Tenant.objects.select_related().all()
+ serializer_class = TenantSerializer
+ id_serializer_class = TenantIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
+
+ 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 Tenant.select_by_user(self.request.user)
+
+
+class TenantDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = Tenant.objects.select_related().all()
+ serializer_class = TenantSerializer
+ id_serializer_class = TenantIdSerializer
+
+ 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 Tenant.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class ControllerDashboardViewList(XOSListCreateAPIView):
queryset = ControllerDashboardView.objects.select_related().all()
serializer_class = ControllerDashboardViewSerializer
id_serializer_class = ControllerDashboardViewIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','dashboardView','enabled','url',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4328,7 +5078,7 @@
serializer_class = AccountSerializer
id_serializer_class = AccountIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4370,12 +5120,59 @@
+class TenantRootList(XOSListCreateAPIView):
+ queryset = TenantRoot.objects.select_related().all()
+ serializer_class = TenantRootSerializer
+ id_serializer_class = TenantRootIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','name','service_specific_attribute','service_specific_id',)
+
+ 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 TenantRoot.select_by_user(self.request.user)
+
+
+class TenantRootDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = TenantRoot.objects.select_related().all()
+ serializer_class = TenantRootSerializer
+ id_serializer_class = TenantRootIdSerializer
+
+ 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 TenantRoot.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class ControllerRoleList(XOSListCreateAPIView):
queryset = ControllerRole.objects.select_related().all()
serializer_class = ControllerRoleSerializer
id_serializer_class = ControllerRoleIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4422,7 +5219,7 @@
serializer_class = NetworkParameterTypeSerializer
id_serializer_class = NetworkParameterTypeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','description',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4469,7 +5266,7 @@
serializer_class = SiteCredentialSerializer
id_serializer_class = SiteCredentialIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','name','key_id','enc_value',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4516,7 +5313,7 @@
serializer_class = DeploymentPrivilegeSerializer
id_serializer_class = DeploymentPrivilegeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','deployment','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4563,7 +5360,7 @@
serializer_class = ControllerSlicePrivilegeSerializer
id_serializer_class = ControllerSlicePrivilegeIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','controller','slice_privilege','role_id',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4610,7 +5407,7 @@
serializer_class = SiteDeploymentSerializer
id_serializer_class = SiteDeploymentIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','site','deployment','controller','availability_zone',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4657,7 +5454,7 @@
serializer_class = DeploymentRoleSerializer
id_serializer_class = DeploymentRoleIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','role',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4704,7 +5501,7 @@
serializer_class = UserCredentialSerializer
id_serializer_class = UserCredentialIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','name','key_id','enc_value',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4746,12 +5543,59 @@
+class TenantRootPrivilegeList(XOSListCreateAPIView):
+ queryset = TenantRootPrivilege.objects.select_related().all()
+ serializer_class = TenantRootPrivilegeSerializer
+ id_serializer_class = TenantRootPrivilegeIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','tenant_root','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 TenantRootPrivilege.select_by_user(self.request.user)
+
+
+class TenantRootPrivilegeDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = TenantRootPrivilege.objects.select_related().all()
+ serializer_class = TenantRootPrivilegeSerializer
+ id_serializer_class = TenantRootPrivilegeIdSerializer
+
+ 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 TenantRootPrivilege.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView
+
+
+
class SliceTagList(XOSListCreateAPIView):
queryset = SliceTag.objects.select_related().all()
serializer_class = SliceTagSerializer
id_serializer_class = SliceTagIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','slice','name','value',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4793,12 +5637,12 @@
-class NetworkTemplateList(XOSListCreateAPIView):
- queryset = NetworkTemplate.objects.select_related().all()
- serializer_class = NetworkTemplateSerializer
- id_serializer_class = NetworkTemplateIdSerializer
+class CoarseTenantList(XOSListCreateAPIView):
+ queryset = CoarseTenant.objects.select_related().all()
+ serializer_class = CoarseTenantSerializer
+ id_serializer_class = CoarseTenantIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','kind','provider_service','subscriber_service','subscriber_tenant','subscriber_user','subscriber_root','service_specific_id','service_specific_attribute','connect_method',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4812,13 +5656,13 @@
def get_queryset(self):
if (not self.request.user.is_authenticated()):
raise XOSNotAuthenticated()
- return NetworkTemplate.select_by_user(self.request.user)
+ return CoarseTenant.select_by_user(self.request.user)
-class NetworkTemplateDetail(XOSRetrieveUpdateDestroyAPIView):
- queryset = NetworkTemplate.objects.select_related().all()
- serializer_class = NetworkTemplateSerializer
- id_serializer_class = NetworkTemplateIdSerializer
+class CoarseTenantDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = CoarseTenant.objects.select_related().all()
+ serializer_class = CoarseTenantSerializer
+ id_serializer_class = CoarseTenantIdSerializer
def get_serializer_class(self):
no_hyperlinks=False
@@ -4832,7 +5676,7 @@
def get_queryset(self):
if (not self.request.user.is_authenticated()):
raise XOSNotAuthenticated()
- return NetworkTemplate.select_by_user(self.request.user)
+ return CoarseTenant.select_by_user(self.request.user)
# update() is handled by XOSRetrieveUpdateDestroyAPIView
@@ -4845,7 +5689,7 @@
serializer_class = RouterSerializer
id_serializer_class = RouterIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','name','owner','networks','networks',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4892,7 +5736,7 @@
serializer_class = ServiceResourceSerializer
id_serializer_class = ServiceResourceIdSerializer
filter_backends = (filters.DjangoFilterBackend,)
- filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
def get_serializer_class(self):
no_hyperlinks=False
@@ -4934,3 +5778,47 @@
+class ServicePrivilegeList(XOSListCreateAPIView):
+ queryset = ServicePrivilege.objects.select_related().all()
+ serializer_class = ServicePrivilegeSerializer
+ id_serializer_class = ServicePrivilegeIdSerializer
+ filter_backends = (filters.DjangoFilterBackend,)
+ filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','write_protect','lazy_blocked','no_sync','user','service','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 ServicePrivilege.select_by_user(self.request.user)
+
+
+class ServicePrivilegeDetail(XOSRetrieveUpdateDestroyAPIView):
+ queryset = ServicePrivilege.objects.select_related().all()
+ serializer_class = ServicePrivilegeSerializer
+ id_serializer_class = ServicePrivilegeIdSerializer
+
+ 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 ServicePrivilege.select_by_user(self.request.user)
+
+ # update() is handled by XOSRetrieveUpdateDestroyAPIView
+
+ # destroy() is handled by XOSRetrieveUpdateDestroyAPIView