From ef651a3a21b821367f90b989cd522c8d0409138f Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 26 Oct 2022 11:54:09 -0400 Subject: [PATCH 1/4] Add Web Service ID & update branding --- awx/main/credential_plugins/aim.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/awx/main/credential_plugins/aim.py b/awx/main/credential_plugins/aim.py index 95bf767508..7e30b1b69d 100644 --- a/awx/main/credential_plugins/aim.py +++ b/awx/main/credential_plugins/aim.py @@ -13,6 +13,12 @@ aim_inputs = { 'type': 'string', 'format': 'url', }, + { + 'id': 'webservice_id', + 'label': _('Web Service ID'), + 'type': 'string', + 'help_text': _('The AIM Web Service ID. Default: AIMWebService'), + }, { 'id': 'app_id', 'label': _('Application ID'), @@ -64,6 +70,7 @@ def aim_backend(**kwargs): client_cert = kwargs.get('client_cert', None) client_key = kwargs.get('client_key', None) verify = kwargs['verify'] + webservice_id = kwargs.get('webservice_id', 'AIMWebService') app_id = kwargs['app_id'] object_query = kwargs['object_query'] object_query_format = kwargs['object_query_format'] @@ -78,7 +85,7 @@ def aim_backend(**kwargs): query_params['reason'] = reason request_qs = '?' + urlencode(query_params, quote_via=quote) - request_url = urljoin(url, '/'.join(['AIMWebService', 'api', 'Accounts'])) + request_url = urljoin(url, '/'.join([webservice_id, 'api', 'Accounts'])) with CertFiles(client_cert, client_key) as cert: res = requests.get( @@ -92,4 +99,4 @@ def aim_backend(**kwargs): return res.json()['Content'] -aim_plugin = CredentialPlugin('CyberArk AIM Central Credential Provider Lookup', inputs=aim_inputs, backend=aim_backend) +aim_plugin = CredentialPlugin('CyberArk Central Credential Provider Lookup', inputs=aim_inputs, backend=aim_backend) From 9d77c54612aea9714eca915d060bea1f86eec195 Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 26 Oct 2022 12:32:12 -0400 Subject: [PATCH 2/4] Remove references to AIM everywhere --- awx/main/credential_plugins/aim.py | 4 ++-- .../screens/Credential/shared/data.credentialTypes.json | 2 +- awx_collection/plugins/modules/credential.py | 2 +- .../targets/credential_input_source/tasks/main.yml | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/awx/main/credential_plugins/aim.py b/awx/main/credential_plugins/aim.py index 7e30b1b69d..be0232357f 100644 --- a/awx/main/credential_plugins/aim.py +++ b/awx/main/credential_plugins/aim.py @@ -9,7 +9,7 @@ aim_inputs = { 'fields': [ { 'id': 'url', - 'label': _('CyberArk AIM URL'), + 'label': _('CyberArk CCP URL'), 'type': 'string', 'format': 'url', }, @@ -17,7 +17,7 @@ aim_inputs = { 'id': 'webservice_id', 'label': _('Web Service ID'), 'type': 'string', - 'help_text': _('The AIM Web Service ID. Default: AIMWebService'), + 'help_text': _('The CCP Web Service ID. Leave blank to default to AIMWebService.'), }, { 'id': 'app_id', diff --git a/awx/ui/src/screens/Credential/shared/data.credentialTypes.json b/awx/ui/src/screens/Credential/shared/data.credentialTypes.json index 98c375aa2c..f67ed8ac68 100644 --- a/awx/ui/src/screens/Credential/shared/data.credentialTypes.json +++ b/awx/ui/src/screens/Credential/shared/data.credentialTypes.json @@ -465,7 +465,7 @@ }, "created": "2020-05-18T21:53:35.370730Z", "modified": "2020-05-18T21:54:05.436400Z", - "name": "CyberArk AIM Central Credential Provider Lookup", + "name": "CyberArk Central Credential Provider Lookup", "description": "", "kind": "external", "namespace": "aim", diff --git a/awx_collection/plugins/modules/credential.py b/awx_collection/plugins/modules/credential.py index 8c962ce82e..4e7f02e558 100644 --- a/awx_collection/plugins/modules/credential.py +++ b/awx_collection/plugins/modules/credential.py @@ -52,7 +52,7 @@ options: - The credential type being created. - Can be a built-in credential type such as "Machine", or a custom credential type such as "My Credential Type" - Choices include Amazon Web Services, Ansible Galaxy/Automation Hub API Token, Centrify Vault Credential Provider Lookup, - Container Registry, CyberArk AIM Central Credential Provider Lookup, CyberArk Conjur Secret Lookup, Google Compute Engine, + Container Registry, CyberArk Central Credential Provider Lookup, CyberArk Conjur Secret Lookup, Google Compute Engine, GitHub Personal Access Token, GitLab Personal Access Token, GPG Public Key, HashiCorp Vault Secret Lookup, HashiCorp Vault Signed SSH, Insights, Machine, Microsoft Azure Key Vault, Microsoft Azure Resource Manager, Network, OpenShift or Kubernetes API Bearer Token, OpenStack, Red Hat Ansible Automation Platform, Red Hat Satellite 6, Red Hat Virtualization, Source Control, diff --git a/awx_collection/tests/integration/targets/credential_input_source/tasks/main.yml b/awx_collection/tests/integration/targets/credential_input_source/tasks/main.yml index 03557ee0e1..e9066a0f2a 100644 --- a/awx_collection/tests/integration/targets/credential_input_source/tasks/main.yml +++ b/awx_collection/tests/integration/targets/credential_input_source/tasks/main.yml @@ -14,7 +14,7 @@ credential: description: Credential for Testing Source name: "{{ src_cred_name }}" - credential_type: CyberArk AIM Central Credential Provider Lookup + credential_type: CyberArk Central Credential Provider Lookup inputs: url: "https://cyberark.example.com" app_id: "My-App-ID" @@ -58,7 +58,7 @@ credential: description: Credential for Testing Source Change name: "{{ src_cred_name }}-2" - credential_type: CyberArk AIM Central Credential Provider Lookup + credential_type: CyberArk Central Credential Provider Lookup inputs: url: "https://cyberark-prod.example.com" app_id: "My-App-ID" @@ -92,7 +92,7 @@ credential: name: "{{ src_cred_name }}" organization: Default - credential_type: CyberArk AIM Central Credential Provider Lookup + credential_type: CyberArk Central Credential Provider Lookup state: absent register: result @@ -100,7 +100,7 @@ credential: name: "{{ src_cred_name }}-2" organization: Default - credential_type: CyberArk AIM Central Credential Provider Lookup + credential_type: CyberArk Central Credential Provider Lookup state: absent register: result From 2cc971a43f54939d3445959d1341e4f51233c72e Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 26 Oct 2022 12:41:15 -0400 Subject: [PATCH 3/4] default to AIMWebService if no val provided --- awx/main/credential_plugins/aim.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/awx/main/credential_plugins/aim.py b/awx/main/credential_plugins/aim.py index be0232357f..32a3a8173d 100644 --- a/awx/main/credential_plugins/aim.py +++ b/awx/main/credential_plugins/aim.py @@ -70,11 +70,13 @@ def aim_backend(**kwargs): client_cert = kwargs.get('client_cert', None) client_key = kwargs.get('client_key', None) verify = kwargs['verify'] - webservice_id = kwargs.get('webservice_id', 'AIMWebService') + webservice_id = kwargs.get('webservice_id', None) app_id = kwargs['app_id'] object_query = kwargs['object_query'] object_query_format = kwargs['object_query_format'] reason = kwargs.get('reason', None) + if webservice_id is None: + webservice_id = 'AIMWebService' query_params = { 'AppId': app_id, From 878035c13bd9fbfc49c8d936c27499101733241e Mon Sep 17 00:00:00 2001 From: Joe Garcia Date: Wed, 26 Oct 2022 12:45:59 -0400 Subject: [PATCH 4/4] Fixed webservice_id check to string --- awx/main/credential_plugins/aim.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/awx/main/credential_plugins/aim.py b/awx/main/credential_plugins/aim.py index 32a3a8173d..96487dcced 100644 --- a/awx/main/credential_plugins/aim.py +++ b/awx/main/credential_plugins/aim.py @@ -70,12 +70,12 @@ def aim_backend(**kwargs): client_cert = kwargs.get('client_cert', None) client_key = kwargs.get('client_key', None) verify = kwargs['verify'] - webservice_id = kwargs.get('webservice_id', None) + webservice_id = kwargs['webservice_id'] app_id = kwargs['app_id'] object_query = kwargs['object_query'] object_query_format = kwargs['object_query_format'] reason = kwargs.get('reason', None) - if webservice_id is None: + if webservice_id == '': webservice_id = 'AIMWebService' query_params = {