How to update sensitive field values for connections in Application Integration

Version 4

    You can export and import assets in IICS. However, when you export an asset, sensitive fields such as passwords, access keys, and secret keys are not exported. You must either enter the values manually in the exported XML files and import the assets, or update the field values after importing the assets. Therefore, to update the sensitive field values in connections, an Update API has been introduced.

     

    You can run the Update API as a REST endpoint to update the sensitive field values for connections in Application Integration. Using the Update API, you can also update fields other than sensitive fields. You can update fields for single or multiple connections.

     

    To update the connections using the API, you must be assigned the Admin, Deployer, Designer, or Operator role.

     

    After you import the connection, you can add the connection and the fields that you want to update as input data in a REST client such as Postman. The input data consists of the GUID of the connection and a key-value pair of attributes to be updated. In addition, you can provide attributes for the consumers and producers of the connection.

     

    For example, to update the attribute values of a connection, you can use the API endpoint, asset type query parameter, and the input payload as shown in the following image:

     

    To update the field values, you must use the following URL:

    <Informatica Intelligent Cloud Services URL>/active-bpel/asset/v1/update?assetType=AppConnection

     

    You can add the input data as shown in the following sample:

    {

      "connections": [

       {

          "guid": {

            "$t": "<guidvalue>"

          },

          "attributes": [

            {

              "key": {

                "$t": "Access Key"

              },

              "value": {

                "$t": "<AccessKeyvalue>"

              }

            },

            {

              "key": {

                "$t": "Secret Key"

              },

              "value": {

                "$t": "<SecretKeyvalue>"

              }

            }

          ],

          "consumers": [

            {

              "name": {

                "$t": "consumer1"

              },

              "attributes": [

                {

                  "key": {

                    "$t": "attribute1"

                  },

                  "value": {

                    "$t": "<AttributeValue>"

                  }

                }

              ]

            }

          ],

          "producers": [

            {

              "name": {

                "$t": "producer1"

              },

              "attributes": [

                {

                  "key": {

                    "$t": "attribute1"

                  },

                  "value": {

                    "$t": "<AttributeValue>"

                  }

                }

              ]

            }

          ]

        },

        {

            "guid": {

            "$t": "<guidvalue>"

          },

          "attributes": [

            {

              "key": {

                "$t": "Password"

              },

              "value": {

                "$t": "<Passwordvalue>"

              }

            }

          ]       

        }

      ]

    }

     

    If the fields are successfully updated, you receive the following response:

    {

        "status": {

          "$t": "SUCCESS"

        }

    }

     

    The fields are updated based on the GUID of the connection. If the GUID is not found, you receive the following response:

    {

      "status": {

        "$t": "FAILED"

      },

      "errorDetails": {

        "error": {

          "$t": "Update failed for assets"

        },

        "failedAssets": {

          "updateAssetFaultInfo": {

            "xmlns": "http://com.informatica.icrt/2021/08/updateAssets.xsd",

            "xmlns$aetgt": "http://com.informatica.icrt/2021/08/updateAssets.xsd",

            "name": {},

            "GUID": {

              "$t": "<Incorrect guid value>"

            },

            "fault": {

              "$t": "Entry not found for GUID."

            }

          }

        }

      }

    }