[CORD-1943] Adding model to hold graph constraints

Change-Id: I072133d7ac6d7db31e34d977fecfb135b88eff92
(cherry picked from commit e2afe4b7ce877e866326fab7e76f66e4a8fc1b7a)
diff --git a/xos/core/models/core.xproto b/xos/core/models/core.xproto
index bdc3b77..63e0ddd 100644
--- a/xos/core/models/core.xproto
+++ b/xos/core/models/core.xproto
@@ -599,3 +599,9 @@
      required string files = 2 [max_length = 1024, content_type = "stripped", blank = False, help_text = "List of comma separated file composing the view", null = False, db_index = False];
 }
 
+message ServiceGraphConstraint (XOSBase) {
+    option verbose_name="Graph Constraint";
+    option description="Define the position of the nodes in the service graph";
+    required string constraints = 1 [max_length = 1024, content_type = "stripped", blank = True, help_text = "A composite array defining positions, eg [volt, vsg, [address_manager, vrouter]]", null = False, tosca_key=True];
+}
+