SEBA-401: Reformat and expand onos-service xproto

Change-Id: If4ff4081d192c02426678c82d00d47367f69ef81
diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index 9c01b5b..e4e1948 100644
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -24,7 +24,7 @@
     def save(self, *args, **kwargs):
 
         if self.url and not self.version:
-            raise XOSValidationError("If you specify and url, you also need to specify a version. ONOSApp:  %s" % self.name)
+            raise XOSValidationError("If you specify a url, you also need to specify a version. ONOSApp:  %s" % self.name)
 
         super(ONOSApp, self).save(*args, **kwargs)
 
diff --git a/xos/synchronizer/models/onos.xproto b/xos/synchronizer/models/onos.xproto
index e3b553a..b9b0a33 100644
--- a/xos/synchronizer/models/onos.xproto
+++ b/xos/synchronizer/models/onos.xproto
@@ -5,18 +5,52 @@
 message ONOSApp (ServiceInstance){
     option verbose_name="ONOS Application";
     option owner_class_name="ONOSService";
+    option description = "An individual application within the ONOS Service";
 
-    required string app_id = 1 [db_index = False];
-    optional string dependencies = 2 [help_text="Comma separated list of required applications", db_index = False];
-    optional string url = 3 [help_text="URL at which the application is available, if it needs to be downloaded", db_index = False];
-    optional string version = 4 [db_index = False];
+    required string app_id = 1 [
+        help_text="Application identifier",
+        content_type = "stripped",
+        db_index = False,
+        max_length = 256];
+    optional string dependencies = 2 [
+        help_text="Comma separated list of required application application ids",
+        content_type = "stripped",
+        db_index = False,
+        max_length = 1024];
+    optional string url = 3 [
+        help_text="URL at which the application is available, if it needs to be downloaded",
+        content_type = "stripped",
+        db_index = False,
+        max_length = 1024];
+    optional string version = 4 [
+        help_text="Application version number",
+        content_type = "stripped",
+        db_index = False,
+        max_length = 256];
 }
 
 message ONOSService (Service){
     option verbose_name="ONOS Service";
+    option description = "Manages ONOS Applications contained within the ONOS Service";
 
-    required string rest_hostname = 1 [db_index = False, max_length = 255, content_type = "stripped"];
-    required int32 rest_port = 2 [default = 8181, db_index = False];
-    required string rest_username = 3 [db_index = False, max_length = 255, content_type = "stripped", default="karaf"];
-    required string rest_password = 4 [db_index = False, max_length = 255, content_type = "stripped", default="karaf"];
+    required string rest_hostname = 1 [
+        help_text = "Hostname of ONOS Service REST endpoint",
+        content_type = "stripped",
+        db_index = False,
+        max_length = 255];
+    required int32 rest_port = 2 [
+        help_text = "Port numnber of ONOS Service REST endpoint",
+        db_index = False,
+        default = 8181];
+    required string rest_username = 3 [
+        help_text = "Username to use when authenticating to ONOS",
+        content_type = "stripped", db_index = False,
+        default="karaf",
+        max_length = 255];
+    required string rest_password = 4 [
+        help_text = "Password to use when authenticating to ONOS",
+        content_type = "stripped",
+        db_index = False,
+        default="karaf",
+        max_length = 255];
 }