automation-api-community-solutions icon indicating copy to clipboard operation
automation-api-community-solutions copied to clipboard

lcps_to_ccps.py doesn't handle AI passwords correctly

Open rwestbrock-24hf opened this issue 3 years ago • 2 comments

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.

rwestbrock-24hf avatar Jun 17 '21 18:06 rwestbrock-24hf