Open rwestbrock-24hf opened 3 years ago
Hi @rwestbrock-24hf, Thank you for bringing this matter to our attention.
In the process of retrieving connection profiles from Control-M, it's important to note that all password definitions are concealed for security purposes. Therefore, if you require the usage of passwords, it is advisable to replace the hidden passwords with actual ones or utilize the "Secrets" functionality, where the values are securely stored within Control-M/Enterprise Manager.
For further guidance on managing secrets and ensuring secure handling of sensitive information within your automation workflows, please refer to the following resources:
Thank you for your cooperation and understanding.
We are using secrets as I showed in the manually adjusted JSON. My intention was to refactor the script to have it set the Password element to use a secret with the same name as the connection profile. Unfortunately I had to back burner that and haven't worked on migrating connection profiles in three years now since my initial post; even with the refactor I have to use a script I wrote to read a flat file of the secrets (which I composed from our password vault) to use AAPI to create the secrets.
The lcps_to_ccps.py script converts local connection profiles to centralized connection profiles which includes changing the value of the Password field in the exported JSON to a secret. I found that when trying to convert Application Integrator profiles the script does not account for the fact that the password field name for AI jobs is named AI-Password instead.
To illustrate this below is a profile I exported using CTM CLI:
When I use the script to generate the temporary JSON file for that same profile you can see that it has added the Password element:
For the moment I am going to use the workaround of modifying the JSON file before telling the script to deploy it but I am sure the script could be refactored to handle AI passwords properly. When I have time I will likely create my own fork and work on that.