You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
50 lines
1.7 KiB
---
|
|
|
|
- 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
|
|
|