From 83149519f8ca1408222385e726d1da54589f3497 Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Thu, 12 Jan 2023 13:30:58 -0800 Subject: [PATCH 1/7] Add Suppoort for Template SSH Key Retrieval. Fixes Issue #13384 Description Thycotic has various types of Secret Templates like Password, SSH Key Thycotic API returns str type for Password and of Type for class requests.models.Response for SSH Key. Current implementation only considers Password template. However when trying for SSH Key code need return the str from response type requests.models.Response Signed-off-by: Tarun CHawdhury --- awx/main/credential_plugins/tss.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index 1803400e2f..871f30b7a3 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,8 +48,13 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) + + if type(secret.fields[kwargs['secret_field']].value) != str : + return secret.fields[kwargs['secret_field']].value.text + else: + return secret.fields[kwargs['secret_field']].value - return secret.fields[kwargs['secret_field']].value + tss_plugin = CredentialPlugin( From ebabea54e1745581bdec841d56fe1d1457bf2aca Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Wed, 25 Jan 2023 07:24:55 -0800 Subject: [PATCH 2/7] Fixed Lint Issue --- awx/main/credential_plugins/tss.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index 871f30b7a3..98da30fe3c 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,12 +48,10 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) - if type(secret.fields[kwargs['secret_field']].value) != str : return secret.fields[kwargs['secret_field']].value.text else: return secret.fields[kwargs['secret_field']].value - From 5157838d8374a92e7ed3242d8b80b196cddab4a3 Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Wed, 25 Jan 2023 09:21:21 -0800 Subject: [PATCH 3/7] Description Fixed Linting Issue Signed-off-by: Tarun Chawdhury --- awx/main/credential_plugins/tss.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index 98da30fe3c..25f35a15a2 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,7 +48,7 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) - if type(secret.fields[kwargs['secret_field']].value) != str : + if type(secret.fields[kwargs['secret_field']].value) != str: return secret.fields[kwargs['secret_field']].value.text else: return secret.fields[kwargs['secret_field']].value From 1b8f6630bf7a119431dcc9552213695880b6d427 Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Wed, 25 Jan 2023 10:00:43 -0800 Subject: [PATCH 4/7] Description Fixed Linting Issue Signed-off-by: Tarun Chawdhury --- awx/main/credential_plugins/tss.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index 25f35a15a2..f042216bea 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,7 +48,7 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) - if type(secret.fields[kwargs['secret_field']].value) != str: + if isinstance(secret.fields[kwargs['secret_field']].value, str): return secret.fields[kwargs['secret_field']].value.text else: return secret.fields[kwargs['secret_field']].value From bb65945b4fdcfd4d5d57bbc45df9558af25ee47e Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Wed, 25 Jan 2023 12:26:12 -0800 Subject: [PATCH 5/7] Description Fixed Linting Issue Signed-off-by: Tarun Chawdhury --- awx/main/credential_plugins/tss.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index f042216bea..c01c558925 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,7 +48,7 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) - if isinstance(secret.fields[kwargs['secret_field']].value, str): + if isinstance(secret.fields[kwargs['secret_field']].value, str) == False: return secret.fields[kwargs['secret_field']].value.text else: return secret.fields[kwargs['secret_field']].value From b1dceefac31ce2054f5b2756db88581892a61ccd Mon Sep 17 00:00:00 2001 From: Tarun Chawdhury Date: Wed, 25 Jan 2023 12:46:51 -0800 Subject: [PATCH 6/7] Description Fixed Linting Issue Signed-off-by: Tarun Chawdhury --- awx/main/credential_plugins/tss.py | 1 + 1 file changed, 1 insertion(+) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index c01c558925..8b2012b8ba 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,6 +48,7 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) + if isinstance(secret.fields[kwargs['secret_field']].value, str) == False: return secret.fields[kwargs['secret_field']].value.text else: From f0c91bb1f324633458b20292ff582473014e1f05 Mon Sep 17 00:00:00 2001 From: Tarun CHawdhury Date: Wed, 25 Jan 2023 16:22:46 -0500 Subject: [PATCH 7/7] Description Fixed Linting Issue with black formatter Signed-off-by: Tarun CHawdhury --- awx/main/credential_plugins/tss.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/awx/main/credential_plugins/tss.py b/awx/main/credential_plugins/tss.py index 8b2012b8ba..887cb2d454 100644 --- a/awx/main/credential_plugins/tss.py +++ b/awx/main/credential_plugins/tss.py @@ -48,12 +48,11 @@ def tss_backend(**kwargs): secret_server = SecretServer(kwargs['server_url'], authorizer) secret_dict = secret_server.get_secret(kwargs['secret_id']) secret = ServerSecret(**secret_dict) - + if isinstance(secret.fields[kwargs['secret_field']].value, str) == False: return secret.fields[kwargs['secret_field']].value.text else: return secret.fields[kwargs['secret_field']].value - tss_plugin = CredentialPlugin(