---
schema_version: "1"
id: 3368428a64a0cea803f61d55b8967851e0fda5ea051e5e24375001768d9426a7
title: Upgrading and Migrating Azure Key Vault Properties Provider to Version 2.2
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/azure-key-vault-properties-provider-connector/latest/azure-key-vault-properties-provider-upgrade-guide.md
canonical_url: https://docs.mulesoft.com/azure-key-vault-properties-provider-connector/latest/azure-key-vault-properties-provider-upgrade-guide
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 0f50cd83d52972741e0fab9c6981321ae1b4f6045d9cee2e04ca9ba5e82f3449
description: MuleSoft Documentation Site
release: "2.2"
latest: true
---
---
product: Azure Key Vault Properties Provider
version: 2.2
is-latest-version: true
---

# Upgrading and Migrating Azure Key Vault Properties Provider to Version 2.2

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Upgrade Azure Key Vault Properties Provider to version 2.2.0.

## Supported Upgrade Paths

<table><colgroup><col> <col></colgroup><thead><tr><th>From Version</th><th>To Version</th></tr></thead><tbody><tr><td><div><div><p>2.1.x</p></div></div></td><td><div><div><p>2.2.0</p></div></div></td></tr></tbody></table>

## Changes in This Release

This release contains the following changes:

- Azure Key Vault Properties Provider now supports multiple key vault configurations in the same
  Mule app. Each configuration connects to a different key vault, and you reference secrets by using
  the configuration name as a namespace, in the format
  `${azure-key-vault-properties-provider::configName::secret::yourSecret}`.

- The legacy secret format `${azure-key-vault-properties-provider::secret::yourSecret}` is now
  supported only when the Mule app contains a single properties provider configuration.

> [!IMPORTANT] If your existing configuration has multiple configs defined and references secrets
> through the legacy `${azure-key-vault-properties-provider::secret::yourSecret}` format, you must
> update those references to use the
> `${azure-key-vault-properties-provider::configName::secret::yourSecret}` format after upgrading.
> For the migration steps, refer to [Update Configuration Files](#update-configuration-files).

## Upgrade Prerequisites

To perform the upgrade:

- Create a backup of your files, data, and configurations in case you need to restore to them.

## Upgrade Steps

Follow these steps to perform the upgrade:

1.  In Anypoint Studio, create a Mule project.

2.  In **Mule Palette**, click **Search in Exchange**.

3.  In **Add Dependencies to Project**, enter `azure key vault properties provider` in the search
    field.

4.  In **Available modules**, select **Azure Key Vault Properties Provider** and click **Add**.

5.  Click **Finish**.

6.  Verify that the Azure Key Vault Properties Provider `mule4-azure-key-vault-properties-provider`
    version is 2.2.0 in the `pom.xml` file in the Mule project.

## Verify the Upgrade

After you install the latest version of the properties provider, verify the upgrade:

1.  In Studio, verify that there are no errors in the **Problems** or **Console** views.

2.  Verify that there are no problems in the project `pom.xml` file.

3.  Test the connection to verify that the operations work.

4.  Ensure that the `Key Vault Name` is correctly configured for each configuration, either through
    the `keyVaultName` attribute or the system property `MULE_AZURE_KEY_VAULT_NAME`. If your Mule
    app uses multiple key vault configurations that must connect to different vaults, set the
    `keyVaultName` attribute explicitly on each configuration, because configurations that omit
    `keyVaultName` all fall back to the same system property value and therefore resolve to the same
    vault.

5.  If using environment variables for `tenantId`, `clientId`, and `clientSecret`, ensure these are
    set correctly and verify their usage.

## Update Configuration Files

If your project configuration files (XML) reference secrets through the legacy
`${azure-key-vault-properties-provider::secret::yourSecret}` format and your Mule app uses multiple
key vault configurations, update the secret references to use the configuration name as a namespace:

- Before upgrading:

  ```xml
  <azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
      keyVaultName="connectors-vault"/>

  <set-variable variableName="dbPassword"
      value="${azure-key-vault-properties-provider::secret::mulesoft-test-password}"/>
  ```

- After upgrading:

  ```xml
  <azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
      keyVaultName="connectors-vault"/>

  <set-variable variableName="dbPassword"
      value="${azure-key-vault-properties-provider::configName::secret::yourSecret}"/>
  ```

If your Mule app uses a single configuration, the legacy secret format continues to work and no
changes are required.

If your project configuration files (XML) specify multiple Key Vault configurations, update them as
follows:

- If a configuration must resolve to the vault defined by the system property
  `MULE_AZURE_KEY_VAULT_NAME`, you can remove the `keyVaultName` attribute from that configuration.
  Note that all configurations that omit `keyVaultName` fall back to the same system property value
  and therefore resolve to the same vault, so set the `keyVaultName` attribute explicitly on each
  configuration that must connect to a different vault.

- Ensure that `tenantId`, `clientId`, and `clientSecret` are correctly set, either as attributes in
  the configuration file or as environment variables (`AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`,
  `AZURE_TENANT_ID`).

### Example Configuration

If you prefer to use environment variables, your configuration looks like this:

```xml
<azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config" />
```

Alternatively, use the attributes directly in the configuration:

```xml
<azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
    keyVaultName="connectors-vault"
    tenantId="your-tenant-id"
    clientId="your-client-id"
    clientSecret="your-client-secret"/>
```

## Revert the Upgrade

If you need to revert to the previous version of Azure Key Vault Properties Provider, follow these
steps:

1.  Go to Anypoint Studio.

2.  In the project’s `pom.xml` file, change the `mule4-azure-key-vault-properties-provider`
    dependency version from 2.2.0 to the previous version.

After reverting, you must review and adapt your configurations to be compatible with the previous
version:

### Revert to Version 2.1.x:

If you use multiple key vault configurations or reference secrets through the
`${azure-key-vault-properties-provider::configName::secret::yourSecret}` format, revert your secret
references to the legacy `${azure-key-vault-properties-provider::secret::yourSecret}` format,
because versions earlier than 2.2.0 do not support configuration-name namespacing. These versions
support only a single key vault configuration.

### Revert to Version 2.0.0:

Ensure that the `keyVaultName` attribute is explicitly set in your configuration files, as version
2.0.0 does not support the system property `MULE_AZURE_KEY_VAULT_NAME`.

Example Configuration for Version 2.0.0:

```xml
  <azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
      keyVaultName="connectors-vault"
      tenantId=""
      clientId=""
      clientSecret=""/>
```

### Revert to a Major Previous Version (e.g., 1.0.1):

Ensure that the `keyVaultName`, `tenantId`, `clientId`, and `clientSecret` attributes are explicitly
set in your configuration files, as these versions do not support setting these values through
system properties or environment variables.

Example Configuration for Version 1.0.1:

```xml
  <azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
     keyVaultName="connectors-vault"
     tenantId="your-tenant-id"
     clientId="your-client-id"
     clientSecret="your-client-secret"/>
```

## See Also

- [Introduction to Anypoint Connectors](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)

- [Salesforce Help](https://help.salesforce.com)
