[CORD-2080] Adding 'tosca_key' support in xproto

Change-Id: Ib01c1cdcb81a51819c9e08703e6c76a4ffa09f17
diff --git a/src/tosca/parser.py b/src/tosca/parser.py
index acbd5f1..b30f716 100644
--- a/src/tosca/parser.py
+++ b/src/tosca/parser.py
@@ -147,6 +147,14 @@
             setattr(model, "%s_id" % class_name, related_model.id)
         return model
 
+    @staticmethod
+    def add_dependencies(data, requirements, saved_models):
+        for dep in requirements:
+            class_name = dep.keys()[0]
+            related_model = saved_models[dep[class_name]['node']]
+            data["%s_id" % class_name] = related_model.id
+        return data
+
     def __init__(self, recipe, username, password, **kwargs):
 
         self.delete = False
@@ -198,6 +206,10 @@
                             data = {}
                     # [] get model by class name
                     class_name = recipe.type.replace("tosca.nodes.", "")
+
+                    # augemnt data with relations
+                    data = self.add_dependencies(data, recipe.requirements, self.saved_model_by_name)
+
                     model = GRPCModelsAccessor.get_model_from_classname(class_name, data, self.username, self.password)
                     # [] populate model with data
                     model = self.populate_model(model, data)