CORD-1351: Collapse core models into a single file

Change-Id: Ifec8e7d9aea3037a9dabfdc00a6d4b7df96e3973
diff --git a/xos/core/models/addresspool.xproto b/xos/core/models/addresspool.xproto
deleted file mode 100644
index e00dbb5..0000000
--- a/xos/core/models/addresspool.xproto
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-message AddressPool (XOSBase){
-     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
-     optional string addresses = 2 [db_index = False, null = True, blank = True];
-     optional string gateway_ip = 3 [db_index = False, max_length = 32, null = True, blank = False];
-     optional string gateway_mac = 4 [db_index = False, max_length = 32, null = True, blank = False];
-     optional string cidr = 5 [db_index = False, max_length = 32, null = True, blank = False];
-     optional string inuse = 6 [db_index = False, null = True, blank = True];
-     optional manytoone service->Service:addresspools = 7 [db_index = True, null = True, blank = True];
-}
diff --git a/xos/core/models/controller.xproto b/xos/core/models/controller.xproto
deleted file mode 100644
index 760ccc5..0000000
--- a/xos/core/models/controller.xproto
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-message Controller (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Controller", null = False, db_index = False];
-     required string backend_type = 2 [max_length = 200, content_type = "stripped", blank = False, help_text = "Type of compute controller, e.g. EC2, OpenStack, or OpenStack version", null = False, db_index = False];
-     required string version = 3 [max_length = 200, content_type = "stripped", blank = False, help_text = "Controller version", null = False, db_index = False];
-     optional string auth_url = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "Auth url for the compute controller", null = True, db_index = False];
-     optional string admin_user = 5 [max_length = 200, content_type = "stripped", blank = True, help_text = "Username of an admin user at this controller", null = True, db_index = False];
-     optional string admin_password = 6 [max_length = 200, content_type = "stripped", blank = True, help_text = "Password of theadmin user at this controller", null = True, db_index = False];
-     optional string admin_tenant = 7 [max_length = 200, content_type = "stripped", blank = True, help_text = "Name of the tenant the admin user belongs to", null = True, db_index = False];
-     optional string domain = 8 [max_length = 200, content_type = "stripped", blank = True, help_text = "Name of the domain this controller belongs to", null = True, db_index = False];
-     optional string rabbit_host = 9 [max_length = 200, content_type = "stripped", blank = True, help_text = "IP address of rabbitmq server at this controller", null = True, db_index = False];
-     optional string rabbit_user = 10 [max_length = 200, content_type = "stripped", blank = True, help_text = "Username of rabbitmq server at this controller", null = True, db_index = False];
-     optional string rabbit_password = 11 [max_length = 200, content_type = "stripped", blank = True, help_text = "Password of rabbitmq server at this controller", null = True, db_index = False];
-     required manytoone deployment->Deployment:controllerdeployments = 12 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/controllerdashboardview.xproto b/xos/core/models/controllerdashboardview.xproto
deleted file mode 100644
index ff84b95..0000000
--- a/xos/core/models/controllerdashboardview.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message ControllerDashboardView (XOSBase){
-     required manytoone controller->Controller:controllerdashboardviews = 1 [db_index = True, null = False, blank = False];
-     required manytoone dashboardView->DashboardView:controllerdashboardviews = 2 [db_index = True, null = False, blank = False];
-     required bool enabled = 3 [default = True, null = False, db_index = False, blank = True];
-     required string url = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "URL of Dashboard", null = False, db_index = False];
-}
diff --git a/xos/core/models/controllerimages.xproto b/xos/core/models/controllerimages.xproto
deleted file mode 100644
index aae8361..0000000
--- a/xos/core/models/controllerimages.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerImages (XOSBase){
-     required manytoone image->Image:controllerimages = 1 [db_index = True, null = False, blank = False];
-     required manytoone controller->Controller:controllerimages = 2 [db_index = True, null = False, blank = False];
-     optional string glance_image_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Glance image id", null = True, db_index = False];
-}
diff --git a/xos/core/models/controllernetwork.xproto b/xos/core/models/controllernetwork.xproto
deleted file mode 100644
index e6d2ef4..0000000
--- a/xos/core/models/controllernetwork.xproto
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-message ControllerNetwork (XOSBase){
-     required manytoone network->Network:controllernetworks = 1 [db_index = True, null = False, blank = False];
-     required manytoone controller->Controller:controllernetworks = 2 [db_index = True, null = False, blank = False];
-     required string subnet = 3 [db_index = False, max_length = 32, null = False, blank = True];
-     required string start_ip = 4 [db_index = False, max_length = 32, null = False, blank = True];
-     required string stop_ip = 5 [db_index = False, max_length = 32, null = False, blank = True];
-     optional string net_id = 6 [help_text = "Neutron network", max_length = 256, null = True, db_index = False, blank = True];
-     optional string router_id = 7 [help_text = "Neutron router id", max_length = 256, null = True, db_index = False, blank = True];
-     optional string subnet_id = 8 [help_text = "Neutron subnet id", max_length = 256, null = True, db_index = False, blank = True];
-     optional string gateway = 9 [db_index = False, max_length = 32, null = True, blank = True];
-     optional string segmentation_id = 10 [db_index = False, max_length = 32, null = True, blank = True];
-}
diff --git a/xos/core/models/controllerrole.xproto b/xos/core/models/controllerrole.xproto
deleted file mode 100644
index e2b586c..0000000
--- a/xos/core/models/controllerrole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message ControllerRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/controllersite.xproto b/xos/core/models/controllersite.xproto
deleted file mode 100644
index c092629..0000000
--- a/xos/core/models/controllersite.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerSite (XOSBase){
-     required manytoone site->Site:controllersite = 1 [db_index = True, null = False, blank = False];
-     optional manytoone controller->Controller:controllersite = 2 [db_index = True, null = True, blank = True];
-     optional string tenant_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone tenant id", null = True, db_index = True];
-}
diff --git a/xos/core/models/controllersiteprivilege.xproto b/xos/core/models/controllersiteprivilege.xproto
deleted file mode 100644
index 0bfd962..0000000
--- a/xos/core/models/controllersiteprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerSitePrivilege (XOSBase){
-     required manytoone controller->Controller:controllersiteprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone site_privilege->SitePrivilege:controllersiteprivileges = 2 [db_index = True, null = False, blank = False];
-     optional string role_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone id", null = True, db_index = True];
-}
diff --git a/xos/core/models/controllerslice.xproto b/xos/core/models/controllerslice.xproto
deleted file mode 100644
index 022835a..0000000
--- a/xos/core/models/controllerslice.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerSlice (XOSBase){
-     required manytoone controller->Controller:controllerslices = 1 [db_index = True, null = False, blank = False];
-     required manytoone slice->Slice:controllerslices = 2 [db_index = True, null = False, blank = False];
-     optional string tenant_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone tenant id", null = True, db_index = False];
-}
diff --git a/xos/core/models/controllersliceprivilege.xproto b/xos/core/models/controllersliceprivilege.xproto
deleted file mode 100644
index 5895519..0000000
--- a/xos/core/models/controllersliceprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerSlicePrivilege (XOSBase){
-     required manytoone controller->Controller:controllersliceprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone slice_privilege->SlicePrivilege:controllersliceprivileges = 2 [db_index = True, null = False, blank = False];
-     optional string role_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone id", null = True, db_index = True];
-}
diff --git a/xos/core/models/controlleruser.xproto b/xos/core/models/controlleruser.xproto
deleted file mode 100644
index 14737eb..0000000
--- a/xos/core/models/controlleruser.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ControllerUser (XOSBase){
-     required manytoone user->User:controllerusers = 1 [db_index = True, null = False, blank = False];
-     required manytoone controller->Controller:controllersusers = 2 [db_index = True, null = False, blank = False];
-     optional string kuser_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone user id", null = True, db_index = False];
-}
diff --git a/xos/core/models/core.xproto b/xos/core/models/core.xproto
new file mode 100644
index 0000000..ef0cce7
--- /dev/null
+++ b/xos/core/models/core.xproto
@@ -0,0 +1,451 @@
+message XOSBase {
+     option skip = True;
+     required string created = 1 [content_type = "date", auto_now_add = True];
+     required string updated = 2 [default = "now()", content_type = "date"];
+     optional string enacted = 3 [null = True, content_type = "date", blank = True, default = None];
+     optional string policed = 4 [null = True, content_type = "date", blank = True, default = None];
+     optional string backend_register = 5 [default = "{}", max_length = 1024, null = True];
+     required bool backend_need_delete = 6 [default = False];
+     required bool backend_need_reap = 7 [default = False];
+     required string backend_status = 8 [default = "0 - Provisioning in progress", max_length = 1024];
+     required bool deleted = 9 [default = False];
+     required bool write_protect = 10 [default = False];
+     required bool lazy_blocked = 11 [default = False];
+     required bool no_sync = 12 [default = False];
+     required bool no_policy = 13 [default = False];
+}
+
+message AddressPool (XOSBase) {
+     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
+     optional string addresses = 2 [db_index = False, null = True, blank = True];
+     optional string gateway_ip = 3 [db_index = False, max_length = 32, null = True, blank = False];
+     optional string gateway_mac = 4 [db_index = False, max_length = 32, null = True, blank = False];
+     optional string cidr = 5 [db_index = False, max_length = 32, null = True, blank = False];
+     optional string inuse = 6 [db_index = False, null = True, blank = True];
+     optional manytoone service->Service:addresspools = 7 [db_index = True, null = True, blank = True];
+}
+
+
+message Controller (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Controller", null = False, db_index = False];
+     required string backend_type = 2 [max_length = 200, content_type = "stripped", blank = False, help_text = "Type of compute controller, e.g. EC2, OpenStack, or OpenStack version", null = False, db_index = False];
+     required string version = 3 [max_length = 200, content_type = "stripped", blank = False, help_text = "Controller version", null = False, db_index = False];
+     optional string auth_url = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "Auth url for the compute controller", null = True, db_index = False];
+     optional string admin_user = 5 [max_length = 200, content_type = "stripped", blank = True, help_text = "Username of an admin user at this controller", null = True, db_index = False];
+     optional string admin_password = 6 [max_length = 200, content_type = "stripped", blank = True, help_text = "Password of theadmin user at this controller", null = True, db_index = False];
+     optional string admin_tenant = 7 [max_length = 200, content_type = "stripped", blank = True, help_text = "Name of the tenant the admin user belongs to", null = True, db_index = False];
+     optional string domain = 8 [max_length = 200, content_type = "stripped", blank = True, help_text = "Name of the domain this controller belongs to", null = True, db_index = False];
+     optional string rabbit_host = 9 [max_length = 200, content_type = "stripped", blank = True, help_text = "IP address of rabbitmq server at this controller", null = True, db_index = False];
+     optional string rabbit_user = 10 [max_length = 200, content_type = "stripped", blank = True, help_text = "Username of rabbitmq server at this controller", null = True, db_index = False];
+     optional string rabbit_password = 11 [max_length = 200, content_type = "stripped", blank = True, help_text = "Password of rabbitmq server at this controller", null = True, db_index = False];
+     required manytoone deployment->Deployment:controllerdeployments = 12 [db_index = True, null = False, blank = False];
+}
+
+
+message ControllerDashboardView (XOSBase) {
+     required manytoone controller->Controller:controllerdashboardviews = 1 [db_index = True, null = False, blank = False];
+     required manytoone dashboardView->DashboardView:controllerdashboardviews = 2 [db_index = True, null = False, blank = False];
+     required bool enabled = 3 [default = True, null = False, db_index = False, blank = True];
+     required string url = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "URL of Dashboard", null = False, db_index = False];
+}
+
+
+message ControllerImages (XOSBase) {
+     required manytoone image->Image:controllerimages = 1 [db_index = True, null = False, blank = False];
+     required manytoone controller->Controller:controllerimages = 2 [db_index = True, null = False, blank = False];
+     optional string glance_image_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Glance image id", null = True, db_index = False];
+}
+
+
+message ControllerNetwork (XOSBase) {
+     required manytoone network->Network:controllernetworks = 1 [db_index = True, null = False, blank = False];
+     required manytoone controller->Controller:controllernetworks = 2 [db_index = True, null = False, blank = False];
+     required string subnet = 3 [db_index = False, max_length = 32, null = False, blank = True];
+     required string start_ip = 4 [db_index = False, max_length = 32, null = False, blank = True];
+     required string stop_ip = 5 [db_index = False, max_length = 32, null = False, blank = True];
+     optional string net_id = 6 [help_text = "Neutron network", max_length = 256, null = True, db_index = False, blank = True];
+     optional string router_id = 7 [help_text = "Neutron router id", max_length = 256, null = True, db_index = False, blank = True];
+     optional string subnet_id = 8 [help_text = "Neutron subnet id", max_length = 256, null = True, db_index = False, blank = True];
+     optional string gateway = 9 [db_index = False, max_length = 32, null = True, blank = True];
+     optional string segmentation_id = 10 [db_index = False, max_length = 32, null = True, blank = True];
+}
+
+
+message ControllerRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message ControllerSite (XOSBase) {
+     required manytoone site->Site:controllersite = 1 [db_index = True, null = False, blank = False];
+     optional manytoone controller->Controller:controllersite = 2 [db_index = True, null = True, blank = True];
+     optional string tenant_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone tenant id", null = True, db_index = True];
+}
+
+
+message ControllerSitePrivilege (XOSBase) {
+     required manytoone controller->Controller:controllersiteprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone site_privilege->SitePrivilege:controllersiteprivileges = 2 [db_index = True, null = False, blank = False];
+     optional string role_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone id", null = True, db_index = True];
+}
+
+
+message ControllerSlice (XOSBase) {
+     required manytoone controller->Controller:controllerslices = 1 [db_index = True, null = False, blank = False];
+     required manytoone slice->Slice:controllerslices = 2 [db_index = True, null = False, blank = False];
+     optional string tenant_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone tenant id", null = True, db_index = False];
+}
+
+
+message ControllerSlicePrivilege (XOSBase) {
+     required manytoone controller->Controller:controllersliceprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone slice_privilege->SlicePrivilege:controllersliceprivileges = 2 [db_index = True, null = False, blank = False];
+     optional string role_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone id", null = True, db_index = True];
+}
+
+
+message ControllerUser (XOSBase) {
+     required manytoone user->User:controllerusers = 1 [db_index = True, null = False, blank = False];
+     required manytoone controller->Controller:controllersusers = 2 [db_index = True, null = False, blank = False];
+     optional string kuser_id = 3 [max_length = 200, content_type = "stripped", blank = True, help_text = "Keystone user id", null = True, db_index = False];
+}
+
+
+message DashboardView (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the View", null = False, db_index = False];
+     required string url = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "URL of Dashboard", null = False, db_index = False];
+     required bool enabled = 3 [default = True, null = False, db_index = False, blank = True];
+     required string icon = 4 [default = "default-icon.png", max_length = 200, blank = False, help_text = "Icon for Dashboard", null = False, db_index = False];
+     required string icon_active = 5 [default = "default-icon-active.png", max_length = 200, blank = False, help_text = "Icon for active Dashboard", null = False, db_index = False];
+     required manytomany controllers->Controller/ControllerDashboardView:dashboardviews = 6 [db_index = False, null = False, blank = True];
+     required manytomany deployments->Deployment/DashboardView_deployments:dashboardviews = 7 [help_text = "Deployments that should be included in this view", null = False, db_index = False, blank = True];
+}
+
+
+message Deployment (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Deployment", null = False, db_index = False];
+     required string accessControl = 2 [default = "allow all", max_length = 200, blank = False, help_text = "Access control list that specifies which sites/users may use nodes in this deployment", null = False, db_index = False];
+}
+
+
+message DeploymentPrivilege (XOSBase) {
+     required manytoone user->User:deploymentprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone deployment->Deployment:deploymentprivileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->DeploymentRole:deploymentprivileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message DeploymentRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message Diag (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the synchronizer", null = False, db_index = False];
+}
+
+
+message Flavor (XOSBase) {
+     required string name = 1 [max_length = 32, content_type = "stripped", blank = False, help_text = "name of this flavor, as displayed to users", null = False, db_index = False];
+     optional string description = 2 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
+     required string flavor = 3 [max_length = 32, content_type = "stripped", blank = False, help_text = "flavor string used to configure deployments", null = False, db_index = False];
+     required manytomany deployments->Deployment/DashboardView_deployments:flavors = 6 [db_index = False, null = False, blank = True];
+}
+
+
+message Image (XOSBase) {
+     required string name = 1 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
+     required string kind = 2 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'))", max_length = 30, blank = False, null = False, db_index = False];
+     required string disk_format = 3 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
+     required string container_format = 4 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
+     optional string path = 5 [max_length = 256, content_type = "stripped", blank = True, help_text = "Path to image on local disk", null = True, db_index = False];
+     optional string tag = 6 [max_length = 256, content_type = "stripped", blank = True, help_text = "For Docker Images, tag of image", null = True, db_index = False];
+     required manytomany deployments->Deployment/ImageDeployments:images = 7 [help_text = "Select which images should be instantiated on this deployment", null = False, db_index = False, blank = True];
+}
+
+
+message ImageDeployments (XOSBase) {
+     required manytoone image->Image:imagedeployments = 1 [db_index = True, null = False, blank = False];
+     required manytoone deployment->Deployment:imagedeployments = 2 [db_index = True, null = False, blank = False];
+}
+
+
+message Instance (XOSBase) {
+     optional string instance_id = 1 [max_length = 200, content_type = "stripped", blank = True, help_text = "Nova instance id", null = True, db_index = False];
+     optional string instance_uuid = 2 [max_length = 200, content_type = "stripped", blank = True, help_text = "Nova instance uuid", null = True, db_index = False];
+     required string name = 3 [max_length = 200, content_type = "stripped", blank = False, help_text = "Instance name", null = False, db_index = False];
+     optional string instance_name = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "OpenStack generated name", null = True, db_index = False];
+     optional string ip = 5 [max_length = 39, content_type = "ip", blank = True, help_text = "Instance ip address", null = True, db_index = False];
+     required manytoone image->Image:instances = 6 [db_index = True, null = False, blank = False];
+     optional manytoone creator->User:instances = 7 [db_index = True, null = True, blank = True];
+     required manytoone slice->Slice:instances = 8 [db_index = True, null = False, blank = False];
+     required manytoone deployment->Deployment:instance_deployment = 9 [db_index = True, null = False, blank = False];
+     required manytoone node->Node:instances = 10 [db_index = True, null = False, blank = False];
+     required int32 numberCores = 11 [help_text = "Number of cores for instance", default = 0, null = False, db_index = False, blank = False];
+     required manytoone flavor->Flavor:instance = 12 [help_text = "Flavor of this instance", null = False, db_index = True, blank = False];
+     optional string userData = 13 [help_text = "user_data passed to instance during creation", null = True, db_index = False, blank = True];
+     required string isolation = 14 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
+     optional string volumes = 15 [help_text = "Comma-separated list of directories to expose to parent context", null = True, db_index = False, blank = True];
+     optional manytoone parent->Instance:instance = 16 [help_text = "Parent Instance for containers nested inside of VMs", null = True, db_index = True, blank = True];
+}
+message Network (XOSBase) {
+     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
+     required manytoone template->NetworkTemplate:network = 2 [db_index = True, null = False, blank = False];
+     required string subnet = 3 [db_index = False, max_length = 32, null = False, blank = True];
+     required string start_ip = 4 [db_index = False, max_length = 32, null = False, blank = True];
+     required string end_ip = 5 [db_index = False, max_length = 32, null = False, blank = True];
+     optional string ports = 6 [db_index = False, max_length = 1024, null = True, blank = True];
+     optional string labels = 7 [db_index = False, max_length = 1024, null = True, blank = True];
+     required manytoone owner->Slice:ownedNetworks = 8 [help_text = "Slice that owns control of this Network", null = False, db_index = True, blank = False];
+     required bool permit_all_slices = 10 [default = False, null = False, db_index = False, blank = True];
+     required bool autoconnect = 17 [help_text = "This network can be autoconnected to the slice that owns it", default = True, null = False, db_index = False, blank = True];
+     required manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18 [db_index = False, null = False, blank = True];
+     required manytomany slices->Slice/NetworkSlice:networks = 19 [db_index = False, null = False, blank = True];
+     required manytomany instances->Instance/Port:networks = 20 [db_index = False, null = False, blank = True];
+}
+
+
+message NetworkParameter (XOSBase) {
+     required manytoone parameter->NetworkParameterType:networkparameters = 1 [help_text = "The type of the parameter", null = False, db_index = True, blank = False];
+     required string value = 2 [help_text = "The value of this parameter", max_length = 1024, null = False, db_index = False, blank = False];
+     required string content_type = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "Content type id linked to this network parameter", null = False, db_index = False];
+     required uint32 object_id = 4 [db_index = False, null = False, blank = False, help_text = "Object linked to this NetworkParameter"];
+}
+
+
+message NetworkParameterType (XOSBase) {
+     required string name = 1 [help_text = "The name of this parameter", max_length = 128, null = False, db_index = True, blank = False];
+     required string description = 2 [db_index = False, max_length = 1024, null = False, blank = False];
+}
+
+
+message NetworkSlice (XOSBase) {
+     required manytoone network->Network:networkslices = 1 [db_index = True, null = False, blank = False];
+     required manytoone slice->Slice:networkslices = 2 [db_index = True, null = False, blank = False];
+}
+message NetworkTemplate (XOSBase) {
+     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
+     optional string description = 2 [db_index = False, max_length = 1024, null = True, blank = True];
+     required string visibility = 4 [default = "private", choices = "(('public', 'public'), ('private', 'private'))", max_length = 30, blank = False, null = False, db_index = False];
+     required string translation = 5 [default = "none", choices = "(('none', 'none'), ('NAT', 'NAT'))", max_length = 30, blank = False, null = False, db_index = False];
+     optional string access = 6 [choices = "((None, 'None'), ('indirect', 'Indirect'), ('direct', 'Direct'))", max_length = 30, blank = True, help_text = "Advertise this network as a means for other slices to contact this slice", null = True, db_index = False];
+     optional string shared_network_name = 7 [db_index = False, max_length = 30, null = True, blank = True];
+     optional string shared_network_id = 8 [help_text = "Quantum network", max_length = 256, null = True, db_index = False, blank = True];
+     required string topology_kind = 9 [default = "bigswitch", choices = "(('bigswitch', 'BigSwitch'), ('physical', 'Physical'), ('custom', 'Custom'))", max_length = 30, blank = False, null = False, db_index = False];
+     optional string controller_kind = 10 [blank = True, max_length = 30, null = True, db_index = False, choices = "((None, 'None'), ('onos', 'ONOS'), ('custom', 'Custom'))"];
+     optional string vtn_kind = 11 [default = "PRIVATE", choices = "(('PRIVATE', 'Private'), ('PUBLIC', 'Public'), ('MANAGEMENT_LOCAL', 'Management Local'), ('MANAGEMENT_HOST', 'Management Host'), ('VSG', 'VSG'), ('ACCESS_AGENT', 'Access Agent'))", max_length = 30, blank = True, null = True, db_index = False];
+}
+message Node (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Node", null = False, db_index = False];
+     required manytoone site_deployment->SiteDeployment:nodes = 2 [db_index = True, null = False, blank = False];
+}
+message NodeLabel (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "label name", null = False, db_index = False];
+     required manytomany node->Node/NodeLabel_node:nodelabels = 2 [db_index = False, null = False, blank = True];
+}
+message Port (XOSBase) {
+     required manytoone network->Network:links = 1 [db_index = True, null = False, blank = False];
+     optional manytoone instance->Instance:ports = 2 [db_index = True, null = True, blank = True];
+     optional string ip = 3 [max_length = 39, content_type = "ip", blank = True, help_text = "Instance ip address", null = True, db_index = False];
+     optional string port_id = 4 [help_text = "Neutron port id", max_length = 256, null = True, db_index = False, blank = True];
+     optional string mac = 5 [help_text = "MAC address associated with this port", max_length = 256, null = True, db_index = False, blank = True];
+     required bool xos_created = 6 [default = False, null = False, db_index = False, blank = True];
+}
+
+
+message Role (XOSBase) {
+     required string role_type = 1 [db_index = False, max_length = 80, null = False, content_type = "stripped", blank = False];
+     optional string role = 2 [db_index = False, max_length = 80, null = True, content_type = "stripped", blank = True];
+     required string description = 3 [db_index = False, max_length = 120, null = False, content_type = "stripped", blank = False];
+}
+
+
+message Service (XOSBase,AttributeMixin) {
+     optional string description = 1 [help_text = "Description of Service", max_length = 254, null = True, db_index = False, blank = True];
+     required bool enabled = 2 [default = True, null = False, db_index = False, blank = True];
+     required string kind = 3 [default = "generic", max_length = 30, content_type = "stripped", blank = False, help_text = "Kind of service", null = False, db_index = False];
+     required string name = 4 [max_length = 30, content_type = "stripped", blank = False, help_text = "Service Name", null = False, db_index = False];
+     optional string versionNumber = 5 [max_length = 30, content_type = "stripped", blank = True, help_text = "Version of Service Definition", null = True, db_index = False];
+     required bool published = 6 [default = True, null = False, db_index = False, blank = True];
+     optional string view_url = 7 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
+     optional string icon_url = 8 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
+     optional string public_key = 9 [help_text = "Public key string", max_length = 1024, null = True, db_index = False, blank = True];
+     optional string private_key_fn = 10 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
+     optional string service_specific_id = 11 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
+     optional string service_specific_attribute = 12 [db_index = False, null = True, blank = True];
+}
+
+
+message ServiceAttribute (XOSBase) {
+     required string name = 1 [help_text = "Attribute Name", max_length = 128, null = False, db_index = False, blank = False];
+     required string value = 2 [help_text = "Attribute Value", null = False, db_index = False, blank = False];
+     required manytoone service->Service:serviceattributes = 3 [help_text = "The Service this attribute is associated with", null = False, db_index = True, blank = False];
+}
+
+
+message ServiceDependency (Tenant) {
+}
+
+
+message ServiceMonitoringAgentInfo (XOSBase) {
+     required string name = 1 [help_text = "Monitoring Agent Name", max_length = 128, null = False, db_index = False, blank = False];
+     optional manytoone service->Service:servicemonitoringagents = 2 [help_text = "The Service this attribute is associated with", null = True, db_index = True, blank = True];
+     required string target_uri = 3 [help_text = "Monitoring collector URI to be used by agents to publish the data", null = False, db_index = False, blank = False];
+}
+
+
+message ServicePrivilege (XOSBase) {
+     required manytoone user->User:serviceprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone service->Service:serviceprivileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->ServiceRole:serviceprivileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message ServiceRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message Site (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name for this Site", null = False, db_index = False];
+     optional string site_url = 2 [max_length = 512, content_type = "url", blank = True, help_text = "Site's Home URL Page", null = True, db_index = False];
+     required bool enabled = 3 [help_text = "Status for this Site", default = True, null = False, db_index = False, blank = True];
+     required bool hosts_nodes = 4 [help_text = "Indicates whether or not the site host nodes", default = True, null = False, db_index = False, blank = True];
+     required bool hosts_users = 5 [help_text = "Indicates whether or not the site manages user accounts", default = True, null = False, db_index = False, blank = True];
+     optional float longitude = 6 [db_index = False, null = True, blank = True];
+     optional float latitude = 7 [db_index = False, null = True, blank = True];
+     required string login_base = 8 [max_length = 50, content_type = "stripped", blank = False, help_text = "Prefix for Slices associated with this Site", null = False, db_index = False];
+     required bool is_public = 9 [help_text = "Indicates the visibility of this site to other members", default = True, null = False, db_index = False, blank = True];
+     required string abbreviated_name = 10 [db_index = False, max_length = 80, null = False, content_type = "stripped", blank = False];
+     required manytomany deployments->Deployment/SiteDeployment:sites = 11 [help_text = "Select which sites are allowed to host nodes in this deployment", null = False, db_index = False, blank = True];
+}
+
+
+message SiteDeployment (XOSBase) {
+     required manytoone site->Site:sitedeployments = 1 [db_index = True, null = False, blank = False];
+     required manytoone deployment->Deployment:sitedeployments = 2 [db_index = True, null = False, blank = False];
+     optional manytoone controller->Controller:sitedeployments = 3 [db_index = True, null = True, blank = True];
+     optional string availability_zone = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "OpenStack availability zone", null = True, db_index = False];
+}
+
+
+message SitePrivilege (XOSBase) {
+     required manytoone user->User:siteprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone site->Site:siteprivileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->SiteRole:siteprivileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message SiteRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'), ('pi', 'PI'), ('tech', 'Tech'), ('billing', 'Billing'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+message Slice (XOSBase) {
+     required string name = 1 [max_length = 80, content_type = "stripped", blank = False, help_text = "The Name of the Slice", null = False, db_index = False];
+     required bool enabled = 2 [help_text = "Status for this Slice", default = True, null = False, db_index = False, blank = True];
+     required string description = 4 [help_text = "High level description of the slice and expected activities", max_length = 1024, null = False, db_index = False, blank = True];
+     required string slice_url = 5 [db_index = False, max_length = 512, null = False, content_type = "url", blank = True];
+     required manytoone site->Site:slices = 6 [help_text = "The Site this Slice belongs to", null = False, db_index = True, blank = False];
+     required int32 max_instances = 7 [default = 10, null = False, db_index = False, blank = False];
+     optional manytoone service->Service:slices = 8 [db_index = True, null = True, blank = True];
+     optional string network = 9 [blank = True, max_length = 256, null = True, db_index = False, choices = "((None, 'Default'), ('host', 'Host'), ('bridged', 'Bridged'), ('noauto', 'No Automatic Networks'))"];
+     optional string exposed_ports = 10 [db_index = False, max_length = 256, null = True, blank = True];
+     optional manytoone creator->User:slices = 12 [db_index = True, null = True, blank = True];
+     optional manytoone default_flavor->Flavor:slices = 13 [db_index = True, null = True, blank = True];
+     optional manytoone default_image->Image:slices = 14 [db_index = True, null = True, blank = True];
+     optional manytoone default_node->Node:slices = 15 [db_index = True, null = True, blank = True];
+     optional string mount_data_sets = 16 [default = "GenBank", max_length = 256, content_type = "stripped", blank = True, null = True, db_index = False];
+     required string default_isolation = 17 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
+}
+
+
+message SlicePrivilege (XOSBase) {
+     required manytoone user->User:sliceprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone slice->Slice:sliceprivileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->SliceRole:sliceprivileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message SliceRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'), ('default', 'Default'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message Tag (XOSBase) {
+     required manytoone service->Service:tags = 1 [help_text = "The Service this Tag is associated with", null = False, db_index = True, blank = False];
+     required string name = 2 [help_text = "The name of this tag", max_length = 128, null = False, db_index = True, blank = False];
+     required string value = 3 [max_length = 1024, content_type = "stripped", blank = False, help_text = "The value of this tag", null = False, db_index = False];
+     required string content_type = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "Content type id linked to this tag", null = False, db_index = False];
+     required uint32 object_id = 5 [db_index = False, null = False, blank = False, help_text = "Object linked to this tag"];
+}
+
+
+message Tenant (XOSBase,AttributeMixin) {
+     optional string name = 1 [db_index = False, max_length = 200, null = True, content_type = "stripped", blank = True];
+     required string kind = 2 [default = "generic", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+     required manytoone provider_service->Service:provided_tenants = 3 [db_index = True, null = False, blank = False];
+     optional manytoone subscriber_service->Service:subscribed_tenants = 4 [db_index = True, null = True, blank = True];
+     optional manytoone subscriber_tenant->Tenant:subscribed_tenants = 5 [db_index = True, null = True, blank = True];
+     optional manytoone subscriber_user->User:subscribed_tenants = 6 [db_index = True, null = True, blank = True];
+     optional manytoone subscriber_root->TenantRoot:subscribed_tenants = 7 [db_index = True, null = True, blank = True];
+     optional manytoone subscriber_network->Network:subscribed_tenants = 8 [db_index = True, null = True, blank = True];
+     optional string service_specific_id = 9 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
+     optional string service_specific_attribute = 10 [db_index = False, null = True, blank = True];
+     required string connect_method = 11 [default = "na", choices = "(('public', 'Public'), ('private', 'Private'), ('private-unidirectional', 'Private Unidirectional'), ('na', 'Not Applicable'))", max_length = 30, blank = False, null = False, db_index = False];
+}
+
+
+message TenantAttribute (XOSBase) {
+     required string name = 1 [help_text = "Attribute Name", max_length = 128, null = False, db_index = False, blank = False];
+     required string value = 2 [help_text = "Attribute Value", null = False, db_index = False, blank = False];
+     required manytoone tenant->Tenant:tenantattributes = 3 [help_text = "The Tenant this attribute is associated with", null = False, db_index = True, blank = False];
+}
+
+
+message TenantPrivilege (XOSBase) {
+     required manytoone user->User:tenantprivileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone tenant->Tenant:tenantprivileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->TenantRole:tenantprivileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message TenantRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'), ('access', 'Access'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message TenantRoot (XOSBase,AttributeMixin) {
+     required string kind = 1 [default = "generic", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+     optional string name = 2 [max_length = 255, content_type = "stripped", blank = True, help_text = "name", null = True, db_index = False];
+     optional string service_specific_attribute = 3 [db_index = False, null = True, blank = True];
+     optional string service_specific_id = 4 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
+}
+
+
+message TenantRootPrivilege (XOSBase) {
+     required manytoone user->User:tenant_root_privileges = 1 [db_index = True, null = False, blank = False];
+     required manytoone tenant_root->TenantRoot:tenant_root_privileges = 2 [db_index = True, null = False, blank = False];
+     required manytoone role->TenantRootRole:tenant_root_privileges = 3 [db_index = True, null = False, blank = False];
+}
+
+
+message TenantRootRole (XOSBase) {
+     required string role = 1 [choices = "(('admin', 'Admin'), ('access', 'Access'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
+}
+
+
+message TenantWithContainer (Tenant) {
+     optional manytoone instance->Instance:+ = 1 [help_text = "Instance used by this Tenant", null = True, db_index = True, blank = True];
+     optional manytoone creator->User:+ = 2 [help_text = "Creator of this Tenant", null = True, db_index = True, blank = True];
+     optional string external_hostname = 3 [max_length = 30, content_type = "stripped", blank = True, help_text = "External host name", null = True, db_index = False];
+     optional string external_container = 4 [max_length = 30, content_type = "stripped", blank = True, help_text = "External host name", null = True, db_index = False];
+}
+
+
+message XOS (XOSBase) {
+     required string name = 1 [default = "XOS", max_length = 200, content_type = "stripped", blank = False, help_text = "Name of XOS", null = False, db_index = False];
+}
+
+message XOSGuiExtension (XOSBase) {
+     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the GUI Extensions", null = False, db_index = False];
+     required string files = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "List of comma separated file composing the view", null = False, db_index = False];
+}
diff --git a/xos/core/models/dashboardview.xproto b/xos/core/models/dashboardview.xproto
deleted file mode 100644
index ed67e5a..0000000
--- a/xos/core/models/dashboardview.xproto
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-message DashboardView (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the View", null = False, db_index = False];
-     required string url = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "URL of Dashboard", null = False, db_index = False];
-     required bool enabled = 3 [default = True, null = False, db_index = False, blank = True];
-     required string icon = 4 [default = "default-icon.png", max_length = 200, blank = False, help_text = "Icon for Dashboard", null = False, db_index = False];
-     required string icon_active = 5 [default = "default-icon-active.png", max_length = 200, blank = False, help_text = "Icon for active Dashboard", null = False, db_index = False];
-     required manytomany controllers->Controller/ControllerDashboardView:dashboardviews = 6 [db_index = False, null = False, blank = True];
-     required manytomany deployments->Deployment/DashboardView_deployments:dashboardviews = 7 [help_text = "Deployments that should be included in this view", null = False, db_index = False, blank = True];
-}
diff --git a/xos/core/models/deployment.xproto b/xos/core/models/deployment.xproto
deleted file mode 100644
index 3a0e03b..0000000
--- a/xos/core/models/deployment.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message Deployment (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Deployment", null = False, db_index = False];
-     required string accessControl = 2 [default = "allow all", max_length = 200, blank = False, help_text = "Access control list that specifies which sites/users may use nodes in this deployment", null = False, db_index = False];
-}
diff --git a/xos/core/models/deploymentprivilege.xproto b/xos/core/models/deploymentprivilege.xproto
deleted file mode 100644
index 2bd0286..0000000
--- a/xos/core/models/deploymentprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message DeploymentPrivilege (XOSBase){
-     required manytoone user->User:deploymentprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone deployment->Deployment:deploymentprivileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->DeploymentRole:deploymentprivileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/deploymentrole.xproto b/xos/core/models/deploymentrole.xproto
deleted file mode 100644
index fa483f7..0000000
--- a/xos/core/models/deploymentrole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message DeploymentRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/diag.xproto b/xos/core/models/diag.xproto
deleted file mode 100644
index 6396bb4..0000000
--- a/xos/core/models/diag.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message Diag (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the synchronizer", null = False, db_index = False];
-}
diff --git a/xos/core/models/flavor.xproto b/xos/core/models/flavor.xproto
deleted file mode 100644
index b76f419..0000000
--- a/xos/core/models/flavor.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message Flavor (XOSBase){
-     required string name = 1 [max_length = 32, content_type = "stripped", blank = False, help_text = "name of this flavor, as displayed to users", null = False, db_index = False];
-     optional string description = 2 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
-     required string flavor = 3 [max_length = 32, content_type = "stripped", blank = False, help_text = "flavor string used to configure deployments", null = False, db_index = False];
-     required manytomany deployments->Deployment/DashboardView_deployments:flavors = 6 [db_index = False, null = False, blank = True];
-}
diff --git a/xos/core/models/image.xproto b/xos/core/models/image.xproto
deleted file mode 100644
index a06070d..0000000
--- a/xos/core/models/image.xproto
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-message Image (XOSBase){
-     required string name = 1 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
-     required string kind = 2 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'))", max_length = 30, blank = False, null = False, db_index = False];
-     required string disk_format = 3 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
-     required string container_format = 4 [db_index = False, max_length = 256, null = False, content_type = "stripped", blank = False];
-     optional string path = 5 [max_length = 256, content_type = "stripped", blank = True, help_text = "Path to image on local disk", null = True, db_index = False];
-     optional string tag = 6 [max_length = 256, content_type = "stripped", blank = True, help_text = "For Docker Images, tag of image", null = True, db_index = False];
-     required manytomany deployments->Deployment/ImageDeployments:images = 7 [help_text = "Select which images should be instantiated on this deployment", null = False, db_index = False, blank = True];
-}
diff --git a/xos/core/models/imagedeployments.xproto b/xos/core/models/imagedeployments.xproto
deleted file mode 100644
index 6d985ce..0000000
--- a/xos/core/models/imagedeployments.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message ImageDeployments (XOSBase){
-     required manytoone image->Image:imagedeployments = 1 [db_index = True, null = False, blank = False];
-     required manytoone deployment->Deployment:imagedeployments = 2 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/instance.xproto b/xos/core/models/instance.xproto
deleted file mode 100644
index dbbd4cd..0000000
--- a/xos/core/models/instance.xproto
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-message Instance (XOSBase){
-     optional string instance_id = 1 [max_length = 200, content_type = "stripped", blank = True, help_text = "Nova instance id", null = True, db_index = False];
-     optional string instance_uuid = 2 [max_length = 200, content_type = "stripped", blank = True, help_text = "Nova instance uuid", null = True, db_index = False];
-     required string name = 3 [max_length = 200, content_type = "stripped", blank = False, help_text = "Instance name", null = False, db_index = False];
-     optional string instance_name = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "OpenStack generated name", null = True, db_index = False];
-     optional string ip = 5 [max_length = 39, content_type = "ip", blank = True, help_text = "Instance ip address", null = True, db_index = False];
-     required manytoone image->Image:instances = 6 [db_index = True, null = False, blank = False];
-     optional manytoone creator->User:instances = 7 [db_index = True, null = True, blank = True];
-     required manytoone slice->Slice:instances = 8 [db_index = True, null = False, blank = False];
-     required manytoone deployment->Deployment:instance_deployment = 9 [db_index = True, null = False, blank = False];
-     required manytoone node->Node:instances = 10 [db_index = True, null = False, blank = False];
-     required int32 numberCores = 11 [help_text = "Number of cores for instance", default = 0, null = False, db_index = False, blank = False];
-     required manytoone flavor->Flavor:instance = 12 [help_text = "Flavor of this instance", null = False, db_index = True, blank = False];
-     optional string userData = 13 [help_text = "user_data passed to instance during creation", null = True, db_index = False, blank = True];
-     required string isolation = 14 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
-     optional string volumes = 15 [help_text = "Comma-separated list of directories to expose to parent context", null = True, db_index = False, blank = True];
-     optional manytoone parent->Instance:instance = 16 [help_text = "Parent Instance for containers nested inside of VMs", null = True, db_index = True, blank = True];
-}
diff --git a/xos/core/models/network.xproto b/xos/core/models/network.xproto
deleted file mode 100644
index a44d378..0000000
--- a/xos/core/models/network.xproto
+++ /dev/null
@@ -1,15 +0,0 @@
-message Network (XOSBase){
-     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
-     required manytoone template->NetworkTemplate:network = 2 [db_index = True, null = False, blank = False];
-     required string subnet = 3 [db_index = False, max_length = 32, null = False, blank = True];
-     required string start_ip = 4 [db_index = False, max_length = 32, null = False, blank = True];
-     required string end_ip = 5 [db_index = False, max_length = 32, null = False, blank = True];
-     optional string ports = 6 [db_index = False, max_length = 1024, null = True, blank = True];
-     optional string labels = 7 [db_index = False, max_length = 1024, null = True, blank = True];
-     required manytoone owner->Slice:ownedNetworks = 8 [help_text = "Slice that owns control of this Network", null = False, db_index = True, blank = False];
-     required bool permit_all_slices = 10 [default = False, null = False, db_index = False, blank = True];
-     required bool autoconnect = 17 [help_text = "This network can be autoconnected to the slice that owns it", default = True, null = False, db_index = False, blank = True];
-     required manytomany permitted_slices->Slice/Network_permitted_slices:availableNetworks = 18 [db_index = False, null = False, blank = True];
-     required manytomany slices->Slice/NetworkSlice:networks = 19 [db_index = False, null = False, blank = True];
-     required manytomany instances->Instance/Port:networks = 20 [db_index = False, null = False, blank = True];
-}
diff --git a/xos/core/models/networkparameter.xproto b/xos/core/models/networkparameter.xproto
deleted file mode 100644
index 01ce43e..0000000
--- a/xos/core/models/networkparameter.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message NetworkParameter (XOSBase){
-     required manytoone parameter->NetworkParameterType:networkparameters = 1 [help_text = "The type of the parameter", null = False, db_index = True, blank = False];
-     required string value = 2 [help_text = "The value of this parameter", max_length = 1024, null = False, db_index = False, blank = False];
-     required string content_type = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "Content type id linked to this network parameter", null = False, db_index = False];
-     required uint32 object_id = 4 [db_index = False, null = False, blank = False, help_text = "Object linked to this NetworkParameter"];
-}
diff --git a/xos/core/models/networkparametertype.xproto b/xos/core/models/networkparametertype.xproto
deleted file mode 100644
index 840a345..0000000
--- a/xos/core/models/networkparametertype.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message NetworkParameterType (XOSBase){
-     required string name = 1 [help_text = "The name of this parameter", max_length = 128, null = False, db_index = True, blank = False];
-     required string description = 2 [db_index = False, max_length = 1024, null = False, blank = False];
-}
diff --git a/xos/core/models/networkslice.xproto b/xos/core/models/networkslice.xproto
deleted file mode 100644
index 1697fec..0000000
--- a/xos/core/models/networkslice.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message NetworkSlice (XOSBase){
-     required manytoone network->Network:networkslices = 1 [db_index = True, null = False, blank = False];
-     required manytoone slice->Slice:networkslices = 2 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/networktemplate.xproto b/xos/core/models/networktemplate.xproto
deleted file mode 100644
index ab7fe1d..0000000
--- a/xos/core/models/networktemplate.xproto
+++ /dev/null
@@ -1,12 +0,0 @@
-message NetworkTemplate (XOSBase){
-     required string name = 1 [db_index = False, max_length = 32, null = False, blank = False];
-     optional string description = 2 [db_index = False, max_length = 1024, null = True, blank = True];
-     required string visibility = 4 [default = "private", choices = "(('public', 'public'), ('private', 'private'))", max_length = 30, blank = False, null = False, db_index = False];
-     required string translation = 5 [default = "none", choices = "(('none', 'none'), ('NAT', 'NAT'))", max_length = 30, blank = False, null = False, db_index = False];
-     optional string access = 6 [choices = "((None, 'None'), ('indirect', 'Indirect'), ('direct', 'Direct'))", max_length = 30, blank = True, help_text = "Advertise this network as a means for other slices to contact this slice", null = True, db_index = False];
-     optional string shared_network_name = 7 [db_index = False, max_length = 30, null = True, blank = True];
-     optional string shared_network_id = 8 [help_text = "Quantum network", max_length = 256, null = True, db_index = False, blank = True];
-     required string topology_kind = 9 [default = "bigswitch", choices = "(('bigswitch', 'BigSwitch'), ('physical', 'Physical'), ('custom', 'Custom'))", max_length = 30, blank = False, null = False, db_index = False];
-     optional string controller_kind = 10 [blank = True, max_length = 30, null = True, db_index = False, choices = "((None, 'None'), ('onos', 'ONOS'), ('custom', 'Custom'))"];
-     optional string vtn_kind = 11 [default = "PRIVATE", choices = "(('PRIVATE', 'Private'), ('PUBLIC', 'Public'), ('MANAGEMENT_LOCAL', 'Management Local'), ('MANAGEMENT_HOST', 'Management Host'), ('VSG', 'VSG'), ('ACCESS_AGENT', 'Access Agent'))", max_length = 30, blank = True, null = True, db_index = False];
-}
diff --git a/xos/core/models/node.xproto b/xos/core/models/node.xproto
deleted file mode 100644
index f4b12b0..0000000
--- a/xos/core/models/node.xproto
+++ /dev/null
@@ -1,4 +0,0 @@
-message Node (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the Node", null = False, db_index = False];
-     required manytoone site_deployment->SiteDeployment:nodes = 2 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/nodelabel.xproto b/xos/core/models/nodelabel.xproto
deleted file mode 100644
index bf00ae7..0000000
--- a/xos/core/models/nodelabel.xproto
+++ /dev/null
@@ -1,4 +0,0 @@
-message NodeLabel (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "label name", null = False, db_index = False];
-     required manytomany node->Node/NodeLabel_node:nodelabels = 2 [db_index = False, null = False, blank = True];
-}
diff --git a/xos/core/models/port.xproto b/xos/core/models/port.xproto
deleted file mode 100644
index d7841ab..0000000
--- a/xos/core/models/port.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-message Port (XOSBase){
-     required manytoone network->Network:links = 1 [db_index = True, null = False, blank = False];
-     optional manytoone instance->Instance:ports = 2 [db_index = True, null = True, blank = True];
-     optional string ip = 3 [max_length = 39, content_type = "ip", blank = True, help_text = "Instance ip address", null = True, db_index = False];
-     optional string port_id = 4 [help_text = "Neutron port id", max_length = 256, null = True, db_index = False, blank = True];
-     optional string mac = 5 [help_text = "MAC address associated with this port", max_length = 256, null = True, db_index = False, blank = True];
-     required bool xos_created = 6 [default = False, null = False, db_index = False, blank = True];
-}
diff --git a/xos/core/models/role.xproto b/xos/core/models/role.xproto
deleted file mode 100644
index d55dcc0..0000000
--- a/xos/core/models/role.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message Role (XOSBase){
-     required string role_type = 1 [db_index = False, max_length = 80, null = False, content_type = "stripped", blank = False];
-     optional string role = 2 [db_index = False, max_length = 80, null = True, content_type = "stripped", blank = True];
-     required string description = 3 [db_index = False, max_length = 120, null = False, content_type = "stripped", blank = False];
-}
diff --git a/xos/core/models/service.xproto b/xos/core/models/service.xproto
deleted file mode 100644
index daaddf6..0000000
--- a/xos/core/models/service.xproto
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-message Service (XOSBase,AttributeMixin){
-     optional string description = 1 [help_text = "Description of Service", max_length = 254, null = True, db_index = False, blank = True];
-     required bool enabled = 2 [default = True, null = False, db_index = False, blank = True];
-     required string kind = 3 [default = "generic", max_length = 30, content_type = "stripped", blank = False, help_text = "Kind of service", null = False, db_index = False];
-     required string name = 4 [max_length = 30, content_type = "stripped", blank = False, help_text = "Service Name", null = False, db_index = False];
-     optional string versionNumber = 5 [max_length = 30, content_type = "stripped", blank = True, help_text = "Version of Service Definition", null = True, db_index = False];
-     required bool published = 6 [default = True, null = False, db_index = False, blank = True];
-     optional string view_url = 7 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
-     optional string icon_url = 8 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
-     optional string public_key = 9 [help_text = "Public key string", max_length = 1024, null = True, db_index = False, blank = True];
-     optional string private_key_fn = 10 [db_index = False, max_length = 1024, null = True, content_type = "stripped", blank = True];
-     optional string service_specific_id = 11 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
-     optional string service_specific_attribute = 12 [db_index = False, null = True, blank = True];
-}
diff --git a/xos/core/models/serviceattribute.xproto b/xos/core/models/serviceattribute.xproto
deleted file mode 100644
index 8c9d209..0000000
--- a/xos/core/models/serviceattribute.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ServiceAttribute (XOSBase){
-     required string name = 1 [help_text = "Attribute Name", max_length = 128, null = False, db_index = False, blank = False];
-     required string value = 2 [help_text = "Attribute Value", null = False, db_index = False, blank = False];
-     required manytoone service->Service:serviceattributes = 3 [help_text = "The Service this attribute is associated with", null = False, db_index = True, blank = False];
-}
diff --git a/xos/core/models/servicedependency.xproto b/xos/core/models/servicedependency.xproto
deleted file mode 100644
index 09248fe..0000000
--- a/xos/core/models/servicedependency.xproto
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-message ServiceDependency (Tenant){
-}
diff --git a/xos/core/models/servicemonitoringagentinfo.xproto b/xos/core/models/servicemonitoringagentinfo.xproto
deleted file mode 100644
index 59ce1c8..0000000
--- a/xos/core/models/servicemonitoringagentinfo.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ServiceMonitoringAgentInfo (XOSBase){
-     required string name = 1 [help_text = "Monitoring Agent Name", max_length = 128, null = False, db_index = False, blank = False];
-     optional manytoone service->Service:servicemonitoringagents = 2 [help_text = "The Service this attribute is associated with", null = True, db_index = True, blank = True];
-     required string target_uri = 3 [help_text = "Monitoring collector URI to be used by agents to publish the data", null = False, db_index = False, blank = False];
-}
diff --git a/xos/core/models/serviceprivilege.xproto b/xos/core/models/serviceprivilege.xproto
deleted file mode 100644
index 6714b17..0000000
--- a/xos/core/models/serviceprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message ServicePrivilege (XOSBase){
-     required manytoone user->User:serviceprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone service->Service:serviceprivileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->ServiceRole:serviceprivileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/servicerole.xproto b/xos/core/models/servicerole.xproto
deleted file mode 100644
index 74c9bb9..0000000
--- a/xos/core/models/servicerole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message ServiceRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'),)", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/site.xproto b/xos/core/models/site.xproto
deleted file mode 100644
index c71fa20..0000000
--- a/xos/core/models/site.xproto
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-message Site (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name for this Site", null = False, db_index = False];
-     optional string site_url = 2 [max_length = 512, content_type = "url", blank = True, help_text = "Site's Home URL Page", null = True, db_index = False];
-     required bool enabled = 3 [help_text = "Status for this Site", default = True, null = False, db_index = False, blank = True];
-     required bool hosts_nodes = 4 [help_text = "Indicates whether or not the site host nodes", default = True, null = False, db_index = False, blank = True];
-     required bool hosts_users = 5 [help_text = "Indicates whether or not the site manages user accounts", default = True, null = False, db_index = False, blank = True];
-     optional float longitude = 6 [db_index = False, null = True, blank = True];
-     optional float latitude = 7 [db_index = False, null = True, blank = True];
-     required string login_base = 8 [max_length = 50, content_type = "stripped", blank = False, help_text = "Prefix for Slices associated with this Site", null = False, db_index = False];
-     required bool is_public = 9 [help_text = "Indicates the visibility of this site to other members", default = True, null = False, db_index = False, blank = True];
-     required string abbreviated_name = 10 [db_index = False, max_length = 80, null = False, content_type = "stripped", blank = False];
-     required manytomany deployments->Deployment/SiteDeployment:sites = 11 [help_text = "Select which sites are allowed to host nodes in this deployment", null = False, db_index = False, blank = True];
-}
diff --git a/xos/core/models/sitedeployment.xproto b/xos/core/models/sitedeployment.xproto
deleted file mode 100644
index ff23abf..0000000
--- a/xos/core/models/sitedeployment.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message SiteDeployment (XOSBase){
-     required manytoone site->Site:sitedeployments = 1 [db_index = True, null = False, blank = False];
-     required manytoone deployment->Deployment:sitedeployments = 2 [db_index = True, null = False, blank = False];
-     optional manytoone controller->Controller:sitedeployments = 3 [db_index = True, null = True, blank = True];
-     optional string availability_zone = 4 [max_length = 200, content_type = "stripped", blank = True, help_text = "OpenStack availability zone", null = True, db_index = False];
-}
diff --git a/xos/core/models/siteprivilege.xproto b/xos/core/models/siteprivilege.xproto
deleted file mode 100644
index 0f277c2..0000000
--- a/xos/core/models/siteprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message SitePrivilege (XOSBase){
-     required manytoone user->User:siteprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone site->Site:siteprivileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->SiteRole:siteprivileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/siterole.xproto b/xos/core/models/siterole.xproto
deleted file mode 100644
index 58b638e..0000000
--- a/xos/core/models/siterole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message SiteRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'), ('pi', 'PI'), ('tech', 'Tech'), ('billing', 'Billing'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/slice.xproto b/xos/core/models/slice.xproto
deleted file mode 100644
index 9adf2a9..0000000
--- a/xos/core/models/slice.xproto
+++ /dev/null
@@ -1,17 +0,0 @@
-message Slice (XOSBase){
-     required string name = 1 [max_length = 80, content_type = "stripped", blank = False, help_text = "The Name of the Slice", null = False, db_index = False];
-     required bool enabled = 2 [help_text = "Status for this Slice", default = True, null = False, db_index = False, blank = True];
-     required string description = 4 [help_text = "High level description of the slice and expected activities", max_length = 1024, null = False, db_index = False, blank = True];
-     required string slice_url = 5 [db_index = False, max_length = 512, null = False, content_type = "url", blank = True];
-     required manytoone site->Site:slices = 6 [help_text = "The Site this Slice belongs to", null = False, db_index = True, blank = False];
-     required int32 max_instances = 7 [default = 10, null = False, db_index = False, blank = False];
-     optional manytoone service->Service:slices = 8 [db_index = True, null = True, blank = True];
-     optional string network = 9 [blank = True, max_length = 256, null = True, db_index = False, choices = "((None, 'Default'), ('host', 'Host'), ('bridged', 'Bridged'), ('noauto', 'No Automatic Networks'))"];
-     optional string exposed_ports = 10 [db_index = False, max_length = 256, null = True, blank = True];
-     optional manytoone creator->User:slices = 12 [db_index = True, null = True, blank = True];
-     optional manytoone default_flavor->Flavor:slices = 13 [db_index = True, null = True, blank = True];
-     optional manytoone default_image->Image:slices = 14 [db_index = True, null = True, blank = True];
-     optional manytoone default_node->Node:slices = 15 [db_index = True, null = True, blank = True];
-     optional string mount_data_sets = 16 [default = "GenBank", max_length = 256, content_type = "stripped", blank = True, null = True, db_index = False];
-     required string default_isolation = 17 [default = "vm", choices = "(('vm', 'Virtual Machine'), ('container', 'Container'), ('container_vm', 'Container In VM'))", max_length = 30, blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/sliceprivilege.xproto b/xos/core/models/sliceprivilege.xproto
deleted file mode 100644
index 6c85a8c..0000000
--- a/xos/core/models/sliceprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message SlicePrivilege (XOSBase){
-     required manytoone user->User:sliceprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone slice->Slice:sliceprivileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->SliceRole:sliceprivileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/slicerole.xproto b/xos/core/models/slicerole.xproto
deleted file mode 100644
index 7d6eb19..0000000
--- a/xos/core/models/slicerole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message SliceRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'), ('default', 'Default'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/tag.xproto b/xos/core/models/tag.xproto
deleted file mode 100644
index a2cd9b2..0000000
--- a/xos/core/models/tag.xproto
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-message Tag (XOSBase){
-     required manytoone service->Service:tags = 1 [help_text = "The Service this Tag is associated with", null = False, db_index = True, blank = False];
-     required string name = 2 [help_text = "The name of this tag", max_length = 128, null = False, db_index = True, blank = False];
-     required string value = 3 [max_length = 1024, content_type = "stripped", blank = False, help_text = "The value of this tag", null = False, db_index = False];
-     required string content_type = 4 [max_length = 1024, content_type = "stripped", blank = False, help_text = "Content type id linked to this tag", null = False, db_index = False];
-     required uint32 object_id = 5 [db_index = False, null = False, blank = False, help_text = "Object linked to this tag"];
-}
diff --git a/xos/core/models/tenant.xproto b/xos/core/models/tenant.xproto
deleted file mode 100644
index 384d119..0000000
--- a/xos/core/models/tenant.xproto
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-message Tenant (XOSBase,AttributeMixin){
-     optional string name = 1 [db_index = False, max_length = 200, null = True, content_type = "stripped", blank = True];
-     required string kind = 2 [default = "generic", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     required manytoone provider_service->Service:provided_tenants = 3 [db_index = True, null = False, blank = False];
-     optional manytoone subscriber_service->Service:subscribed_tenants = 4 [db_index = True, null = True, blank = True];
-     optional manytoone subscriber_tenant->Tenant:subscribed_tenants = 5 [db_index = True, null = True, blank = True];
-     optional manytoone subscriber_user->User:subscribed_tenants = 6 [db_index = True, null = True, blank = True];
-     optional manytoone subscriber_root->TenantRoot:subscribed_tenants = 7 [db_index = True, null = True, blank = True];
-     optional manytoone subscriber_network->Network:subscribed_tenants = 8 [db_index = True, null = True, blank = True];
-     optional string service_specific_id = 9 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
-     optional string service_specific_attribute = 10 [db_index = False, null = True, blank = True];
-     required string connect_method = 11 [default = "na", choices = "(('public', 'Public'), ('private', 'Private'), ('private-unidirectional', 'Private Unidirectional'), ('na', 'Not Applicable'))", max_length = 30, blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/tenantattribute.xproto b/xos/core/models/tenantattribute.xproto
deleted file mode 100644
index 82c35d5..0000000
--- a/xos/core/models/tenantattribute.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message TenantAttribute (XOSBase){
-     required string name = 1 [help_text = "Attribute Name", max_length = 128, null = False, db_index = False, blank = False];
-     required string value = 2 [help_text = "Attribute Value", null = False, db_index = False, blank = False];
-     required manytoone tenant->Tenant:tenantattributes = 3 [help_text = "The Tenant this attribute is associated with", null = False, db_index = True, blank = False];
-}
diff --git a/xos/core/models/tenantprivilege.xproto b/xos/core/models/tenantprivilege.xproto
deleted file mode 100644
index e98aaec..0000000
--- a/xos/core/models/tenantprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message TenantPrivilege (XOSBase){
-     required manytoone user->User:tenantprivileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone tenant->Tenant:tenantprivileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->TenantRole:tenantprivileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/tenantrole.xproto b/xos/core/models/tenantrole.xproto
deleted file mode 100644
index 54ed436..0000000
--- a/xos/core/models/tenantrole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message TenantRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'), ('access', 'Access'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/tenantroot.xproto b/xos/core/models/tenantroot.xproto
deleted file mode 100644
index 00c3154..0000000
--- a/xos/core/models/tenantroot.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message TenantRoot (XOSBase,AttributeMixin){
-     required string kind = 1 [default = "generic", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-     optional string name = 2 [max_length = 255, content_type = "stripped", blank = True, help_text = "name", null = True, db_index = False];
-     optional string service_specific_attribute = 3 [db_index = False, null = True, blank = True];
-     optional string service_specific_id = 4 [db_index = False, max_length = 30, null = True, content_type = "stripped", blank = True];
-}
diff --git a/xos/core/models/tenantrootprivilege.xproto b/xos/core/models/tenantrootprivilege.xproto
deleted file mode 100644
index 39e8b5c..0000000
--- a/xos/core/models/tenantrootprivilege.xproto
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-message TenantRootPrivilege (XOSBase){
-     required manytoone user->User:tenant_root_privileges = 1 [db_index = True, null = False, blank = False];
-     required manytoone tenant_root->TenantRoot:tenant_root_privileges = 2 [db_index = True, null = False, blank = False];
-     required manytoone role->TenantRootRole:tenant_root_privileges = 3 [db_index = True, null = False, blank = False];
-}
diff --git a/xos/core/models/tenantrootrole.xproto b/xos/core/models/tenantrootrole.xproto
deleted file mode 100644
index 2297b33..0000000
--- a/xos/core/models/tenantrootrole.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message TenantRootRole (XOSBase){
-     required string role = 1 [choices = "(('admin', 'Admin'), ('access', 'Access'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
-}
diff --git a/xos/core/models/tenantwithcontainer.xproto b/xos/core/models/tenantwithcontainer.xproto
deleted file mode 100644
index 2bef221..0000000
--- a/xos/core/models/tenantwithcontainer.xproto
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-message TenantWithContainer (Tenant){
-     optional manytoone instance->Instance:+ = 1 [help_text = "Instance used by this Tenant", null = True, db_index = True, blank = True];
-     optional manytoone creator->User:+ = 2 [help_text = "Creator of this Tenant", null = True, db_index = True, blank = True];
-     optional string external_hostname = 3 [max_length = 30, content_type = "stripped", blank = True, help_text = "External host name", null = True, db_index = False];
-     optional string external_container = 4 [max_length = 30, content_type = "stripped", blank = True, help_text = "External host name", null = True, db_index = False];
-}
diff --git a/xos/core/models/xos.xproto b/xos/core/models/xos.xproto
deleted file mode 100644
index 32ed1d7..0000000
--- a/xos/core/models/xos.xproto
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-message XOS (XOSBase){
-     required string name = 1 [default = "XOS", max_length = 200, content_type = "stripped", blank = False, help_text = "Name of XOS", null = False, db_index = False];
-}
diff --git a/xos/core/models/xosbase.xproto b/xos/core/models/xosbase.xproto
deleted file mode 100644
index f3def66..0000000
--- a/xos/core/models/xosbase.xproto
+++ /dev/null
@@ -1,15 +0,0 @@
-message XOSBase {
-     required string created = 1 [content_type = "date", auto_now_add = True];
-     required string updated = 2 [default = "now()", content_type = "date"];
-     optional string enacted = 3 [null = True, content_type = "date", blank = True, default = None];
-     optional string policed = 4 [null = True, content_type = "date", blank = True, default = None];
-     optional string backend_register = 5 [default = "{}", max_length = 1024, null = True];
-     required bool backend_need_delete = 6 [default = False];
-     required bool backend_need_reap = 7 [default = False];
-     required string backend_status = 8 [default = "0 - Provisioning in progress", max_length = 1024];
-     required bool deleted = 9 [default = False];
-     required bool write_protect = 10 [default = False];
-     required bool lazy_blocked = 11 [default = False];
-     required bool no_sync = 12 [default = False];
-     required bool no_policy = 13 [default = False];
-}
diff --git a/xos/core/models/xosguiextension.xproto b/xos/core/models/xosguiextension.xproto
deleted file mode 100644
index 5d0c58e..0000000
--- a/xos/core/models/xosguiextension.xproto
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-message XOSGuiExtension (XOSBase){
-     required string name = 1 [max_length = 200, content_type = "stripped", blank = False, help_text = "Name of the GUI Extensions", null = False, db_index = False];
-     required string files = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "List of comma separated file composing the view", null = False, db_index = False];
-}
diff --git a/xos/genx/targets/init.xtarget b/xos/genx/targets/init.xtarget
index b089e53..1ecc071 100644
--- a/xos/genx/targets/init.xtarget
+++ b/xos/genx/targets/init.xtarget
@@ -10,5 +10,7 @@
 from .journal import JournalEntry, journal_object
 
 {% for m in proto.messages -%}
+{% if not m.options.skip -%}
 from .{{ m.name | lower }} import {{ m.name }} 
+{% endif -%}
 {% endfor -%}