CORD-763 ORM layer and annotations for core api

Change-Id: Iea9bee56811dbd81b9c1ece12eae2f88450f1bb2
diff --git a/xos/grpc/orm.py b/xos/grpc/orm.py
new file mode 100644
index 0000000..380a208
--- /dev/null
+++ b/xos/grpc/orm.py
@@ -0,0 +1,130 @@
+"""
+Django-like ORM layer for gRPC
+
+Usage:
+    api = ORMStub(stub)
+
+    api.Slices.all() ... list all slices
+
+    someSlice = api.Slices.get(id=1) ... get slice #1
+
+    someSlice.site ... automatically resolves site_id into a site object
+    someSlice.save() ... saves the slice object
+"""
+
+"""
+import grpc_client, orm
+c=grpc_client.SecureClient("xos-core.cord.lab", username="padmin@vicci.org", password="letmein")
+xos_orm=orm.ORMStub(c.stub)

+u=xos_orm.User.objects.get(id=1)

+"""

+
+import functools
+import grpc_client
+from google.protobuf.empty_pb2 import Empty
+from protos.common_pb2 import ID
+from protos.xosoptions_pb2 import foreignKey
+
+class ORMWrapper(object):
+    def __init__(self, wrapped_class, stub):
+        super(ORMWrapper, self).__setattr__("_wrapped_class", wrapped_class)
+        super(ORMWrapper, self).__setattr__("stub", stub)
+        super(ORMWrapper, self).__setattr__("cache", {})
+        fkmap=self.gen_fkmap()
+        super(ORMWrapper, self).__setattr__("_fkmap", fkmap)
+
+    def gen_fkmap(self):
+        fkmap = {}
+
+        for (name, field) in self._wrapped_class.DESCRIPTOR.fields_by_name.items():
+           if name.endswith("_id"):
+               fk = field.GetOptions().Extensions[foreignKey]
+               if fk:
+                   fkmap[name[:-3]] = {"src_fieldName": name, "modelName": fk.modelName}
+
+        return fkmap
+
+    def fk_resolve(self, name):
+        if name in self.cache:
+            return ORMWrapper(self.cache[name], self.stub)
+
+        fk_entry = self._fkmap[name]
+        get_method = getattr(self.stub, "Get%s" % fk_entry["modelName"])
+        id=ID(id=getattr(self, fk_entry["src_fieldName"]))
+        dest_model = get_method(id)
+
+        self.cache[name] = dest_model
+
+        return ORMWrapper(dest_model, self.stub)
+
+    def __getattr__(self, name, *args, **kwargs):
+        # note: getattr is only called for attributes that do not exist in
+        #       self.__dict__
+
+        if name in self._fkmap.keys():
+            return self.fk_resolve(name)
+
+        return getattr(self._wrapped_class, name, *args, **kwargs)
+
+    def __setattr__(self, name, value):
+        if name in self.__dict__:
+            super(ORMWrapper,self).__setattr__(name, value)
+        else:
+            setattr(self._wrapped_class, name, value)
+
+    def __repr__(self):
+        return self._wrapped_class.__repr__()
+
+    def save(self):
+        update_method = getattr(self.stub,"Update%s" % self._wrapped_class.__class__.__name__)
+        update_method(self._wrapped_class)
+
+    def delete(self):
+        delete_method = getattr(self.stub,"Delete%s" % self._wrapped_class.__class__.__name__)
+        id = ID(id=self._wrapped_class.id)
+        delete_method(id)
+
+class ORMObjectManager(object):
+    def __init__(self, stub, modelName):
+        self._stub = stub
+        self._modelName = modelName
+
+    def wrap_single(self, obj):
+        return ORMWrapper(obj, self._stub)
+
+    def wrap_list(self, obj):
+        result=[]
+        for item in obj.items:
+            result.append(ORMWrapper(item, self._stub))
+        return result
+
+    def all(self):
+        list_method = getattr(self._stub, "List%s" % self._modelName)
+        return self.wrap_list(list_method(Empty()))
+
+    def get(self, id):
+        get_method = getattr(self._stub, "Get%s" % self._modelName)
+        return self.wrap_single(get_method(ID(id=id)))
+
+class ORMModelClass(object):
+    def __init__(self, stub, model_name):
+        self.objects = ORMObjectManager(stub, model_name)
+
+class ORMStub(object):
+    def __init__(self, stub):
+        for name in dir(stub):
+           if name.startswith("Get"):
+               model_name = name[3:]
+               setattr(self,model_name, ORMModelClass(stub, model_name))
+
+#def wrap_get(*args, **kwargs):
+#    stub=kwargs.pop("stub")
+#    getmethod=kwargs.pop("getmethod")
+#    result = getmethod(*args, **kwargs)
+#    return ORMWrapper(result)
+#
+#def wrap_stub(stub):
+#    for name in dir(stub):
+#        if name.startswith("Get"):
+#            setattr(stub, name, functools.partial(wrap_get, stub=stub, getmethod=getattr(stub,name)))
+
diff --git a/xos/grpc/protos/xos.proto b/xos/grpc/protos/xos.proto
deleted file mode 100644
index fb1a10d..0000000
--- a/xos/grpc/protos/xos.proto
+++ /dev/null
@@ -1,7716 +0,0 @@
-syntax = "proto3";
-
-package xos;
-
-import "google/protobuf/empty.proto";
-import "google/api/annotations.proto";
-import "common.proto";
-
-// Note: all fields are wrapped in a "oneof". This causes proto3 to always send
-// fields that are set by the caller, regardless if they are set to a default
-// value. XOS uses this to know when to apply a default value.
-
-
-
-message ServiceControllerResource {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof loadable_module_present {
-      int32 loadable_module_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof subdirectory_present {
-      string subdirectory = 17;
-    }
-    oneof kind_present {
-      string kind = 18;
-    }
-    oneof format_present {
-      string format = 19;
-    }
-    oneof url_present {
-      string url = 20;
-    }
-}
-
-message ServiceControllerResources {
-    repeated ServiceControllerResource items = 1;
-}
-
-
-
-message XOSVolume {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof xos_present {
-      int32 xos_id = 15;
-    }
-    oneof container_path_present {
-      string container_path = 16;
-    }
-    oneof host_path_present {
-      string host_path = 17;
-    }
-    oneof read_only_present {
-      bool read_only = 18;
-    }
-}
-
-message XOSVolumes {
-    repeated XOSVolume items = 1;
-}
-
-
-
-message ServiceAttribute {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof value_present {
-      string value = 16;
-    }
-    oneof service_present {
-      int32 service_id = 17;
-    }
-}
-
-message ServiceAttributes {
-    repeated ServiceAttribute items = 1;
-}
-
-
-
-message ControllerImages {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof image_present {
-      int32 image_id = 15;
-    }
-    oneof controller_present {
-      int32 controller_id = 16;
-    }
-    oneof glance_image_id_present {
-      string glance_image_id = 17;
-    }
-}
-
-message ControllerImagess {
-    repeated ControllerImages items = 1;
-}
-
-
-
-message ControllerSitePrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof controller_present {
-      int32 controller_id = 15;
-    }
-    oneof site_privilege_present {
-      int32 site_privilege_id = 16;
-    }
-    oneof role_id_present {
-      string role_id = 17;
-    }
-}
-
-message ControllerSitePrivileges {
-    repeated ControllerSitePrivilege items = 1;
-}
-
-
-
-message Image {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof kind_present {
-      string kind = 16;
-    }
-    oneof disk_format_present {
-      string disk_format = 17;
-    }
-    oneof container_format_present {
-      string container_format = 18;
-    }
-    oneof path_present {
-      string path = 19;
-    }
-    oneof tag_present {
-      string tag = 20;
-    }
-}
-
-message Images {
-    repeated Image items = 1;
-}
-
-
-
-message ControllerNetwork {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof network_present {
-      int32 network_id = 15;
-    }
-    oneof controller_present {
-      int32 controller_id = 16;
-    }
-    oneof subnet_present {
-      string subnet = 17;
-    }
-    oneof start_ip_present {
-      string start_ip = 18;
-    }
-    oneof stop_ip_present {
-      string stop_ip = 19;
-    }
-    oneof net_id_present {
-      string net_id = 20;
-    }
-    oneof router_id_present {
-      string router_id = 21;
-    }
-    oneof subnet_id_present {
-      string subnet_id = 22;
-    }
-    oneof gateway_present {
-      string gateway = 23;
-    }
-    oneof segmentation_id_present {
-      string segmentation_id = 24;
-    }
-}
-
-message ControllerNetworks {
-    repeated ControllerNetwork items = 1;
-}
-
-
-
-message Site {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof site_url_present {
-      string site_url = 16;
-    }
-    oneof enabled_present {
-      bool enabled = 17;
-    }
-    oneof hosts_nodes_present {
-      bool hosts_nodes = 18;
-    }
-    oneof hosts_users_present {
-      bool hosts_users = 19;
-    }
-    oneof longitude_present {
-      float longitude = 20;
-    }
-    oneof latitude_present {
-      float latitude = 21;
-    }
-    oneof login_base_present {
-      string login_base = 22;
-    }
-    oneof is_public_present {
-      bool is_public = 23;
-    }
-    oneof abbreviated_name_present {
-      string abbreviated_name = 24;
-    }
-}
-
-message Sites {
-    repeated Site items = 1;
-}
-
-
-
-message Library {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof xos_present {
-      int32 xos_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof base_url_present {
-      string base_url = 17;
-    }
-    oneof version_present {
-      string version = 18;
-    }
-    oneof provides_present {
-      string provides = 19;
-    }
-    oneof requires_present {
-      string requires = 20;
-    }
-}
-
-message Librarys {
-    repeated Library items = 1;
-}
-
-
-
-message SliceRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message SliceRoles {
-    repeated SliceRole items = 1;
-}
-
-
-
-message SiteDeployment {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof site_present {
-      int32 site_id = 15;
-    }
-    oneof deployment_present {
-      int32 deployment_id = 16;
-    }
-    oneof controller_present {
-      int32 controller_id = 17;
-    }
-    oneof availability_zone_present {
-      string availability_zone = 18;
-    }
-}
-
-message SiteDeployments {
-    repeated SiteDeployment items = 1;
-}
-
-
-
-message XOSComponentLink {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof component_present {
-      int32 component_id = 15;
-    }
-    oneof container_present {
-      string container = 16;
-    }
-    oneof alias_present {
-      string alias = 17;
-    }
-    oneof kind_present {
-      string kind = 18;
-    }
-}
-
-message XOSComponentLinks {
-    repeated XOSComponentLink items = 1;
-}
-
-
-
-message TenantPrivilege {
-    oneof created_present {
-      float created = 1;
-    }
-    oneof updated_present {
-      float updated = 2;
-    }
-    oneof enacted_present {
-      float enacted = 3;
-    }
-    oneof policed_present {
-      float policed = 4;
-    }
-    oneof backend_register_present {
-      string backend_register = 5;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 6;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 7;
-    }
-    oneof backend_status_present {
-      string backend_status = 8;
-    }
-    oneof deleted_present {
-      bool deleted = 9;
-    }
-    oneof write_protect_present {
-      bool write_protect = 10;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 11;
-    }
-    oneof no_sync_present {
-      bool no_sync = 12;
-    }
-    oneof no_policy_present {
-      bool no_policy = 13;
-    }
-    oneof id_present {
-      int32 id = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof tenant_present {
-      int32 tenant_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message TenantPrivileges {
-    repeated TenantPrivilege items = 1;
-}
-
-
-
-message Tag {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof service_present {
-      int32 service_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof value_present {
-      string value = 17;
-    }
-    oneof content_type_present {
-      int32 content_type_id = 18;
-    }
-    oneof object_id_present {
-      uint32 object_id = 19;
-    }
-}
-
-message Tags {
-    repeated Tag items = 1;
-}
-
-
-
-message ServiceMonitoringAgentInfo {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof service_present {
-      int32 service_id = 16;
-    }
-    oneof target_uri_present {
-      string target_uri = 17;
-    }
-}
-
-message ServiceMonitoringAgentInfos {
-    repeated ServiceMonitoringAgentInfo items = 1;
-}
-
-
-
-message XOSComponent {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof xos_present {
-      int32 xos_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof base_url_present {
-      string base_url = 17;
-    }
-    oneof version_present {
-      string version = 18;
-    }
-    oneof provides_present {
-      string provides = 19;
-    }
-    oneof requires_present {
-      string requires = 20;
-    }
-    oneof image_present {
-      string image = 21;
-    }
-    oneof command_present {
-      string command = 22;
-    }
-    oneof ports_present {
-      string ports = 23;
-    }
-}
-
-message XOSComponents {
-    repeated XOSComponent items = 1;
-}
-
-
-
-message Invoice {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof date_present {
-      float date = 15;
-    }
-    oneof account_present {
-      int32 account_id = 16;
-    }
-}
-
-message Invoices {
-    repeated Invoice items = 1;
-}
-
-
-
-message SlicePrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof slice_present {
-      int32 slice_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message SlicePrivileges {
-    repeated SlicePrivilege items = 1;
-}
-
-
-
-message Flavor {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof description_present {
-      string description = 16;
-    }
-    oneof flavor_present {
-      string flavor = 17;
-    }
-    oneof order_present {
-      int32 order = 18;
-    }
-    oneof default_present {
-      bool default = 19;
-    }
-}
-
-message Flavors {
-    repeated Flavor items = 1;
-}
-
-
-
-message Port {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof network_present {
-      int32 network_id = 15;
-    }
-    oneof instance_present {
-      int32 instance_id = 16;
-    }
-    oneof ip_present {
-      string ip = 17;
-    }
-    oneof port_id_present {
-      string port_id = 18;
-    }
-    oneof mac_present {
-      string mac = 19;
-    }
-    oneof xos_created_present {
-      bool xos_created = 20;
-    }
-}
-
-message Ports {
-    repeated Port items = 1;
-}
-
-
-
-message ServiceRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message ServiceRoles {
-    repeated ServiceRole items = 1;
-}
-
-
-
-message ControllerSite {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof site_present {
-      int32 site_id = 15;
-    }
-    oneof controller_present {
-      int32 controller_id = 16;
-    }
-    oneof tenant_id_present {
-      string tenant_id = 17;
-    }
-}
-
-message ControllerSites {
-    repeated ControllerSite items = 1;
-}
-
-
-
-message ControllerSlice {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof controller_present {
-      int32 controller_id = 15;
-    }
-    oneof slice_present {
-      int32 slice_id = 16;
-    }
-    oneof tenant_id_present {
-      string tenant_id = 17;
-    }
-}
-
-message ControllerSlices {
-    repeated ControllerSlice items = 1;
-}
-
-
-
-message TenantRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message TenantRoles {
-    repeated TenantRole items = 1;
-}
-
-
-
-message Slice {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof enabled_present {
-      bool enabled = 16;
-    }
-    oneof omf_friendly_present {
-      bool omf_friendly = 17;
-    }
-    oneof description_present {
-      string description = 18;
-    }
-    oneof slice_url_present {
-      string slice_url = 19;
-    }
-    oneof site_present {
-      int32 site_id = 20;
-    }
-    oneof max_instances_present {
-      int32 max_instances = 21;
-    }
-    oneof service_present {
-      int32 service_id = 22;
-    }
-    oneof network_present {
-      string network = 23;
-    }
-    oneof exposed_ports_present {
-      string exposed_ports = 24;
-    }
-    oneof serviceClass_present {
-      int32 serviceClass_id = 25;
-    }
-    oneof creator_present {
-      int32 creator_id = 26;
-    }
-    oneof default_flavor_present {
-      int32 default_flavor_id = 27;
-    }
-    oneof default_image_present {
-      int32 default_image_id = 28;
-    }
-    oneof default_node_present {
-      int32 default_node_id = 29;
-    }
-    oneof mount_data_sets_present {
-      string mount_data_sets = 30;
-    }
-    oneof default_isolation_present {
-      string default_isolation = 31;
-    }
-}
-
-message Slices {
-    repeated Slice items = 1;
-}
-
-
-
-message LoadableModuleResource {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof loadable_module_present {
-      int32 loadable_module_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof subdirectory_present {
-      string subdirectory = 17;
-    }
-    oneof kind_present {
-      string kind = 18;
-    }
-    oneof format_present {
-      string format = 19;
-    }
-    oneof url_present {
-      string url = 20;
-    }
-}
-
-message LoadableModuleResources {
-    repeated LoadableModuleResource items = 1;
-}
-
-
-
-message ControllerRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message ControllerRoles {
-    repeated ControllerRole items = 1;
-}
-
-
-
-message Diag {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-}
-
-message Diags {
-    repeated Diag items = 1;
-}
-
-
-
-message XOS {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof ui_port_present {
-      int32 ui_port = 16;
-    }
-    oneof bootstrap_ui_port_present {
-      int32 bootstrap_ui_port = 17;
-    }
-    oneof db_container_name_present {
-      string db_container_name = 18;
-    }
-    oneof redis_container_name_present {
-      string redis_container_name = 19;
-    }
-    oneof docker_project_name_present {
-      string docker_project_name = 20;
-    }
-    oneof enable_build_present {
-      bool enable_build = 21;
-    }
-    oneof frontend_only_present {
-      bool frontend_only = 22;
-    }
-    oneof source_ui_image_present {
-      string source_ui_image = 23;
-    }
-    oneof extra_hosts_present {
-      string extra_hosts = 24;
-    }
-    oneof no_start_present {
-      bool no_start = 25;
-    }
-}
-
-message XOSs {
-    repeated XOS items = 1;
-}
-
-
-
-message ServiceClass {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof description_present {
-      string description = 16;
-    }
-    oneof commitment_present {
-      int32 commitment = 17;
-    }
-    oneof membershipFee_present {
-      int32 membershipFee = 18;
-    }
-    oneof membershipFeeMonths_present {
-      int32 membershipFeeMonths = 19;
-    }
-    oneof upgradeRequiresApproval_present {
-      bool upgradeRequiresApproval = 20;
-    }
-}
-
-message ServiceClasss {
-    repeated ServiceClass items = 1;
-}
-
-
-
-message TenantAttribute {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof value_present {
-      string value = 16;
-    }
-    oneof tenant_present {
-      int32 tenant_id = 17;
-    }
-}
-
-message TenantAttributes {
-    repeated TenantAttribute items = 1;
-}
-
-
-
-message SiteRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message SiteRoles {
-    repeated SiteRole items = 1;
-}
-
-
-
-message Subscriber {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 17;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 18;
-    }
-}
-
-message Subscribers {
-    repeated Subscriber items = 1;
-}
-
-
-
-message Instance {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof instance_id_present {
-      string instance_id = 15;
-    }
-    oneof instance_uuid_present {
-      string instance_uuid = 16;
-    }
-    oneof name_present {
-      string name = 17;
-    }
-    oneof instance_name_present {
-      string instance_name = 18;
-    }
-    oneof ip_present {
-      string ip = 19;
-    }
-    oneof image_present {
-      int32 image_id = 20;
-    }
-    oneof creator_present {
-      int32 creator_id = 21;
-    }
-    oneof slice_present {
-      int32 slice_id = 22;
-    }
-    oneof deployment_present {
-      int32 deployment_id = 23;
-    }
-    oneof node_present {
-      int32 node_id = 24;
-    }
-    oneof numberCores_present {
-      int32 numberCores = 25;
-    }
-    oneof flavor_present {
-      int32 flavor_id = 26;
-    }
-    oneof userData_present {
-      string userData = 27;
-    }
-    oneof isolation_present {
-      string isolation = 28;
-    }
-    oneof volumes_present {
-      string volumes = 29;
-    }
-    oneof parent_present {
-      int32 parent_id = 30;
-    }
-}
-
-message Instances {
-    repeated Instance items = 1;
-}
-
-
-
-message Charge {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof account_present {
-      int32 account_id = 15;
-    }
-    oneof slice_present {
-      int32 slice_id = 16;
-    }
-    oneof kind_present {
-      string kind = 17;
-    }
-    oneof state_present {
-      string state = 18;
-    }
-    oneof date_present {
-      float date = 19;
-    }
-    oneof object_present {
-      int32 object_id = 20;
-    }
-    oneof amount_present {
-      float amount = 21;
-    }
-    oneof coreHours_present {
-      float coreHours = 22;
-    }
-    oneof invoice_present {
-      int32 invoice_id = 23;
-    }
-}
-
-message Charges {
-    repeated Charge items = 1;
-}
-
-
-
-message Program {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof description_present {
-      string description = 16;
-    }
-    oneof kind_present {
-      string kind = 17;
-    }
-    oneof command_present {
-      string command = 18;
-    }
-    oneof owner_present {
-      int32 owner_id = 19;
-    }
-    oneof contents_present {
-      string contents = 20;
-    }
-    oneof output_present {
-      string output = 21;
-    }
-    oneof messages_present {
-      string messages = 22;
-    }
-    oneof status_present {
-      string status = 23;
-    }
-}
-
-message Programs {
-    repeated Program items = 1;
-}
-
-
-
-message Role {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_type_present {
-      string role_type = 15;
-    }
-    oneof role_present {
-      string role = 16;
-    }
-    oneof description_present {
-      string description = 17;
-    }
-    oneof content_type_present {
-      int32 content_type_id = 18;
-    }
-}
-
-message Roles {
-    repeated Role items = 1;
-}
-
-
-
-message NodeLabel {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-}
-
-message NodeLabels {
-    repeated NodeLabel items = 1;
-}
-
-
-
-message NetworkTemplate {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof description_present {
-      string description = 16;
-    }
-    oneof guaranteed_bandwidth_present {
-      int32 guaranteed_bandwidth = 17;
-    }
-    oneof visibility_present {
-      string visibility = 18;
-    }
-    oneof translation_present {
-      string translation = 19;
-    }
-    oneof access_present {
-      string access = 20;
-    }
-    oneof shared_network_name_present {
-      string shared_network_name = 21;
-    }
-    oneof shared_network_id_present {
-      string shared_network_id = 22;
-    }
-    oneof topology_kind_present {
-      string topology_kind = 23;
-    }
-    oneof controller_kind_present {
-      string controller_kind = 24;
-    }
-    oneof vtn_kind_present {
-      string vtn_kind = 25;
-    }
-}
-
-message NetworkTemplates {
-    repeated NetworkTemplate items = 1;
-}
-
-
-
-message ServiceController {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof xos_present {
-      int32 xos_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof base_url_present {
-      string base_url = 17;
-    }
-    oneof version_present {
-      string version = 18;
-    }
-    oneof provides_present {
-      string provides = 19;
-    }
-    oneof requires_present {
-      string requires = 20;
-    }
-    oneof synchronizer_run_present {
-      string synchronizer_run = 21;
-    }
-    oneof synchronizer_config_present {
-      string synchronizer_config = 22;
-    }
-    oneof no_start_present {
-      bool no_start = 23;
-    }
-}
-
-message ServiceControllers {
-    repeated ServiceController items = 1;
-}
-
-
-
-message LoadableModule {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof xos_present {
-      int32 xos_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof base_url_present {
-      string base_url = 17;
-    }
-    oneof version_present {
-      string version = 18;
-    }
-    oneof provides_present {
-      string provides = 19;
-    }
-    oneof requires_present {
-      string requires = 20;
-    }
-}
-
-message LoadableModules {
-    repeated LoadableModule items = 1;
-}
-
-
-
-message UsableObject {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-}
-
-message UsableObjects {
-    repeated UsableObject items = 1;
-}
-
-
-
-message Node {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof site_deployment_present {
-      int32 site_deployment_id = 16;
-    }
-    oneof site_present {
-      int32 site_id = 17;
-    }
-}
-
-message Nodes {
-    repeated Node items = 1;
-}
-
-
-
-message AddressPool {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof addresses_present {
-      string addresses = 16;
-    }
-    oneof gateway_ip_present {
-      string gateway_ip = 17;
-    }
-    oneof gateway_mac_present {
-      string gateway_mac = 18;
-    }
-    oneof cidr_present {
-      string cidr = 19;
-    }
-    oneof inuse_present {
-      string inuse = 20;
-    }
-    oneof service_present {
-      int32 service_id = 21;
-    }
-}
-
-message AddressPools {
-    repeated AddressPool items = 1;
-}
-
-
-
-message DashboardView {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof url_present {
-      string url = 16;
-    }
-    oneof enabled_present {
-      bool enabled = 17;
-    }
-    oneof icon_present {
-      string icon = 18;
-    }
-    oneof icon_active_present {
-      string icon_active = 19;
-    }
-}
-
-message DashboardViews {
-    repeated DashboardView items = 1;
-}
-
-
-
-message NetworkParameter {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof parameter_present {
-      int32 parameter_id = 15;
-    }
-    oneof value_present {
-      string value = 16;
-    }
-    oneof content_type_present {
-      int32 content_type_id = 17;
-    }
-    oneof object_id_present {
-      uint32 object_id = 18;
-    }
-}
-
-message NetworkParameters {
-    repeated NetworkParameter items = 1;
-}
-
-
-
-message ImageDeployments {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof image_present {
-      int32 image_id = 15;
-    }
-    oneof deployment_present {
-      int32 deployment_id = 16;
-    }
-}
-
-message ImageDeploymentss {
-    repeated ImageDeployments items = 1;
-}
-
-
-
-message ControllerUser {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof controller_present {
-      int32 controller_id = 16;
-    }
-    oneof kuser_id_present {
-      string kuser_id = 17;
-    }
-}
-
-message ControllerUsers {
-    repeated ControllerUser items = 1;
-}
-
-
-
-message ReservedResource {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof instance_present {
-      int32 instance_id = 15;
-    }
-    oneof resource_present {
-      int32 resource_id = 16;
-    }
-    oneof quantity_present {
-      int32 quantity = 17;
-    }
-    oneof reservationSet_present {
-      int32 reservationSet_id = 18;
-    }
-}
-
-message ReservedResources {
-    repeated ReservedResource items = 1;
-}
-
-
-
-message JournalEntry {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof objClassName_present {
-      string objClassName = 2;
-    }
-    oneof objId_present {
-      string objId = 3;
-    }
-    oneof objUnicode_present {
-      string objUnicode = 4;
-    }
-    oneof operation_present {
-      string operation = 5;
-    }
-    oneof msg_present {
-      string msg = 6;
-    }
-    oneof timestamp_present {
-      float timestamp = 7;
-    }
-}
-
-message JournalEntrys {
-    repeated JournalEntry items = 1;
-}
-
-
-
-message UserCredential {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof key_id_present {
-      string key_id = 17;
-    }
-    oneof enc_value_present {
-      string enc_value = 18;
-    }
-}
-
-message UserCredentials {
-    repeated UserCredential items = 1;
-}
-
-
-
-message ControllerDashboardView {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof controller_present {
-      int32 controller_id = 15;
-    }
-    oneof dashboardView_present {
-      int32 dashboardView_id = 16;
-    }
-    oneof enabled_present {
-      bool enabled = 17;
-    }
-    oneof url_present {
-      string url = 18;
-    }
-}
-
-message ControllerDashboardViews {
-    repeated ControllerDashboardView items = 1;
-}
-
-
-
-message UserDashboardView {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof dashboardView_present {
-      int32 dashboardView_id = 16;
-    }
-    oneof order_present {
-      int32 order = 17;
-    }
-}
-
-message UserDashboardViews {
-    repeated UserDashboardView items = 1;
-}
-
-
-
-message Controller {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof backend_type_present {
-      string backend_type = 16;
-    }
-    oneof version_present {
-      string version = 17;
-    }
-    oneof auth_url_present {
-      string auth_url = 18;
-    }
-    oneof admin_user_present {
-      string admin_user = 19;
-    }
-    oneof admin_password_present {
-      string admin_password = 20;
-    }
-    oneof admin_tenant_present {
-      string admin_tenant = 21;
-    }
-    oneof domain_present {
-      string domain = 22;
-    }
-    oneof rabbit_host_present {
-      string rabbit_host = 23;
-    }
-    oneof rabbit_user_present {
-      string rabbit_user = 24;
-    }
-    oneof rabbit_password_present {
-      string rabbit_password = 25;
-    }
-    oneof deployment_present {
-      int32 deployment_id = 26;
-    }
-}
-
-message Controllers {
-    repeated Controller items = 1;
-}
-
-
-
-message TenantRootRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message TenantRootRoles {
-    repeated TenantRootRole items = 1;
-}
-
-
-
-message Deployment {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof accessControl_present {
-      string accessControl = 16;
-    }
-}
-
-message Deployments {
-    repeated Deployment items = 1;
-}
-
-
-
-message Reservation {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof startTime_present {
-      float startTime = 15;
-    }
-    oneof slice_present {
-      int32 slice_id = 16;
-    }
-    oneof duration_present {
-      int32 duration = 17;
-    }
-}
-
-message Reservations {
-    repeated Reservation items = 1;
-}
-
-
-
-message SitePrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof site_present {
-      int32 site_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message SitePrivileges {
-    repeated SitePrivilege items = 1;
-}
-
-
-
-message Payment {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof account_present {
-      int32 account_id = 15;
-    }
-    oneof amount_present {
-      float amount = 16;
-    }
-    oneof date_present {
-      float date = 17;
-    }
-}
-
-message Payments {
-    repeated Payment items = 1;
-}
-
-
-
-message Tenant {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof provider_service_present {
-      int32 provider_service_id = 16;
-    }
-    oneof subscriber_service_present {
-      int32 subscriber_service_id = 17;
-    }
-    oneof subscriber_tenant_present {
-      int32 subscriber_tenant_id = 18;
-    }
-    oneof subscriber_user_present {
-      int32 subscriber_user_id = 19;
-    }
-    oneof subscriber_root_present {
-      int32 subscriber_root_id = 20;
-    }
-    oneof subscriber_network_present {
-      int32 subscriber_network_id = 21;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 22;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 23;
-    }
-    oneof connect_method_present {
-      string connect_method = 24;
-    }
-}
-
-message Tenants {
-    repeated Tenant items = 1;
-}
-
-
-
-message Network {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof template_present {
-      int32 template_id = 16;
-    }
-    oneof subnet_present {
-      string subnet = 17;
-    }
-    oneof start_ip_present {
-      string start_ip = 18;
-    }
-    oneof end_ip_present {
-      string end_ip = 19;
-    }
-    oneof ports_present {
-      string ports = 20;
-    }
-    oneof labels_present {
-      string labels = 21;
-    }
-    oneof owner_present {
-      int32 owner_id = 22;
-    }
-    oneof guaranteed_bandwidth_present {
-      int32 guaranteed_bandwidth = 23;
-    }
-    oneof permit_all_slices_present {
-      bool permit_all_slices = 24;
-    }
-    oneof topology_parameters_present {
-      string topology_parameters = 25;
-    }
-    oneof controller_url_present {
-      string controller_url = 26;
-    }
-    oneof controller_parameters_present {
-      string controller_parameters = 27;
-    }
-    oneof network_id_present {
-      string network_id = 28;
-    }
-    oneof router_id_present {
-      string router_id = 29;
-    }
-    oneof subnet_id_present {
-      string subnet_id = 30;
-    }
-    oneof autoconnect_present {
-      bool autoconnect = 31;
-    }
-}
-
-message Networks {
-    repeated Network items = 1;
-}
-
-
-
-message NetworkSlice {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof network_present {
-      int32 network_id = 15;
-    }
-    oneof slice_present {
-      int32 slice_id = 16;
-    }
-}
-
-message NetworkSlices {
-    repeated NetworkSlice items = 1;
-}
-
-
-
-message Account {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof site_present {
-      int32 site_id = 15;
-    }
-}
-
-message Accounts {
-    repeated Account items = 1;
-}
-
-
-
-message TenantRoot {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 17;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 18;
-    }
-}
-
-message TenantRoots {
-    repeated TenantRoot items = 1;
-}
-
-
-
-message Service {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof description_present {
-      string description = 15;
-    }
-    oneof enabled_present {
-      bool enabled = 16;
-    }
-    oneof kind_present {
-      string kind = 17;
-    }
-    oneof name_present {
-      string name = 18;
-    }
-    oneof versionNumber_present {
-      string versionNumber = 19;
-    }
-    oneof published_present {
-      bool published = 20;
-    }
-    oneof view_url_present {
-      string view_url = 21;
-    }
-    oneof icon_url_present {
-      string icon_url = 22;
-    }
-    oneof public_key_present {
-      string public_key = 23;
-    }
-    oneof private_key_fn_present {
-      string private_key_fn = 24;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 25;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 26;
-    }
-    oneof controller_present {
-      int32 controller_id = 27;
-    }
-}
-
-message Services {
-    repeated Service items = 1;
-}
-
-
-
-message ControllerSlicePrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof controller_present {
-      int32 controller_id = 15;
-    }
-    oneof slice_privilege_present {
-      int32 slice_privilege_id = 16;
-    }
-    oneof role_id_present {
-      string role_id = 17;
-    }
-}
-
-message ControllerSlicePrivileges {
-    repeated ControllerSlicePrivilege items = 1;
-}
-
-
-
-message SiteCredential {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof site_present {
-      int32 site_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof key_id_present {
-      string key_id = 17;
-    }
-    oneof enc_value_present {
-      string enc_value = 18;
-    }
-}
-
-message SiteCredentials {
-    repeated SiteCredential items = 1;
-}
-
-
-
-message DeploymentPrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof deployment_present {
-      int32 deployment_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message DeploymentPrivileges {
-    repeated DeploymentPrivilege items = 1;
-}
-
-
-
-message NetworkParameterType {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof description_present {
-      string description = 16;
-    }
-}
-
-message NetworkParameterTypes {
-    repeated NetworkParameterType items = 1;
-}
-
-
-
-message Provider {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 17;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 18;
-    }
-}
-
-message Providers {
-    repeated Provider items = 1;
-}
-
-
-
-message TenantWithContainer {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof provider_service_present {
-      int32 provider_service_id = 16;
-    }
-    oneof subscriber_service_present {
-      int32 subscriber_service_id = 17;
-    }
-    oneof subscriber_tenant_present {
-      int32 subscriber_tenant_id = 18;
-    }
-    oneof subscriber_user_present {
-      int32 subscriber_user_id = 19;
-    }
-    oneof subscriber_root_present {
-      int32 subscriber_root_id = 20;
-    }
-    oneof subscriber_network_present {
-      int32 subscriber_network_id = 21;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 22;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 23;
-    }
-    oneof connect_method_present {
-      string connect_method = 24;
-    }
-}
-
-message TenantWithContainers {
-    repeated TenantWithContainer items = 1;
-}
-
-
-
-message DeploymentRole {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof role_present {
-      string role = 15;
-    }
-}
-
-message DeploymentRoles {
-    repeated DeploymentRole items = 1;
-}
-
-
-
-message Project {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-}
-
-message Projects {
-    repeated Project items = 1;
-}
-
-
-
-message TenantRootPrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof tenant_root_present {
-      int32 tenant_root_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message TenantRootPrivileges {
-    repeated TenantRootPrivilege items = 1;
-}
-
-
-
-message XOSComponentVolume {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof component_present {
-      int32 component_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof container_path_present {
-      string container_path = 17;
-    }
-    oneof host_path_present {
-      string host_path = 18;
-    }
-    oneof read_only_present {
-      bool read_only = 19;
-    }
-}
-
-message XOSComponentVolumes {
-    repeated XOSComponentVolume items = 1;
-}
-
-
-
-message SliceCredential {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof slice_present {
-      int32 slice_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof key_id_present {
-      string key_id = 17;
-    }
-    oneof enc_value_present {
-      string enc_value = 18;
-    }
-}
-
-message SliceCredentials {
-    repeated SliceCredential items = 1;
-}
-
-
-
-message SliceTag {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof slice_present {
-      int32 slice_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof value_present {
-      string value = 17;
-    }
-}
-
-message SliceTags {
-    repeated SliceTag items = 1;
-}
-
-
-
-message CoarseTenant {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof kind_present {
-      string kind = 15;
-    }
-    oneof provider_service_present {
-      int32 provider_service_id = 16;
-    }
-    oneof subscriber_service_present {
-      int32 subscriber_service_id = 17;
-    }
-    oneof subscriber_tenant_present {
-      int32 subscriber_tenant_id = 18;
-    }
-    oneof subscriber_user_present {
-      int32 subscriber_user_id = 19;
-    }
-    oneof subscriber_root_present {
-      int32 subscriber_root_id = 20;
-    }
-    oneof subscriber_network_present {
-      int32 subscriber_network_id = 21;
-    }
-    oneof service_specific_id_present {
-      string service_specific_id = 22;
-    }
-    oneof service_specific_attribute_present {
-      string service_specific_attribute = 23;
-    }
-    oneof connect_method_present {
-      string connect_method = 24;
-    }
-}
-
-message CoarseTenants {
-    repeated CoarseTenant items = 1;
-}
-
-
-
-message Router {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof name_present {
-      string name = 15;
-    }
-    oneof owner_present {
-      int32 owner_id = 16;
-    }
-}
-
-message Routers {
-    repeated Router items = 1;
-}
-
-
-
-message ServiceResource {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof serviceClass_present {
-      int32 serviceClass_id = 15;
-    }
-    oneof name_present {
-      string name = 16;
-    }
-    oneof maxUnitsDeployment_present {
-      int32 maxUnitsDeployment = 17;
-    }
-    oneof maxUnitsNode_present {
-      int32 maxUnitsNode = 18;
-    }
-    oneof maxDuration_present {
-      int32 maxDuration = 19;
-    }
-    oneof bucketInRate_present {
-      int32 bucketInRate = 20;
-    }
-    oneof bucketMaxSize_present {
-      int32 bucketMaxSize = 21;
-    }
-    oneof cost_present {
-      int32 cost = 22;
-    }
-    oneof calendarReservable_present {
-      bool calendarReservable = 23;
-    }
-}
-
-message ServiceResources {
-    repeated ServiceResource items = 1;
-}
-
-
-
-message ServicePrivilege {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof created_present {
-      float created = 2;
-    }
-    oneof updated_present {
-      float updated = 3;
-    }
-    oneof enacted_present {
-      float enacted = 4;
-    }
-    oneof policed_present {
-      float policed = 5;
-    }
-    oneof backend_register_present {
-      string backend_register = 6;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 7;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 8;
-    }
-    oneof backend_status_present {
-      string backend_status = 9;
-    }
-    oneof deleted_present {
-      bool deleted = 10;
-    }
-    oneof write_protect_present {
-      bool write_protect = 11;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 12;
-    }
-    oneof no_sync_present {
-      bool no_sync = 13;
-    }
-    oneof no_policy_present {
-      bool no_policy = 14;
-    }
-    oneof user_present {
-      int32 user_id = 15;
-    }
-    oneof service_present {
-      int32 service_id = 16;
-    }
-    oneof role_present {
-      int32 role_id = 17;
-    }
-}
-
-message ServicePrivileges {
-    repeated ServicePrivilege items = 1;
-}
-
-
-
-message User {
-    oneof id_present {
-      int32 id = 1;
-    }
-    oneof password_present {
-      string password = 2;
-    }
-    oneof last_login_present {
-      float last_login = 3;
-    }
-    oneof email_present {
-      string email = 4;
-    }
-    oneof username_present {
-      string username = 5;
-    }
-    oneof firstname_present {
-      string firstname = 6;
-    }
-    oneof lastname_present {
-      string lastname = 7;
-    }
-    oneof phone_present {
-      string phone = 8;
-    }
-    oneof user_url_present {
-      string user_url = 9;
-    }
-    oneof site_present {
-      int32 site_id = 10;
-    }
-    oneof public_key_present {
-      string public_key = 11;
-    }
-    oneof is_active_present {
-      bool is_active = 12;
-    }
-    oneof is_admin_present {
-      bool is_admin = 13;
-    }
-    oneof is_staff_present {
-      bool is_staff = 14;
-    }
-    oneof is_readonly_present {
-      bool is_readonly = 15;
-    }
-    oneof is_registering_present {
-      bool is_registering = 16;
-    }
-    oneof is_appuser_present {
-      bool is_appuser = 17;
-    }
-    oneof login_page_present {
-      string login_page = 18;
-    }
-    oneof created_present {
-      float created = 19;
-    }
-    oneof updated_present {
-      float updated = 20;
-    }
-    oneof enacted_present {
-      float enacted = 21;
-    }
-    oneof policed_present {
-      float policed = 22;
-    }
-    oneof backend_status_present {
-      string backend_status = 23;
-    }
-    oneof backend_need_delete_present {
-      bool backend_need_delete = 24;
-    }
-    oneof backend_need_reap_present {
-      bool backend_need_reap = 25;
-    }
-    oneof deleted_present {
-      bool deleted = 26;
-    }
-    oneof write_protect_present {
-      bool write_protect = 27;
-    }
-    oneof lazy_blocked_present {
-      bool lazy_blocked = 28;
-    }
-    oneof no_sync_present {
-      bool no_sync = 29;
-    }
-    oneof no_policy_present {
-      bool no_policy = 30;
-    }
-    oneof timezone_present {
-      string timezone = 31;
-    }
-}
-
-message Users {
-    repeated User items = 1;
-}
-
-
-
-service xos {
-
-  rpc ListServiceControllerResource(google.protobuf.Empty) returns (ServiceControllerResources) {
-        option (google.api.http) = {
-            get: "/api/v1/servicecontrollerresources"
-        };
-  }
-  rpc GetServiceControllerResource(ID) returns (ServiceControllerResource) {
-        option (google.api.http) = {
-            get: "/api/v1/servicecontrollerresources/{id}"
-        };
-  }
-  rpc CreateServiceControllerResource(ServiceControllerResource) returns (ServiceControllerResource) {
-        option (google.api.http) = {
-            post: "/api/v1/servicecontrollerresources"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceControllerResource(ServiceControllerResource) returns (ServiceControllerResource) {
-        option (google.api.http) = {
-            put: "/api/v1/servicecontrollerresources/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceControllerResource(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/servicecontrollerresources/{id}"
-        };
-  }
-
-  rpc ListXOSVolume(google.protobuf.Empty) returns (XOSVolumes) {
-        option (google.api.http) = {
-            get: "/api/v1/xosvolumes"
-        };
-  }
-  rpc GetXOSVolume(ID) returns (XOSVolume) {
-        option (google.api.http) = {
-            get: "/api/v1/xosvolumes/{id}"
-        };
-  }
-  rpc CreateXOSVolume(XOSVolume) returns (XOSVolume) {
-        option (google.api.http) = {
-            post: "/api/v1/xosvolumes"
-            body: "*"
-        };
-  }
-  rpc UpdateXOSVolume(XOSVolume) returns (XOSVolume) {
-        option (google.api.http) = {
-            put: "/api/v1/xosvolumes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteXOSVolume(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/xosvolumes/{id}"
-        };
-  }
-
-  rpc ListServiceAttribute(google.protobuf.Empty) returns (ServiceAttributes) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceattributes"
-        };
-  }
-  rpc GetServiceAttribute(ID) returns (ServiceAttribute) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceattributes/{id}"
-        };
-  }
-  rpc CreateServiceAttribute(ServiceAttribute) returns (ServiceAttribute) {
-        option (google.api.http) = {
-            post: "/api/v1/serviceattributes"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceAttribute(ServiceAttribute) returns (ServiceAttribute) {
-        option (google.api.http) = {
-            put: "/api/v1/serviceattributes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceAttribute(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/serviceattributes/{id}"
-        };
-  }
-
-  rpc ListControllerImages(google.protobuf.Empty) returns (ControllerImagess) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerimageses"
-        };
-  }
-  rpc GetControllerImages(ID) returns (ControllerImages) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerimageses/{id}"
-        };
-  }
-  rpc CreateControllerImages(ControllerImages) returns (ControllerImages) {
-        option (google.api.http) = {
-            post: "/api/v1/controllerimageses"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerImages(ControllerImages) returns (ControllerImages) {
-        option (google.api.http) = {
-            put: "/api/v1/controllerimageses/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerImages(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllerimageses/{id}"
-        };
-  }
-
-  rpc ListControllerSitePrivilege(google.protobuf.Empty) returns (ControllerSitePrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersiteprivileges"
-        };
-  }
-  rpc GetControllerSitePrivilege(ID) returns (ControllerSitePrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersiteprivileges/{id}"
-        };
-  }
-  rpc CreateControllerSitePrivilege(ControllerSitePrivilege) returns (ControllerSitePrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/controllersiteprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerSitePrivilege(ControllerSitePrivilege) returns (ControllerSitePrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/controllersiteprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerSitePrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllersiteprivileges/{id}"
-        };
-  }
-
-  rpc ListImage(google.protobuf.Empty) returns (Images) {
-        option (google.api.http) = {
-            get: "/api/v1/images"
-        };
-  }
-  rpc GetImage(ID) returns (Image) {
-        option (google.api.http) = {
-            get: "/api/v1/images/{id}"
-        };
-  }
-  rpc CreateImage(Image) returns (Image) {
-        option (google.api.http) = {
-            post: "/api/v1/images"
-            body: "*"
-        };
-  }
-  rpc UpdateImage(Image) returns (Image) {
-        option (google.api.http) = {
-            put: "/api/v1/images/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteImage(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/images/{id}"
-        };
-  }
-
-  rpc ListControllerNetwork(google.protobuf.Empty) returns (ControllerNetworks) {
-        option (google.api.http) = {
-            get: "/api/v1/controllernetworks"
-        };
-  }
-  rpc GetControllerNetwork(ID) returns (ControllerNetwork) {
-        option (google.api.http) = {
-            get: "/api/v1/controllernetworks/{id}"
-        };
-  }
-  rpc CreateControllerNetwork(ControllerNetwork) returns (ControllerNetwork) {
-        option (google.api.http) = {
-            post: "/api/v1/controllernetworks"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerNetwork(ControllerNetwork) returns (ControllerNetwork) {
-        option (google.api.http) = {
-            put: "/api/v1/controllernetworks/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerNetwork(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllernetworks/{id}"
-        };
-  }
-
-  rpc ListSite(google.protobuf.Empty) returns (Sites) {
-        option (google.api.http) = {
-            get: "/api/v1/sites"
-        };
-  }
-  rpc GetSite(ID) returns (Site) {
-        option (google.api.http) = {
-            get: "/api/v1/sites/{id}"
-        };
-  }
-  rpc CreateSite(Site) returns (Site) {
-        option (google.api.http) = {
-            post: "/api/v1/sites"
-            body: "*"
-        };
-  }
-  rpc UpdateSite(Site) returns (Site) {
-        option (google.api.http) = {
-            put: "/api/v1/sites/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSite(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/sites/{id}"
-        };
-  }
-
-  rpc ListLibrary(google.protobuf.Empty) returns (Librarys) {
-        option (google.api.http) = {
-            get: "/api/v1/librarys"
-        };
-  }
-  rpc GetLibrary(ID) returns (Library) {
-        option (google.api.http) = {
-            get: "/api/v1/librarys/{id}"
-        };
-  }
-  rpc CreateLibrary(Library) returns (Library) {
-        option (google.api.http) = {
-            post: "/api/v1/librarys"
-            body: "*"
-        };
-  }
-  rpc UpdateLibrary(Library) returns (Library) {
-        option (google.api.http) = {
-            put: "/api/v1/librarys/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteLibrary(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/librarys/{id}"
-        };
-  }
-
-  rpc ListSliceRole(google.protobuf.Empty) returns (SliceRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/sliceroles"
-        };
-  }
-  rpc GetSliceRole(ID) returns (SliceRole) {
-        option (google.api.http) = {
-            get: "/api/v1/sliceroles/{id}"
-        };
-  }
-  rpc CreateSliceRole(SliceRole) returns (SliceRole) {
-        option (google.api.http) = {
-            post: "/api/v1/sliceroles"
-            body: "*"
-        };
-  }
-  rpc UpdateSliceRole(SliceRole) returns (SliceRole) {
-        option (google.api.http) = {
-            put: "/api/v1/sliceroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSliceRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/sliceroles/{id}"
-        };
-  }
-
-  rpc ListSiteDeployment(google.protobuf.Empty) returns (SiteDeployments) {
-        option (google.api.http) = {
-            get: "/api/v1/sitedeployments"
-        };
-  }
-  rpc GetSiteDeployment(ID) returns (SiteDeployment) {
-        option (google.api.http) = {
-            get: "/api/v1/sitedeployments/{id}"
-        };
-  }
-  rpc CreateSiteDeployment(SiteDeployment) returns (SiteDeployment) {
-        option (google.api.http) = {
-            post: "/api/v1/sitedeployments"
-            body: "*"
-        };
-  }
-  rpc UpdateSiteDeployment(SiteDeployment) returns (SiteDeployment) {
-        option (google.api.http) = {
-            put: "/api/v1/sitedeployments/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSiteDeployment(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/sitedeployments/{id}"
-        };
-  }
-
-  rpc ListXOSComponentLink(google.protobuf.Empty) returns (XOSComponentLinks) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponentlinks"
-        };
-  }
-  rpc GetXOSComponentLink(ID) returns (XOSComponentLink) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponentlinks/{id}"
-        };
-  }
-  rpc CreateXOSComponentLink(XOSComponentLink) returns (XOSComponentLink) {
-        option (google.api.http) = {
-            post: "/api/v1/xoscomponentlinks"
-            body: "*"
-        };
-  }
-  rpc UpdateXOSComponentLink(XOSComponentLink) returns (XOSComponentLink) {
-        option (google.api.http) = {
-            put: "/api/v1/xoscomponentlinks/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteXOSComponentLink(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/xoscomponentlinks/{id}"
-        };
-  }
-
-  rpc ListTenantPrivilege(google.protobuf.Empty) returns (TenantPrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantprivileges"
-        };
-  }
-  rpc GetTenantPrivilege(ID) returns (TenantPrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantprivileges/{id}"
-        };
-  }
-  rpc CreateTenantPrivilege(TenantPrivilege) returns (TenantPrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantPrivilege(TenantPrivilege) returns (TenantPrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantPrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantprivileges/{id}"
-        };
-  }
-
-  rpc ListTag(google.protobuf.Empty) returns (Tags) {
-        option (google.api.http) = {
-            get: "/api/v1/tags"
-        };
-  }
-  rpc GetTag(ID) returns (Tag) {
-        option (google.api.http) = {
-            get: "/api/v1/tags/{id}"
-        };
-  }
-  rpc CreateTag(Tag) returns (Tag) {
-        option (google.api.http) = {
-            post: "/api/v1/tags"
-            body: "*"
-        };
-  }
-  rpc UpdateTag(Tag) returns (Tag) {
-        option (google.api.http) = {
-            put: "/api/v1/tags/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTag(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tags/{id}"
-        };
-  }
-
-  rpc ListServiceMonitoringAgentInfo(google.protobuf.Empty) returns (ServiceMonitoringAgentInfos) {
-        option (google.api.http) = {
-            get: "/api/v1/servicemonitoringagentinfos"
-        };
-  }
-  rpc GetServiceMonitoringAgentInfo(ID) returns (ServiceMonitoringAgentInfo) {
-        option (google.api.http) = {
-            get: "/api/v1/servicemonitoringagentinfos/{id}"
-        };
-  }
-  rpc CreateServiceMonitoringAgentInfo(ServiceMonitoringAgentInfo) returns (ServiceMonitoringAgentInfo) {
-        option (google.api.http) = {
-            post: "/api/v1/servicemonitoringagentinfos"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceMonitoringAgentInfo(ServiceMonitoringAgentInfo) returns (ServiceMonitoringAgentInfo) {
-        option (google.api.http) = {
-            put: "/api/v1/servicemonitoringagentinfos/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceMonitoringAgentInfo(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/servicemonitoringagentinfos/{id}"
-        };
-  }
-
-  rpc ListXOSComponent(google.protobuf.Empty) returns (XOSComponents) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponents"
-        };
-  }
-  rpc GetXOSComponent(ID) returns (XOSComponent) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponents/{id}"
-        };
-  }
-  rpc CreateXOSComponent(XOSComponent) returns (XOSComponent) {
-        option (google.api.http) = {
-            post: "/api/v1/xoscomponents"
-            body: "*"
-        };
-  }
-  rpc UpdateXOSComponent(XOSComponent) returns (XOSComponent) {
-        option (google.api.http) = {
-            put: "/api/v1/xoscomponents/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteXOSComponent(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/xoscomponents/{id}"
-        };
-  }
-
-  rpc ListInvoice(google.protobuf.Empty) returns (Invoices) {
-        option (google.api.http) = {
-            get: "/api/v1/invoices"
-        };
-  }
-  rpc GetInvoice(ID) returns (Invoice) {
-        option (google.api.http) = {
-            get: "/api/v1/invoices/{id}"
-        };
-  }
-  rpc CreateInvoice(Invoice) returns (Invoice) {
-        option (google.api.http) = {
-            post: "/api/v1/invoices"
-            body: "*"
-        };
-  }
-  rpc UpdateInvoice(Invoice) returns (Invoice) {
-        option (google.api.http) = {
-            put: "/api/v1/invoices/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteInvoice(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/invoices/{id}"
-        };
-  }
-
-  rpc ListSlicePrivilege(google.protobuf.Empty) returns (SlicePrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/sliceprivileges"
-        };
-  }
-  rpc GetSlicePrivilege(ID) returns (SlicePrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/sliceprivileges/{id}"
-        };
-  }
-  rpc CreateSlicePrivilege(SlicePrivilege) returns (SlicePrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/sliceprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateSlicePrivilege(SlicePrivilege) returns (SlicePrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/sliceprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSlicePrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/sliceprivileges/{id}"
-        };
-  }
-
-  rpc ListFlavor(google.protobuf.Empty) returns (Flavors) {
-        option (google.api.http) = {
-            get: "/api/v1/flavors"
-        };
-  }
-  rpc GetFlavor(ID) returns (Flavor) {
-        option (google.api.http) = {
-            get: "/api/v1/flavors/{id}"
-        };
-  }
-  rpc CreateFlavor(Flavor) returns (Flavor) {
-        option (google.api.http) = {
-            post: "/api/v1/flavors"
-            body: "*"
-        };
-  }
-  rpc UpdateFlavor(Flavor) returns (Flavor) {
-        option (google.api.http) = {
-            put: "/api/v1/flavors/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteFlavor(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/flavors/{id}"
-        };
-  }
-
-  rpc ListPort(google.protobuf.Empty) returns (Ports) {
-        option (google.api.http) = {
-            get: "/api/v1/ports"
-        };
-  }
-  rpc GetPort(ID) returns (Port) {
-        option (google.api.http) = {
-            get: "/api/v1/ports/{id}"
-        };
-  }
-  rpc CreatePort(Port) returns (Port) {
-        option (google.api.http) = {
-            post: "/api/v1/ports"
-            body: "*"
-        };
-  }
-  rpc UpdatePort(Port) returns (Port) {
-        option (google.api.http) = {
-            put: "/api/v1/ports/{id}"
-            body: "*"
-        };
-  }
-  rpc DeletePort(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/ports/{id}"
-        };
-  }
-
-  rpc ListServiceRole(google.protobuf.Empty) returns (ServiceRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceroles"
-        };
-  }
-  rpc GetServiceRole(ID) returns (ServiceRole) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceroles/{id}"
-        };
-  }
-  rpc CreateServiceRole(ServiceRole) returns (ServiceRole) {
-        option (google.api.http) = {
-            post: "/api/v1/serviceroles"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceRole(ServiceRole) returns (ServiceRole) {
-        option (google.api.http) = {
-            put: "/api/v1/serviceroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/serviceroles/{id}"
-        };
-  }
-
-  rpc ListControllerSite(google.protobuf.Empty) returns (ControllerSites) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersites"
-        };
-  }
-  rpc GetControllerSite(ID) returns (ControllerSite) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersites/{id}"
-        };
-  }
-  rpc CreateControllerSite(ControllerSite) returns (ControllerSite) {
-        option (google.api.http) = {
-            post: "/api/v1/controllersites"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerSite(ControllerSite) returns (ControllerSite) {
-        option (google.api.http) = {
-            put: "/api/v1/controllersites/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerSite(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllersites/{id}"
-        };
-  }
-
-  rpc ListControllerSlice(google.protobuf.Empty) returns (ControllerSlices) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerslices"
-        };
-  }
-  rpc GetControllerSlice(ID) returns (ControllerSlice) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerslices/{id}"
-        };
-  }
-  rpc CreateControllerSlice(ControllerSlice) returns (ControllerSlice) {
-        option (google.api.http) = {
-            post: "/api/v1/controllerslices"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerSlice(ControllerSlice) returns (ControllerSlice) {
-        option (google.api.http) = {
-            put: "/api/v1/controllerslices/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerSlice(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllerslices/{id}"
-        };
-  }
-
-  rpc ListTenantRole(google.protobuf.Empty) returns (TenantRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantroles"
-        };
-  }
-  rpc GetTenantRole(ID) returns (TenantRole) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantroles/{id}"
-        };
-  }
-  rpc CreateTenantRole(TenantRole) returns (TenantRole) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantroles"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantRole(TenantRole) returns (TenantRole) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantroles/{id}"
-        };
-  }
-
-  rpc ListSlice(google.protobuf.Empty) returns (Slices) {
-        option (google.api.http) = {
-            get: "/api/v1/slices"
-        };
-  }
-  rpc GetSlice(ID) returns (Slice) {
-        option (google.api.http) = {
-            get: "/api/v1/slices/{id}"
-        };
-  }
-  rpc CreateSlice(Slice) returns (Slice) {
-        option (google.api.http) = {
-            post: "/api/v1/slices"
-            body: "*"
-        };
-  }
-  rpc UpdateSlice(Slice) returns (Slice) {
-        option (google.api.http) = {
-            put: "/api/v1/slices/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSlice(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/slices/{id}"
-        };
-  }
-
-  rpc ListLoadableModuleResource(google.protobuf.Empty) returns (LoadableModuleResources) {
-        option (google.api.http) = {
-            get: "/api/v1/loadablemoduleresources"
-        };
-  }
-  rpc GetLoadableModuleResource(ID) returns (LoadableModuleResource) {
-        option (google.api.http) = {
-            get: "/api/v1/loadablemoduleresources/{id}"
-        };
-  }
-  rpc CreateLoadableModuleResource(LoadableModuleResource) returns (LoadableModuleResource) {
-        option (google.api.http) = {
-            post: "/api/v1/loadablemoduleresources"
-            body: "*"
-        };
-  }
-  rpc UpdateLoadableModuleResource(LoadableModuleResource) returns (LoadableModuleResource) {
-        option (google.api.http) = {
-            put: "/api/v1/loadablemoduleresources/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteLoadableModuleResource(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/loadablemoduleresources/{id}"
-        };
-  }
-
-  rpc ListControllerRole(google.protobuf.Empty) returns (ControllerRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerroles"
-        };
-  }
-  rpc GetControllerRole(ID) returns (ControllerRole) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerroles/{id}"
-        };
-  }
-  rpc CreateControllerRole(ControllerRole) returns (ControllerRole) {
-        option (google.api.http) = {
-            post: "/api/v1/controllerroles"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerRole(ControllerRole) returns (ControllerRole) {
-        option (google.api.http) = {
-            put: "/api/v1/controllerroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllerroles/{id}"
-        };
-  }
-
-  rpc ListDiag(google.protobuf.Empty) returns (Diags) {
-        option (google.api.http) = {
-            get: "/api/v1/diags"
-        };
-  }
-  rpc GetDiag(ID) returns (Diag) {
-        option (google.api.http) = {
-            get: "/api/v1/diags/{id}"
-        };
-  }
-  rpc CreateDiag(Diag) returns (Diag) {
-        option (google.api.http) = {
-            post: "/api/v1/diags"
-            body: "*"
-        };
-  }
-  rpc UpdateDiag(Diag) returns (Diag) {
-        option (google.api.http) = {
-            put: "/api/v1/diags/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteDiag(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/diags/{id}"
-        };
-  }
-
-  rpc ListXOS(google.protobuf.Empty) returns (XOSs) {
-        option (google.api.http) = {
-            get: "/api/v1/xoses"
-        };
-  }
-  rpc GetXOS(ID) returns (XOS) {
-        option (google.api.http) = {
-            get: "/api/v1/xoses/{id}"
-        };
-  }
-  rpc CreateXOS(XOS) returns (XOS) {
-        option (google.api.http) = {
-            post: "/api/v1/xoses"
-            body: "*"
-        };
-  }
-  rpc UpdateXOS(XOS) returns (XOS) {
-        option (google.api.http) = {
-            put: "/api/v1/xoses/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteXOS(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/xoses/{id}"
-        };
-  }
-
-  rpc ListServiceClass(google.protobuf.Empty) returns (ServiceClasss) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceclasses"
-        };
-  }
-  rpc GetServiceClass(ID) returns (ServiceClass) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceclasses/{id}"
-        };
-  }
-  rpc CreateServiceClass(ServiceClass) returns (ServiceClass) {
-        option (google.api.http) = {
-            post: "/api/v1/serviceclasses"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceClass(ServiceClass) returns (ServiceClass) {
-        option (google.api.http) = {
-            put: "/api/v1/serviceclasses/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceClass(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/serviceclasses/{id}"
-        };
-  }
-
-  rpc ListTenantAttribute(google.protobuf.Empty) returns (TenantAttributes) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantattributes"
-        };
-  }
-  rpc GetTenantAttribute(ID) returns (TenantAttribute) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantattributes/{id}"
-        };
-  }
-  rpc CreateTenantAttribute(TenantAttribute) returns (TenantAttribute) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantattributes"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantAttribute(TenantAttribute) returns (TenantAttribute) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantattributes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantAttribute(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantattributes/{id}"
-        };
-  }
-
-  rpc ListSiteRole(google.protobuf.Empty) returns (SiteRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/siteroles"
-        };
-  }
-  rpc GetSiteRole(ID) returns (SiteRole) {
-        option (google.api.http) = {
-            get: "/api/v1/siteroles/{id}"
-        };
-  }
-  rpc CreateSiteRole(SiteRole) returns (SiteRole) {
-        option (google.api.http) = {
-            post: "/api/v1/siteroles"
-            body: "*"
-        };
-  }
-  rpc UpdateSiteRole(SiteRole) returns (SiteRole) {
-        option (google.api.http) = {
-            put: "/api/v1/siteroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSiteRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/siteroles/{id}"
-        };
-  }
-
-  rpc ListSubscriber(google.protobuf.Empty) returns (Subscribers) {
-        option (google.api.http) = {
-            get: "/api/v1/subscribers"
-        };
-  }
-  rpc GetSubscriber(ID) returns (Subscriber) {
-        option (google.api.http) = {
-            get: "/api/v1/subscribers/{id}"
-        };
-  }
-  rpc CreateSubscriber(Subscriber) returns (Subscriber) {
-        option (google.api.http) = {
-            post: "/api/v1/subscribers"
-            body: "*"
-        };
-  }
-  rpc UpdateSubscriber(Subscriber) returns (Subscriber) {
-        option (google.api.http) = {
-            put: "/api/v1/subscribers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSubscriber(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/subscribers/{id}"
-        };
-  }
-
-  rpc ListInstance(google.protobuf.Empty) returns (Instances) {
-        option (google.api.http) = {
-            get: "/api/v1/instances"
-        };
-  }
-  rpc GetInstance(ID) returns (Instance) {
-        option (google.api.http) = {
-            get: "/api/v1/instances/{id}"
-        };
-  }
-  rpc CreateInstance(Instance) returns (Instance) {
-        option (google.api.http) = {
-            post: "/api/v1/instances"
-            body: "*"
-        };
-  }
-  rpc UpdateInstance(Instance) returns (Instance) {
-        option (google.api.http) = {
-            put: "/api/v1/instances/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteInstance(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/instances/{id}"
-        };
-  }
-
-  rpc ListCharge(google.protobuf.Empty) returns (Charges) {
-        option (google.api.http) = {
-            get: "/api/v1/charges"
-        };
-  }
-  rpc GetCharge(ID) returns (Charge) {
-        option (google.api.http) = {
-            get: "/api/v1/charges/{id}"
-        };
-  }
-  rpc CreateCharge(Charge) returns (Charge) {
-        option (google.api.http) = {
-            post: "/api/v1/charges"
-            body: "*"
-        };
-  }
-  rpc UpdateCharge(Charge) returns (Charge) {
-        option (google.api.http) = {
-            put: "/api/v1/charges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteCharge(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/charges/{id}"
-        };
-  }
-
-  rpc ListProgram(google.protobuf.Empty) returns (Programs) {
-        option (google.api.http) = {
-            get: "/api/v1/programs"
-        };
-  }
-  rpc GetProgram(ID) returns (Program) {
-        option (google.api.http) = {
-            get: "/api/v1/programs/{id}"
-        };
-  }
-  rpc CreateProgram(Program) returns (Program) {
-        option (google.api.http) = {
-            post: "/api/v1/programs"
-            body: "*"
-        };
-  }
-  rpc UpdateProgram(Program) returns (Program) {
-        option (google.api.http) = {
-            put: "/api/v1/programs/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteProgram(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/programs/{id}"
-        };
-  }
-
-  rpc ListRole(google.protobuf.Empty) returns (Roles) {
-        option (google.api.http) = {
-            get: "/api/v1/roles"
-        };
-  }
-  rpc GetRole(ID) returns (Role) {
-        option (google.api.http) = {
-            get: "/api/v1/roles/{id}"
-        };
-  }
-  rpc CreateRole(Role) returns (Role) {
-        option (google.api.http) = {
-            post: "/api/v1/roles"
-            body: "*"
-        };
-  }
-  rpc UpdateRole(Role) returns (Role) {
-        option (google.api.http) = {
-            put: "/api/v1/roles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/roles/{id}"
-        };
-  }
-
-  rpc ListNodeLabel(google.protobuf.Empty) returns (NodeLabels) {
-        option (google.api.http) = {
-            get: "/api/v1/nodelabels"
-        };
-  }
-  rpc GetNodeLabel(ID) returns (NodeLabel) {
-        option (google.api.http) = {
-            get: "/api/v1/nodelabels/{id}"
-        };
-  }
-  rpc CreateNodeLabel(NodeLabel) returns (NodeLabel) {
-        option (google.api.http) = {
-            post: "/api/v1/nodelabels"
-            body: "*"
-        };
-  }
-  rpc UpdateNodeLabel(NodeLabel) returns (NodeLabel) {
-        option (google.api.http) = {
-            put: "/api/v1/nodelabels/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNodeLabel(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/nodelabels/{id}"
-        };
-  }
-
-  rpc ListNetworkTemplate(google.protobuf.Empty) returns (NetworkTemplates) {
-        option (google.api.http) = {
-            get: "/api/v1/networktemplates"
-        };
-  }
-  rpc GetNetworkTemplate(ID) returns (NetworkTemplate) {
-        option (google.api.http) = {
-            get: "/api/v1/networktemplates/{id}"
-        };
-  }
-  rpc CreateNetworkTemplate(NetworkTemplate) returns (NetworkTemplate) {
-        option (google.api.http) = {
-            post: "/api/v1/networktemplates"
-            body: "*"
-        };
-  }
-  rpc UpdateNetworkTemplate(NetworkTemplate) returns (NetworkTemplate) {
-        option (google.api.http) = {
-            put: "/api/v1/networktemplates/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNetworkTemplate(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/networktemplates/{id}"
-        };
-  }
-
-  rpc ListServiceController(google.protobuf.Empty) returns (ServiceControllers) {
-        option (google.api.http) = {
-            get: "/api/v1/servicecontrollers"
-        };
-  }
-  rpc GetServiceController(ID) returns (ServiceController) {
-        option (google.api.http) = {
-            get: "/api/v1/servicecontrollers/{id}"
-        };
-  }
-  rpc CreateServiceController(ServiceController) returns (ServiceController) {
-        option (google.api.http) = {
-            post: "/api/v1/servicecontrollers"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceController(ServiceController) returns (ServiceController) {
-        option (google.api.http) = {
-            put: "/api/v1/servicecontrollers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceController(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/servicecontrollers/{id}"
-        };
-  }
-
-  rpc ListLoadableModule(google.protobuf.Empty) returns (LoadableModules) {
-        option (google.api.http) = {
-            get: "/api/v1/loadablemodules"
-        };
-  }
-  rpc GetLoadableModule(ID) returns (LoadableModule) {
-        option (google.api.http) = {
-            get: "/api/v1/loadablemodules/{id}"
-        };
-  }
-  rpc CreateLoadableModule(LoadableModule) returns (LoadableModule) {
-        option (google.api.http) = {
-            post: "/api/v1/loadablemodules"
-            body: "*"
-        };
-  }
-  rpc UpdateLoadableModule(LoadableModule) returns (LoadableModule) {
-        option (google.api.http) = {
-            put: "/api/v1/loadablemodules/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteLoadableModule(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/loadablemodules/{id}"
-        };
-  }
-
-  rpc ListUsableObject(google.protobuf.Empty) returns (UsableObjects) {
-        option (google.api.http) = {
-            get: "/api/v1/usableobjects"
-        };
-  }
-  rpc GetUsableObject(ID) returns (UsableObject) {
-        option (google.api.http) = {
-            get: "/api/v1/usableobjects/{id}"
-        };
-  }
-  rpc CreateUsableObject(UsableObject) returns (UsableObject) {
-        option (google.api.http) = {
-            post: "/api/v1/usableobjects"
-            body: "*"
-        };
-  }
-  rpc UpdateUsableObject(UsableObject) returns (UsableObject) {
-        option (google.api.http) = {
-            put: "/api/v1/usableobjects/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteUsableObject(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/usableobjects/{id}"
-        };
-  }
-
-  rpc ListNode(google.protobuf.Empty) returns (Nodes) {
-        option (google.api.http) = {
-            get: "/api/v1/nodes"
-        };
-  }
-  rpc GetNode(ID) returns (Node) {
-        option (google.api.http) = {
-            get: "/api/v1/nodes/{id}"
-        };
-  }
-  rpc CreateNode(Node) returns (Node) {
-        option (google.api.http) = {
-            post: "/api/v1/nodes"
-            body: "*"
-        };
-  }
-  rpc UpdateNode(Node) returns (Node) {
-        option (google.api.http) = {
-            put: "/api/v1/nodes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNode(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/nodes/{id}"
-        };
-  }
-
-  rpc ListAddressPool(google.protobuf.Empty) returns (AddressPools) {
-        option (google.api.http) = {
-            get: "/api/v1/addresspools"
-        };
-  }
-  rpc GetAddressPool(ID) returns (AddressPool) {
-        option (google.api.http) = {
-            get: "/api/v1/addresspools/{id}"
-        };
-  }
-  rpc CreateAddressPool(AddressPool) returns (AddressPool) {
-        option (google.api.http) = {
-            post: "/api/v1/addresspools"
-            body: "*"
-        };
-  }
-  rpc UpdateAddressPool(AddressPool) returns (AddressPool) {
-        option (google.api.http) = {
-            put: "/api/v1/addresspools/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteAddressPool(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/addresspools/{id}"
-        };
-  }
-
-  rpc ListDashboardView(google.protobuf.Empty) returns (DashboardViews) {
-        option (google.api.http) = {
-            get: "/api/v1/dashboardviews"
-        };
-  }
-  rpc GetDashboardView(ID) returns (DashboardView) {
-        option (google.api.http) = {
-            get: "/api/v1/dashboardviews/{id}"
-        };
-  }
-  rpc CreateDashboardView(DashboardView) returns (DashboardView) {
-        option (google.api.http) = {
-            post: "/api/v1/dashboardviews"
-            body: "*"
-        };
-  }
-  rpc UpdateDashboardView(DashboardView) returns (DashboardView) {
-        option (google.api.http) = {
-            put: "/api/v1/dashboardviews/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteDashboardView(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/dashboardviews/{id}"
-        };
-  }
-
-  rpc ListNetworkParameter(google.protobuf.Empty) returns (NetworkParameters) {
-        option (google.api.http) = {
-            get: "/api/v1/networkparameters"
-        };
-  }
-  rpc GetNetworkParameter(ID) returns (NetworkParameter) {
-        option (google.api.http) = {
-            get: "/api/v1/networkparameters/{id}"
-        };
-  }
-  rpc CreateNetworkParameter(NetworkParameter) returns (NetworkParameter) {
-        option (google.api.http) = {
-            post: "/api/v1/networkparameters"
-            body: "*"
-        };
-  }
-  rpc UpdateNetworkParameter(NetworkParameter) returns (NetworkParameter) {
-        option (google.api.http) = {
-            put: "/api/v1/networkparameters/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNetworkParameter(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/networkparameters/{id}"
-        };
-  }
-
-  rpc ListImageDeployments(google.protobuf.Empty) returns (ImageDeploymentss) {
-        option (google.api.http) = {
-            get: "/api/v1/imagedeploymentses"
-        };
-  }
-  rpc GetImageDeployments(ID) returns (ImageDeployments) {
-        option (google.api.http) = {
-            get: "/api/v1/imagedeploymentses/{id}"
-        };
-  }
-  rpc CreateImageDeployments(ImageDeployments) returns (ImageDeployments) {
-        option (google.api.http) = {
-            post: "/api/v1/imagedeploymentses"
-            body: "*"
-        };
-  }
-  rpc UpdateImageDeployments(ImageDeployments) returns (ImageDeployments) {
-        option (google.api.http) = {
-            put: "/api/v1/imagedeploymentses/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteImageDeployments(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/imagedeploymentses/{id}"
-        };
-  }
-
-  rpc ListControllerUser(google.protobuf.Empty) returns (ControllerUsers) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerusers"
-        };
-  }
-  rpc GetControllerUser(ID) returns (ControllerUser) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerusers/{id}"
-        };
-  }
-  rpc CreateControllerUser(ControllerUser) returns (ControllerUser) {
-        option (google.api.http) = {
-            post: "/api/v1/controllerusers"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerUser(ControllerUser) returns (ControllerUser) {
-        option (google.api.http) = {
-            put: "/api/v1/controllerusers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerUser(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllerusers/{id}"
-        };
-  }
-
-  rpc ListReservedResource(google.protobuf.Empty) returns (ReservedResources) {
-        option (google.api.http) = {
-            get: "/api/v1/reservedresources"
-        };
-  }
-  rpc GetReservedResource(ID) returns (ReservedResource) {
-        option (google.api.http) = {
-            get: "/api/v1/reservedresources/{id}"
-        };
-  }
-  rpc CreateReservedResource(ReservedResource) returns (ReservedResource) {
-        option (google.api.http) = {
-            post: "/api/v1/reservedresources"
-            body: "*"
-        };
-  }
-  rpc UpdateReservedResource(ReservedResource) returns (ReservedResource) {
-        option (google.api.http) = {
-            put: "/api/v1/reservedresources/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteReservedResource(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/reservedresources/{id}"
-        };
-  }
-
-  rpc ListJournalEntry(google.protobuf.Empty) returns (JournalEntrys) {
-        option (google.api.http) = {
-            get: "/api/v1/journalentrys"
-        };
-  }
-  rpc GetJournalEntry(ID) returns (JournalEntry) {
-        option (google.api.http) = {
-            get: "/api/v1/journalentrys/{id}"
-        };
-  }
-  rpc CreateJournalEntry(JournalEntry) returns (JournalEntry) {
-        option (google.api.http) = {
-            post: "/api/v1/journalentrys"
-            body: "*"
-        };
-  }
-  rpc UpdateJournalEntry(JournalEntry) returns (JournalEntry) {
-        option (google.api.http) = {
-            put: "/api/v1/journalentrys/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteJournalEntry(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/journalentrys/{id}"
-        };
-  }
-
-  rpc ListUserCredential(google.protobuf.Empty) returns (UserCredentials) {
-        option (google.api.http) = {
-            get: "/api/v1/usercredentials"
-        };
-  }
-  rpc GetUserCredential(ID) returns (UserCredential) {
-        option (google.api.http) = {
-            get: "/api/v1/usercredentials/{id}"
-        };
-  }
-  rpc CreateUserCredential(UserCredential) returns (UserCredential) {
-        option (google.api.http) = {
-            post: "/api/v1/usercredentials"
-            body: "*"
-        };
-  }
-  rpc UpdateUserCredential(UserCredential) returns (UserCredential) {
-        option (google.api.http) = {
-            put: "/api/v1/usercredentials/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteUserCredential(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/usercredentials/{id}"
-        };
-  }
-
-  rpc ListControllerDashboardView(google.protobuf.Empty) returns (ControllerDashboardViews) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerdashboardviews"
-        };
-  }
-  rpc GetControllerDashboardView(ID) returns (ControllerDashboardView) {
-        option (google.api.http) = {
-            get: "/api/v1/controllerdashboardviews/{id}"
-        };
-  }
-  rpc CreateControllerDashboardView(ControllerDashboardView) returns (ControllerDashboardView) {
-        option (google.api.http) = {
-            post: "/api/v1/controllerdashboardviews"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerDashboardView(ControllerDashboardView) returns (ControllerDashboardView) {
-        option (google.api.http) = {
-            put: "/api/v1/controllerdashboardviews/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerDashboardView(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllerdashboardviews/{id}"
-        };
-  }
-
-  rpc ListUserDashboardView(google.protobuf.Empty) returns (UserDashboardViews) {
-        option (google.api.http) = {
-            get: "/api/v1/userdashboardviews"
-        };
-  }
-  rpc GetUserDashboardView(ID) returns (UserDashboardView) {
-        option (google.api.http) = {
-            get: "/api/v1/userdashboardviews/{id}"
-        };
-  }
-  rpc CreateUserDashboardView(UserDashboardView) returns (UserDashboardView) {
-        option (google.api.http) = {
-            post: "/api/v1/userdashboardviews"
-            body: "*"
-        };
-  }
-  rpc UpdateUserDashboardView(UserDashboardView) returns (UserDashboardView) {
-        option (google.api.http) = {
-            put: "/api/v1/userdashboardviews/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteUserDashboardView(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/userdashboardviews/{id}"
-        };
-  }
-
-  rpc ListController(google.protobuf.Empty) returns (Controllers) {
-        option (google.api.http) = {
-            get: "/api/v1/controllers"
-        };
-  }
-  rpc GetController(ID) returns (Controller) {
-        option (google.api.http) = {
-            get: "/api/v1/controllers/{id}"
-        };
-  }
-  rpc CreateController(Controller) returns (Controller) {
-        option (google.api.http) = {
-            post: "/api/v1/controllers"
-            body: "*"
-        };
-  }
-  rpc UpdateController(Controller) returns (Controller) {
-        option (google.api.http) = {
-            put: "/api/v1/controllers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteController(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllers/{id}"
-        };
-  }
-
-  rpc ListTenantRootRole(google.protobuf.Empty) returns (TenantRootRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantrootroles"
-        };
-  }
-  rpc GetTenantRootRole(ID) returns (TenantRootRole) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantrootroles/{id}"
-        };
-  }
-  rpc CreateTenantRootRole(TenantRootRole) returns (TenantRootRole) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantrootroles"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantRootRole(TenantRootRole) returns (TenantRootRole) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantrootroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantRootRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantrootroles/{id}"
-        };
-  }
-
-  rpc ListDeployment(google.protobuf.Empty) returns (Deployments) {
-        option (google.api.http) = {
-            get: "/api/v1/deployments"
-        };
-  }
-  rpc GetDeployment(ID) returns (Deployment) {
-        option (google.api.http) = {
-            get: "/api/v1/deployments/{id}"
-        };
-  }
-  rpc CreateDeployment(Deployment) returns (Deployment) {
-        option (google.api.http) = {
-            post: "/api/v1/deployments"
-            body: "*"
-        };
-  }
-  rpc UpdateDeployment(Deployment) returns (Deployment) {
-        option (google.api.http) = {
-            put: "/api/v1/deployments/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteDeployment(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/deployments/{id}"
-        };
-  }
-
-  rpc ListReservation(google.protobuf.Empty) returns (Reservations) {
-        option (google.api.http) = {
-            get: "/api/v1/reservations"
-        };
-  }
-  rpc GetReservation(ID) returns (Reservation) {
-        option (google.api.http) = {
-            get: "/api/v1/reservations/{id}"
-        };
-  }
-  rpc CreateReservation(Reservation) returns (Reservation) {
-        option (google.api.http) = {
-            post: "/api/v1/reservations"
-            body: "*"
-        };
-  }
-  rpc UpdateReservation(Reservation) returns (Reservation) {
-        option (google.api.http) = {
-            put: "/api/v1/reservations/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteReservation(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/reservations/{id}"
-        };
-  }
-
-  rpc ListSitePrivilege(google.protobuf.Empty) returns (SitePrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/siteprivileges"
-        };
-  }
-  rpc GetSitePrivilege(ID) returns (SitePrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/siteprivileges/{id}"
-        };
-  }
-  rpc CreateSitePrivilege(SitePrivilege) returns (SitePrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/siteprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateSitePrivilege(SitePrivilege) returns (SitePrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/siteprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSitePrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/siteprivileges/{id}"
-        };
-  }
-
-  rpc ListPayment(google.protobuf.Empty) returns (Payments) {
-        option (google.api.http) = {
-            get: "/api/v1/payments"
-        };
-  }
-  rpc GetPayment(ID) returns (Payment) {
-        option (google.api.http) = {
-            get: "/api/v1/payments/{id}"
-        };
-  }
-  rpc CreatePayment(Payment) returns (Payment) {
-        option (google.api.http) = {
-            post: "/api/v1/payments"
-            body: "*"
-        };
-  }
-  rpc UpdatePayment(Payment) returns (Payment) {
-        option (google.api.http) = {
-            put: "/api/v1/payments/{id}"
-            body: "*"
-        };
-  }
-  rpc DeletePayment(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/payments/{id}"
-        };
-  }
-
-  rpc ListTenant(google.protobuf.Empty) returns (Tenants) {
-        option (google.api.http) = {
-            get: "/api/v1/tenants"
-        };
-  }
-  rpc GetTenant(ID) returns (Tenant) {
-        option (google.api.http) = {
-            get: "/api/v1/tenants/{id}"
-        };
-  }
-  rpc CreateTenant(Tenant) returns (Tenant) {
-        option (google.api.http) = {
-            post: "/api/v1/tenants"
-            body: "*"
-        };
-  }
-  rpc UpdateTenant(Tenant) returns (Tenant) {
-        option (google.api.http) = {
-            put: "/api/v1/tenants/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenant(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenants/{id}"
-        };
-  }
-
-  rpc ListNetwork(google.protobuf.Empty) returns (Networks) {
-        option (google.api.http) = {
-            get: "/api/v1/networks"
-        };
-  }
-  rpc GetNetwork(ID) returns (Network) {
-        option (google.api.http) = {
-            get: "/api/v1/networks/{id}"
-        };
-  }
-  rpc CreateNetwork(Network) returns (Network) {
-        option (google.api.http) = {
-            post: "/api/v1/networks"
-            body: "*"
-        };
-  }
-  rpc UpdateNetwork(Network) returns (Network) {
-        option (google.api.http) = {
-            put: "/api/v1/networks/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNetwork(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/networks/{id}"
-        };
-  }
-
-  rpc ListNetworkSlice(google.protobuf.Empty) returns (NetworkSlices) {
-        option (google.api.http) = {
-            get: "/api/v1/networkslices"
-        };
-  }
-  rpc GetNetworkSlice(ID) returns (NetworkSlice) {
-        option (google.api.http) = {
-            get: "/api/v1/networkslices/{id}"
-        };
-  }
-  rpc CreateNetworkSlice(NetworkSlice) returns (NetworkSlice) {
-        option (google.api.http) = {
-            post: "/api/v1/networkslices"
-            body: "*"
-        };
-  }
-  rpc UpdateNetworkSlice(NetworkSlice) returns (NetworkSlice) {
-        option (google.api.http) = {
-            put: "/api/v1/networkslices/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNetworkSlice(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/networkslices/{id}"
-        };
-  }
-
-  rpc ListAccount(google.protobuf.Empty) returns (Accounts) {
-        option (google.api.http) = {
-            get: "/api/v1/accounts"
-        };
-  }
-  rpc GetAccount(ID) returns (Account) {
-        option (google.api.http) = {
-            get: "/api/v1/accounts/{id}"
-        };
-  }
-  rpc CreateAccount(Account) returns (Account) {
-        option (google.api.http) = {
-            post: "/api/v1/accounts"
-            body: "*"
-        };
-  }
-  rpc UpdateAccount(Account) returns (Account) {
-        option (google.api.http) = {
-            put: "/api/v1/accounts/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteAccount(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/accounts/{id}"
-        };
-  }
-
-  rpc ListTenantRoot(google.protobuf.Empty) returns (TenantRoots) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantroots"
-        };
-  }
-  rpc GetTenantRoot(ID) returns (TenantRoot) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantroots/{id}"
-        };
-  }
-  rpc CreateTenantRoot(TenantRoot) returns (TenantRoot) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantroots"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantRoot(TenantRoot) returns (TenantRoot) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantroots/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantRoot(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantroots/{id}"
-        };
-  }
-
-  rpc ListService(google.protobuf.Empty) returns (Services) {
-        option (google.api.http) = {
-            get: "/api/v1/services"
-        };
-  }
-  rpc GetService(ID) returns (Service) {
-        option (google.api.http) = {
-            get: "/api/v1/services/{id}"
-        };
-  }
-  rpc CreateService(Service) returns (Service) {
-        option (google.api.http) = {
-            post: "/api/v1/services"
-            body: "*"
-        };
-  }
-  rpc UpdateService(Service) returns (Service) {
-        option (google.api.http) = {
-            put: "/api/v1/services/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteService(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/services/{id}"
-        };
-  }
-
-  rpc ListControllerSlicePrivilege(google.protobuf.Empty) returns (ControllerSlicePrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersliceprivileges"
-        };
-  }
-  rpc GetControllerSlicePrivilege(ID) returns (ControllerSlicePrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/controllersliceprivileges/{id}"
-        };
-  }
-  rpc CreateControllerSlicePrivilege(ControllerSlicePrivilege) returns (ControllerSlicePrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/controllersliceprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateControllerSlicePrivilege(ControllerSlicePrivilege) returns (ControllerSlicePrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/controllersliceprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteControllerSlicePrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/controllersliceprivileges/{id}"
-        };
-  }
-
-  rpc ListSiteCredential(google.protobuf.Empty) returns (SiteCredentials) {
-        option (google.api.http) = {
-            get: "/api/v1/sitecredentials"
-        };
-  }
-  rpc GetSiteCredential(ID) returns (SiteCredential) {
-        option (google.api.http) = {
-            get: "/api/v1/sitecredentials/{id}"
-        };
-  }
-  rpc CreateSiteCredential(SiteCredential) returns (SiteCredential) {
-        option (google.api.http) = {
-            post: "/api/v1/sitecredentials"
-            body: "*"
-        };
-  }
-  rpc UpdateSiteCredential(SiteCredential) returns (SiteCredential) {
-        option (google.api.http) = {
-            put: "/api/v1/sitecredentials/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSiteCredential(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/sitecredentials/{id}"
-        };
-  }
-
-  rpc ListDeploymentPrivilege(google.protobuf.Empty) returns (DeploymentPrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/deploymentprivileges"
-        };
-  }
-  rpc GetDeploymentPrivilege(ID) returns (DeploymentPrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/deploymentprivileges/{id}"
-        };
-  }
-  rpc CreateDeploymentPrivilege(DeploymentPrivilege) returns (DeploymentPrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/deploymentprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateDeploymentPrivilege(DeploymentPrivilege) returns (DeploymentPrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/deploymentprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteDeploymentPrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/deploymentprivileges/{id}"
-        };
-  }
-
-  rpc ListNetworkParameterType(google.protobuf.Empty) returns (NetworkParameterTypes) {
-        option (google.api.http) = {
-            get: "/api/v1/networkparametertypes"
-        };
-  }
-  rpc GetNetworkParameterType(ID) returns (NetworkParameterType) {
-        option (google.api.http) = {
-            get: "/api/v1/networkparametertypes/{id}"
-        };
-  }
-  rpc CreateNetworkParameterType(NetworkParameterType) returns (NetworkParameterType) {
-        option (google.api.http) = {
-            post: "/api/v1/networkparametertypes"
-            body: "*"
-        };
-  }
-  rpc UpdateNetworkParameterType(NetworkParameterType) returns (NetworkParameterType) {
-        option (google.api.http) = {
-            put: "/api/v1/networkparametertypes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteNetworkParameterType(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/networkparametertypes/{id}"
-        };
-  }
-
-  rpc ListProvider(google.protobuf.Empty) returns (Providers) {
-        option (google.api.http) = {
-            get: "/api/v1/providers"
-        };
-  }
-  rpc GetProvider(ID) returns (Provider) {
-        option (google.api.http) = {
-            get: "/api/v1/providers/{id}"
-        };
-  }
-  rpc CreateProvider(Provider) returns (Provider) {
-        option (google.api.http) = {
-            post: "/api/v1/providers"
-            body: "*"
-        };
-  }
-  rpc UpdateProvider(Provider) returns (Provider) {
-        option (google.api.http) = {
-            put: "/api/v1/providers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteProvider(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/providers/{id}"
-        };
-  }
-
-  rpc ListTenantWithContainer(google.protobuf.Empty) returns (TenantWithContainers) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantwithcontainers"
-        };
-  }
-  rpc GetTenantWithContainer(ID) returns (TenantWithContainer) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantwithcontainers/{id}"
-        };
-  }
-  rpc CreateTenantWithContainer(TenantWithContainer) returns (TenantWithContainer) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantwithcontainers"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantWithContainer(TenantWithContainer) returns (TenantWithContainer) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantwithcontainers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantWithContainer(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantwithcontainers/{id}"
-        };
-  }
-
-  rpc ListDeploymentRole(google.protobuf.Empty) returns (DeploymentRoles) {
-        option (google.api.http) = {
-            get: "/api/v1/deploymentroles"
-        };
-  }
-  rpc GetDeploymentRole(ID) returns (DeploymentRole) {
-        option (google.api.http) = {
-            get: "/api/v1/deploymentroles/{id}"
-        };
-  }
-  rpc CreateDeploymentRole(DeploymentRole) returns (DeploymentRole) {
-        option (google.api.http) = {
-            post: "/api/v1/deploymentroles"
-            body: "*"
-        };
-  }
-  rpc UpdateDeploymentRole(DeploymentRole) returns (DeploymentRole) {
-        option (google.api.http) = {
-            put: "/api/v1/deploymentroles/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteDeploymentRole(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/deploymentroles/{id}"
-        };
-  }
-
-  rpc ListProject(google.protobuf.Empty) returns (Projects) {
-        option (google.api.http) = {
-            get: "/api/v1/projects"
-        };
-  }
-  rpc GetProject(ID) returns (Project) {
-        option (google.api.http) = {
-            get: "/api/v1/projects/{id}"
-        };
-  }
-  rpc CreateProject(Project) returns (Project) {
-        option (google.api.http) = {
-            post: "/api/v1/projects"
-            body: "*"
-        };
-  }
-  rpc UpdateProject(Project) returns (Project) {
-        option (google.api.http) = {
-            put: "/api/v1/projects/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteProject(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/projects/{id}"
-        };
-  }
-
-  rpc ListTenantRootPrivilege(google.protobuf.Empty) returns (TenantRootPrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantrootprivileges"
-        };
-  }
-  rpc GetTenantRootPrivilege(ID) returns (TenantRootPrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/tenantrootprivileges/{id}"
-        };
-  }
-  rpc CreateTenantRootPrivilege(TenantRootPrivilege) returns (TenantRootPrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/tenantrootprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateTenantRootPrivilege(TenantRootPrivilege) returns (TenantRootPrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/tenantrootprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteTenantRootPrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/tenantrootprivileges/{id}"
-        };
-  }
-
-  rpc ListXOSComponentVolume(google.protobuf.Empty) returns (XOSComponentVolumes) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponentvolumes"
-        };
-  }
-  rpc GetXOSComponentVolume(ID) returns (XOSComponentVolume) {
-        option (google.api.http) = {
-            get: "/api/v1/xoscomponentvolumes/{id}"
-        };
-  }
-  rpc CreateXOSComponentVolume(XOSComponentVolume) returns (XOSComponentVolume) {
-        option (google.api.http) = {
-            post: "/api/v1/xoscomponentvolumes"
-            body: "*"
-        };
-  }
-  rpc UpdateXOSComponentVolume(XOSComponentVolume) returns (XOSComponentVolume) {
-        option (google.api.http) = {
-            put: "/api/v1/xoscomponentvolumes/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteXOSComponentVolume(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/xoscomponentvolumes/{id}"
-        };
-  }
-
-  rpc ListSliceCredential(google.protobuf.Empty) returns (SliceCredentials) {
-        option (google.api.http) = {
-            get: "/api/v1/slicecredentials"
-        };
-  }
-  rpc GetSliceCredential(ID) returns (SliceCredential) {
-        option (google.api.http) = {
-            get: "/api/v1/slicecredentials/{id}"
-        };
-  }
-  rpc CreateSliceCredential(SliceCredential) returns (SliceCredential) {
-        option (google.api.http) = {
-            post: "/api/v1/slicecredentials"
-            body: "*"
-        };
-  }
-  rpc UpdateSliceCredential(SliceCredential) returns (SliceCredential) {
-        option (google.api.http) = {
-            put: "/api/v1/slicecredentials/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSliceCredential(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/slicecredentials/{id}"
-        };
-  }
-
-  rpc ListSliceTag(google.protobuf.Empty) returns (SliceTags) {
-        option (google.api.http) = {
-            get: "/api/v1/slicetags"
-        };
-  }
-  rpc GetSliceTag(ID) returns (SliceTag) {
-        option (google.api.http) = {
-            get: "/api/v1/slicetags/{id}"
-        };
-  }
-  rpc CreateSliceTag(SliceTag) returns (SliceTag) {
-        option (google.api.http) = {
-            post: "/api/v1/slicetags"
-            body: "*"
-        };
-  }
-  rpc UpdateSliceTag(SliceTag) returns (SliceTag) {
-        option (google.api.http) = {
-            put: "/api/v1/slicetags/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteSliceTag(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/slicetags/{id}"
-        };
-  }
-
-  rpc ListCoarseTenant(google.protobuf.Empty) returns (CoarseTenants) {
-        option (google.api.http) = {
-            get: "/api/v1/coarsetenants"
-        };
-  }
-  rpc GetCoarseTenant(ID) returns (CoarseTenant) {
-        option (google.api.http) = {
-            get: "/api/v1/coarsetenants/{id}"
-        };
-  }
-  rpc CreateCoarseTenant(CoarseTenant) returns (CoarseTenant) {
-        option (google.api.http) = {
-            post: "/api/v1/coarsetenants"
-            body: "*"
-        };
-  }
-  rpc UpdateCoarseTenant(CoarseTenant) returns (CoarseTenant) {
-        option (google.api.http) = {
-            put: "/api/v1/coarsetenants/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteCoarseTenant(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/coarsetenants/{id}"
-        };
-  }
-
-  rpc ListRouter(google.protobuf.Empty) returns (Routers) {
-        option (google.api.http) = {
-            get: "/api/v1/routers"
-        };
-  }
-  rpc GetRouter(ID) returns (Router) {
-        option (google.api.http) = {
-            get: "/api/v1/routers/{id}"
-        };
-  }
-  rpc CreateRouter(Router) returns (Router) {
-        option (google.api.http) = {
-            post: "/api/v1/routers"
-            body: "*"
-        };
-  }
-  rpc UpdateRouter(Router) returns (Router) {
-        option (google.api.http) = {
-            put: "/api/v1/routers/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteRouter(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/routers/{id}"
-        };
-  }
-
-  rpc ListServiceResource(google.protobuf.Empty) returns (ServiceResources) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceresources"
-        };
-  }
-  rpc GetServiceResource(ID) returns (ServiceResource) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceresources/{id}"
-        };
-  }
-  rpc CreateServiceResource(ServiceResource) returns (ServiceResource) {
-        option (google.api.http) = {
-            post: "/api/v1/serviceresources"
-            body: "*"
-        };
-  }
-  rpc UpdateServiceResource(ServiceResource) returns (ServiceResource) {
-        option (google.api.http) = {
-            put: "/api/v1/serviceresources/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServiceResource(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/serviceresources/{id}"
-        };
-  }
-
-  rpc ListServicePrivilege(google.protobuf.Empty) returns (ServicePrivileges) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceprivileges"
-        };
-  }
-  rpc GetServicePrivilege(ID) returns (ServicePrivilege) {
-        option (google.api.http) = {
-            get: "/api/v1/serviceprivileges/{id}"
-        };
-  }
-  rpc CreateServicePrivilege(ServicePrivilege) returns (ServicePrivilege) {
-        option (google.api.http) = {
-            post: "/api/v1/serviceprivileges"
-            body: "*"
-        };
-  }
-  rpc UpdateServicePrivilege(ServicePrivilege) returns (ServicePrivilege) {
-        option (google.api.http) = {
-            put: "/api/v1/serviceprivileges/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteServicePrivilege(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/serviceprivileges/{id}"
-        };
-  }
-
-  rpc ListUser(google.protobuf.Empty) returns (Users) {
-        option (google.api.http) = {
-            get: "/api/v1/users"
-        };
-  }
-  rpc GetUser(ID) returns (User) {
-        option (google.api.http) = {
-            get: "/api/v1/users/{id}"
-        };
-  }
-  rpc CreateUser(User) returns (User) {
-        option (google.api.http) = {
-            post: "/api/v1/users"
-            body: "*"
-        };
-  }
-  rpc UpdateUser(User) returns (User) {
-        option (google.api.http) = {
-            put: "/api/v1/users/{id}"
-            body: "*"
-        };
-  }
-  rpc DeleteUser(ID) returns (google.protobuf.Empty) {
-        option (google.api.http) = {
-            delete: "/api/v1/users/{id}"
-        };
-  }
-
-}
diff --git a/xos/grpc/protos/xosoptions.proto b/xos/grpc/protos/xosoptions.proto
new file mode 100644
index 0000000..d82fe6f
--- /dev/null
+++ b/xos/grpc/protos/xosoptions.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+package xos;
+
+import "google/protobuf/descriptor.proto";
+
+message ValRule {
+  int32 maxLength = 1;
+  bool nonNull = 2;
+  bool unique = 3;
+}
+
+message ForeignKeyRule {
+  string modelName = 1;
+}
+
+extend google.protobuf.FieldOptions {
+  ValRule val = 1001;
+  ForeignKeyRule foreignKey = 1002;
+}
diff --git a/xos/tools/apigen/protobuf.template.txt b/xos/tools/apigen/protobuf.template.txt
index b38c88c..359426a 100644
--- a/xos/tools/apigen/protobuf.template.txt
+++ b/xos/tools/apigen/protobuf.template.txt
@@ -5,6 +5,25 @@
 import "google/protobuf/empty.proto";
 import "google/api/annotations.proto";
 import "common.proto";
+import "xosoptions.proto";
+
+{%- macro fieldOpts(field) -%}
+  {%- set needComma=False -%}
+  {%- set needBrack=True -%}
+  {%- if field.max_length!=None -%}
+    {%- if needBrack -%}[{%- endif -%}{%- if needComma -%}, {%- endif -%}{%- set needComma=True -%}{%- set needBrack=False -%}
+    (val).maxLength = {{ field.max_length }}
+  {%- endif -%}
+  {%- if field.null==False -%}
+    {%- if needBrack -%}[{%- endif -%}{%- if needComma -%}, {%- endif -%}{%- set needComma=True -%}{%- set needBrack=False -%}
+    (val).nonNull= true
+  {%- endif -%}
+  {%- if field.related and field.related.model and field.related.model.__name__ -%}
+    {%- if needBrack -%}[{%- endif -%}{%- if needComma -%}, {%- endif -%}{%- set needComma=True -%}{%- set needBrack=False -%}
+    (foreignKey).modelName = "{{ field.related.model.__name__ }}"
+  {%- endif -%}
+  {%- if not needBrack -%}]{%- endif -%}
+{%- endmacro %}
 
 // Note: all fields are wrapped in a "oneof". This causes proto3 to always send
 // fields that are set by the caller, regardless if they are set to a default
@@ -16,11 +35,11 @@
   {%- for field in object.all_fields %}
     oneof {{ field.name }}_present {
     {%- if (field.get_internal_type() == "CharField") or (field.get_internal_type() == "TextField") or (field.get_internal_type() == "SlugField") %}
-      string {{ field.name }} = {{ loop.index }};
+      string {{ field.name }} = {{ loop.index }} {{ fieldOpts(field) }};
     {%- elif field.get_internal_type() == "BooleanField" %}
       bool {{ field.name }} = {{ loop.index }};
     {%- elif field.get_internal_type() == "ForeignKey" %}
-      int32 {{ field.name }}_id = {{ loop.index }};
+      int32 {{ field.name }}_id = {{ loop.index }} {{ fieldOpts(field) }};
     {%- elif field.get_internal_type() == "DateTimeField" %}
       float {{ field.name }} = {{ loop.index }};
     {%- elif field.get_internal_type() == "AutoField" %}