automation-api-community-solutions
automation-api-community-solutions copied to clipboard
lcps_to_ccps.py doesn't handle AI passwords correctly
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:
"LOCKBOX": {
"Type": "ConnectionProfile:ApplicationIntegrator:ZCONNECTWF",
"AI-Timeout (minutes)": "60",
"AI-Status Interval (seconds)": "600",
"AI-Password": "*****",
"AI-Zuora Workflow ID": "82290",
"AI-Host": "workflow.apps.zuora.com",
"TargetAgent": "agentname",
"TargetCTM": "servername"
}
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:
"LOCKBOX": {
"Type": "ConnectionProfile:ApplicationIntegrator:ZCONNECTWF",
"AI-Timeout (minutes)": "60",
"AI-Status Interval (seconds)": "600",
"AI-Password": "*****",
"AI-Zuora Workflow ID": "82290",
"AI-Host": "workflow.apps.zuora.com",
"Centralized": true,
"Password": {
"Secret": "lockbox_secret"
}
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.