Upgrading and Migrating Azure Key Vault Properties Provider to Version 2.1 | MuleSoft Documentation
# Upgrading and Migrating Azure Key Vault Properties Provider to Version 2.1
Upgrade Azure Key Vault Properties Provider to version 2.1.0.
## Supported Upgrade Paths
From Version | To Version  
---|---  
## Changes in This Release
This release contains the following changes:
  * Added **Uri Override** field to specify the URI for a key vault located outside Azure Commercial Cloud.
  * Azure Key Vault Properties Provider now supports Azure Default Credential. You can specify your authentication credentials via environment variables.
  * The `tenantId`, `clientId`, and `clientSecret` attributes are now optional. You must specify these attributes together; otherwise, the properties provider uses the values from the environment variables.
  * The properties provider changed its internal package name.
  * The `Key Vault Name` attribute is now optional and you can set it through the system property `MULE_AZURE_KEY_VAULT_NAME`.


## 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.1.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 either in the configuration file or as the system property `MULE_AZURE_KEY_VAULT_NAME`.
  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) specify the `Key Vault Name`, update them as follows:
  * If the `keyVaultName` attribute is not needed, you can remove it and use the system property `MULE_AZURE_KEY_VAULT_NAME` instead.
  * 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:
```
<azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config" />
```

Alternatively, use the attributes directly in the configuration:
```
<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.1.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.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:
```
 <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:
```
 <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
  * MuleSoft Help Center