I *think* you want the following:

{% for key, value in yamlVars.iteritems() %}

# BEGIN BLOCK {{ key }}
{{ key }}:
    {{ value | to_nice_yaml | indent }}
# END BLOCK {{ key }}

{% endfor %}

http://jinja.pocoo.org/docs/dev/templates/#indent

On Tue, Feb 27, 2018 at 8:54 AM, ishan jain <[email protected]> wrote:

> I have a large number of YAML files prepared manually which have a fixed
> structure - list of dictionaries. But within different files, sequence of
> these keys and their values differ. I need to manage them automatically, so
> i am writing a kind of converter to add marker blocks. But i am stuck at
> this point:
>
>
> example input YAML file
> #something
>
> keyA:
>   A1:
>     - bla
>     - bla
>   A2: bla bla
>   A3:
>     A3.1: bla
>     A3.2: bla
>
> keyA:
>   C1:
>     - bla
>   C2: bla bla
>   C3:
>     C3.1: bla
>
> keyB:
>   B1:
>     - bla
>     - bla
>   B2: bla bla
>   B3:
>     B3.1: bla
>     B3.2: bla
>     B3.3: bla
>   B4:
>    - bla
>    - bla
>
>
> playbook to load one of the YAML, and try to write the same variables
> again with markers appended
>     - include_vars:
>           file: "path to one of the YAML file"
>           name: yamlVars
>
>     - template:
>          src: updated.yaml.j2
>          dest: "path to that same file"
>
>
> the template
> {% for key, value in yamlVars.iteritems() %}
>
> # BEGIN BLOCK {{ key }}
> {{ value | to_nice_yaml }}
> # END BLOCK {{ key }}
>
> {% endfor %}
>
>
> Poblem is, always the contents of each key is printed:
> (manually prepared output to hide my variables)
>
>
> actual output
>
> # BEGIN BLOCK keyA
> A1:
>   - bla
>   - bla
> A2: bla bla
> A3:
>   A3.1: bla
>   A3.2: bla
> # END BLOCK keyA
>
>
> # BEGIN BLOCK keyC
> C1:
>   - bla
> C2: bla bla
> C3:
>   C3.1: bla
> # END BLOCK keyC
>
>
> # BEGIN BLOCK keyB
> B1:
>   - bla
>   - bla
> B2: bla bla
> B3:
>   B3.1: bla
>   B3.2: bla
>   B3.3: bla
> B4:
>  - bla
>  - bla
> # END BLOCK keyB
>
>
>
>
> expected output
>
> # BEGIN BLOCK keyA
> keyA:
>   A1:
>     - bla
>     - bla
>   A2: bla bla
>   A3:
>     A3.1: bla
>     A3.2: bla
> # END BLOCK keyA
>
>
> # BEGIN BLOCK keyC
> keyC:
>   C1:
>     - bla
>   C2: bla bla
>   C3:
>     C3.1: bla
> # END BLOCK keyC
>
>
> # BEGIN BLOCK keyB
> keyB:
>   B1:
>     - bla
>     - bla
>   B2: bla bla
>   B3:
>     B3.1: bla
>     B3.2: bla
>     B3.3: bla
>   B4:
>    - bla
>    - bla
> # END BLOCK keyB
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/ansible-project/9a06be57-73b2-4459-88f4-9ffb4a8ef4c6%40googlegroups.
> com
> <https://groups.google.com/d/msgid/ansible-project/9a06be57-73b2-4459-88f4-9ffb4a8ef4c6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Matt Martz
@sivel
sivel.net

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CAD8N0v_0e5fuOkMOEaCFnc0BF3-YPDBdfcaV%3DeiEEg9%3DhvgFtQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to