11 changed files with 116 additions and 47 deletions
@ -0,0 +1,20 @@ |
|||||
|
--- |
||||
|
|
||||
|
- debug: |
||||
|
var: threescale_cicd_update_oidc_configuration_payload |
||||
|
verbosity: 1 |
||||
|
no_log: '{{ threescale_cicd_nolog }}' |
||||
|
|
||||
|
- name: Update the proxy definition |
||||
|
uri: |
||||
|
url: https://{{ inventory_hostname }}/admin/api/services/{{ threescale_cicd_api_service_id }}/proxy/oidc_configuration.json |
||||
|
validate_certs: no |
||||
|
method: PATCH |
||||
|
body: '{{ threescale_cicd_update_oidc_configuration_payload }}' |
||||
|
register: threescale_cicd_tmpresponse |
||||
|
changed_when: 'threescale_cicd_tmpresponse.status == 200' |
||||
|
no_log: '{{ threescale_cicd_nolog }}' |
||||
|
|
||||
|
- name: Wait for a couple seconds |
||||
|
pause: |
||||
|
seconds: '{{ threescale_cicd_throttling }}' |
||||
@ -0,0 +1,30 @@ |
|||||
|
--- |
||||
|
|
||||
|
- name: Get the list of existing application plans |
||||
|
uri: |
||||
|
url: '{{ service_url }}/application_plans.json?access_token={{ threescale_cicd_access_token|urlencode }}' |
||||
|
validate_certs: no |
||||
|
register: threescale_cicd_tmpresponse |
||||
|
when: threescale_cicd_api_system_name in threescale_cicd_existing_services |
||||
|
no_log: '{{ threescale_cicd_nolog }}' |
||||
|
vars: |
||||
|
service_url: https://{{ inventory_hostname }}/admin/api/services/{{ threescale_cicd_api_service_id }} |
||||
|
|
||||
|
- name: Set the list of existing application plans as a fact |
||||
|
set_fact: |
||||
|
threescale_cicd_existing_application_plans: >- |
||||
|
{{ threescale_cicd_tmpresponse.json|json_query('plans[*].application_plan.system_name') |
||||
|
if threescale_cicd_api_system_name in threescale_cicd_existing_services |
||||
|
else [] }} |
||||
|
threescale_cicd_existing_application_plans_details: >- |
||||
|
{{ threescale_cicd_tmpresponse.json|json_query('plans[].{"system_name": application_plan.system_name, "id": application_plan.id}') |
||||
|
if threescale_cicd_api_system_name in threescale_cicd_existing_services |
||||
|
else [] }} |
||||
|
|
||||
|
- debug: |
||||
|
msg: "Found {{ threescale_cicd_existing_application_plans|length }} application plans" |
||||
|
verbosity: 1 |
||||
|
|
||||
|
- debug: |
||||
|
var: threescale_cicd_existing_application_plans_details |
||||
|
verbosity: 1 |
||||
@ -0,0 +1,6 @@ |
|||||
|
--- |
||||
|
|
||||
|
- include_tasks: api-calls/update_oidc_configuration.yml |
||||
|
when: >- |
||||
|
threescale_cicd_api_security_scheme.type == 'oauth2' |
||||
|
and threescale_cicd_capabilities.oidc_configuration_api|bool |
||||
@ -0,0 +1,11 @@ |
|||||
|
{% set flows = threescale_cicd_oicd_flows|default([ threescale_cicd_api_security_scheme.flow ]) %} |
||||
|
{% |
||||
|
set payload = [ |
||||
|
'access_token=' ~ threescale_cicd_access_token|urlencode, |
||||
|
'implicit_flow_enabled=' ~ ('true' if 'implicit' in flows else 'false'), |
||||
|
'direct_access_grants_enabled=' ~ ('true' if 'password' in flows else 'false'), |
||||
|
'service_accounts_enabled=' ~ ('true' if 'application' in flows else 'false'), |
||||
|
'standard_flow_enabled=' ~ ('true' if 'accessCode' in flows else 'false'), |
||||
|
] |
||||
|
%} |
||||
|
{{ payload|join("&") }} |
||||
Loading…
Reference in new issue