--- - name: Delete all services of a 3scale tenant hosts: localhost gather_facts: no vars: ansible_connection: local threescale_api: https://nmasse-redhat-admin.3scale.net/admin/api tasks: - assert: that: - threescale_token is defined msg: > Please pass your 3scale Access Token in the 'threescale_token' extra var - name: Find Services uri: url: '{{ threescale_api }}/services.json?access_token={{ threescale_token }}' register: find_services_response changed_when: false - name: Delete services (except the default 'api' service) uri: url: '{{ threescale_api }}/services/{{ item }}.json?access_token={{ threescale_token }}' method: DELETE status_code: "200,404" register: delete_service_response changed_when: delete_service_response.status == 200 with_items: '{{ services }}' vars: services: '{{ find_services_response.json|json_query(query) }}' query: services[?service.system_name != `api`].service.id - name: Find ActiveDocs uri: url: '{{ threescale_api }}/active_docs.json?access_token={{ threescale_token }}' register: find_active_docs_response changed_when: false - name: Delete ActiveDocs (except the default 'api' ActiveDoc) uri: url: '{{ threescale_api }}/active_docs/{{ item }}.json?access_token={{ threescale_token }}' method: DELETE status_code: "200,404" register: delete_active_docs_response changed_when: delete_active_docs_response.status == 200 with_items: '{{ active_docs }}' vars: active_docs: '{{ find_active_docs_response.json|json_query(query) }}' query: api_docs[?api_doc.system_name != `api`].api_doc.id