diff --git "a/examples/environment/\173\173 cookiecutter.cluster_name \175\175/init.yml" "b/examples/environment/\173\173 cookiecutter.cluster_name \175\175/init.yml"
index d1b5b7f..f7a1b70 100644
--- "a/examples/environment/\173\173 cookiecutter.cluster_name \175\175/init.yml"
+++ "b/examples/environment/\173\173 cookiecutter.cluster_name \175\175/init.yml"
@@ -15,7 +15,8 @@
             # For example, you can take the 'inventory_node_name' and find it's config
             # in an additional dict inventory[inventory_node_name] loaded from custom_inventory.yaml,
             # or skip the original context from 'cookiecutter' object and iterate only custom inventory.
-            linux_network_interfaces: {{ node['parameters']['linux']['network']['interface'] }}
+            linux_network_interfaces:
+              {{ toyaml( node['parameters']['linux']['network']['interface'], width=14 ) }}
 {%- endif %}
           classes:
           - environment.{{ cookiecutter.cluster_name }}.networking
diff --git a/reclass_tools/create_inventory.py b/reclass_tools/create_inventory.py
index 9b03632..f08fafe 100644
--- a/reclass_tools/create_inventory.py
+++ b/reclass_tools/create_inventory.py
@@ -90,10 +90,19 @@
                           Merge of the files usind update() into a single
                           dict is in the same order as files in the list.
     """
+    def toyaml(value, width=0, indentfirst=False):
+        string = yaml.dump(value, default_flow_style=False)
+        if string.splitlines():
+            return (
+                ' ' * width * indentfirst +
+                ('\n' + ' ' * width).join(string.splitlines()) + '\n')
+        else:
+            return ''
 
     overwrite_if_exists = True
 
     merged_context = {}
+
     for fcon in contexts:
         if fcon.endswith('.yaml'):
             context = helpers.yaml_read(fcon)
@@ -104,6 +113,8 @@
 
         merged_context = helpers.merge_nested_objects(merged_context, context)
 
+    merged_context['toyaml'] = toyaml
+
     try:
         generate.generate_files(
             repo_dir=template_dir,
