'ansible rabbitmq purge queue

I have ansible playbook where I want purge all queues in rabbitmq

- name: Get queues
      uri:
        url: http://localhost:15672/api/queues
        method: GET
        return_content: yes
        status_code: 200,404
        body_format: json
      register: result

- name: Just the Names
  debug: msg="{{ result.json | json_query(jmesquery)}}"
  vars:
     jmesquery: "[*].name"
  register: queue_name

Return list queues

    TASK [demo : Just the Names] ***
ok: [test] => {
    "msg": [
        "test1",
        "test2"
    ]
}

How to do a loop for queues

- name: delete queues
  uri:
      url: http://localhost:15672/api/queues/aaa/{{ queue_name }}/contents"
      method: DELETE


Solution 1:[1]

You could try:

- name: delete queues
  uri:
      url: "http://localhost:15672/api/queues/aaa/{{ item }}/contents"
      method: DELETE
  loop: "{{ result.json | json_query(jmesquery)}}"
  vars:
     jmesquery: "[*].name" 

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Frenchy