An Ansible module that enables Continuous Delivery with Red Hat 3scale API Management Platform (3scale AMP)
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

---
- 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