Hi,
I block on manipuling data with ansible / jinja2 / python filter.

I have this yaml structure which is an ansible inventory in yaml
```
all:
  children:
    admin_administration:
      hosts:
        admin_administration1:
          server_ip: 127.0.0.1
    int:
      children:
        int_administration:
        int_console:
        int_swarmanager:
        int_swarmworker:
          children:
            int_swarmvip:
            int_swarminfra:
            int_swarmload:
            int_scw_swarmload:
    int_swarmvip:
      hosts:
        int_swarmvip1:
          server_hostname: swarmvip-001
          server_ip: 127.0.0.1
```

and I have this list of dict:
```
remove_groups:
  - name:
      int_swarmworker:
        children:
          int_swarmvip:
```
I loop on it so the task gets group.name dict on each iteration
```
- name: Remove group from inventory file
  include_tasks: remove_group.yml
  loop: "{{ remove_groups }}"
  loop_control:
    loop_var: group
```

In the section:
```
        int_swarmworker:
          children:
            int_swarmvip:
            int_swarminfra:
            int_swarmload:
            int_scw_swarmload:
```

Only the int_swarmvip must be removed but if there is no more subobject 
after removing int_swarmvip below int_swarmworker, the group 
int_swarmworker must be removed too.

Also this section must be removed:
```
    int_swarmvip:
      hosts:
        int_swarmvip1:
          server_hostname: swarmvip-001
          server_ip: 127.0.0.1
```

So the new yaml ansible inventory should be:
```
all:
  children:
    admin_administration:
      hosts:
        admin_administration1:
          server_ip: 127.0.0.1
    int:
      children:
        int_administration:
        int_console:
        int_swarmanager:
        int_swarmworker:
          children:
            int_swarminfra:
            int_swarmload:
            int_scw_swarmload:
```

I did the add_host with ansible dict combine and I try it to remove a dict 
--> fail
Also try a custom plugin fillter -> fail
jinja2 code -> fail
I debug too much but I'm sure the solution is easy ...

Thanks for your help

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/0f5c508e-f98d-45aa-b4f3-4b781c0882a9n%40googlegroups.com.

Reply via email to