if m == input_def.name][0]
             capabilities = re.sub(r'\{"get_input":\s*"([\w|\-]+)"\}', json.dumps(aa.default), capabilities,1)
         if capabilities != 'null':
-            ret['capabilities'] = json.loads(capabilities)
\ No newline at end of file
+            ret['capabilities'] = json.loads(capabilities)
+
+    def buildArtifacts(self, nodeTemplate, inputs, ret):
+        artifacts = json.dumps(nodeTemplate.entity_tpl.get('artifacts', None))
+        match = re.findall(r'\{"get_input":\s*"([\w|\-]+)"\}',artifacts)
+        for m in match:
+            aa= [input_def for input_def in inputs
+                 if m == input_def.name][0]
+            artifacts = re.sub(r'\{"get_input":\s*"([\w|\-]+)"\}', json.dumps(aa.default), artifacts,1)
+        if artifacts != 'null':
+            ret['artifacts'] = json.loads(artifacts)
+
+    def build_interfaces(self, node_template):
+        if 'interfaces' in node_template.entity_tpl:
+            return node_template.entity_tpl['interfaces']
+        return None
\ No newline at end of file
 
         ret['properties'] = self.verify_properties(props, inputs, parsed_params)
         ret['requirements'] = self.build_requirements(nodeTemplate)
         self.buildCapabilities(nodeTemplate, inputs, ret)
-        # self.buildArtifacts(nodeTemplate, inputs, ret)
-        # interfaces = self.build_interfaces(nodeTemplate)
-        # if interfaces: ret['interfaces'] = interfaces
+        self.buildArtifacts(nodeTemplate, inputs, ret)
+        interfaces = self.build_interfaces(nodeTemplate)
+        if interfaces: ret['interfaces'] = interfaces
         return ret