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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to