When deploying a new workspace with backup enabled, the AzureRM provider successfully creates the Recovery Services Vault in Azure but then makes a follow-up API call to BackupResourceVaultConfigs/Update to configure soft delete. Azure now enforces "AlwaysOn" soft delete on all new vaults, and the provider's attempt to set the state to Enabled is rejected with BMSUserErrorSoftDeleteStateAlwaysOn. Because this secondary call fails, the provider treats the entire creation as failed and does not save the vault to Terraform state — even though it exists in Azure.
On retry, Terraform tries to create the vault again, finds it already exists, and fails with "a resource with the ID ... already exists". The workspace ends up stuck in updating_failed status. The lifecycle { ignore_changes = [soft_delete_enabled] } does not help since it only applies to resources already tracked in state, not during initial creation. Manual intervention (state import or deleting the vault in Azure) is needed to recover.
Looking at a workaround is to switch to the Az API provider for the vault creation.
When deploying a new workspace with backup enabled, the AzureRM provider successfully creates the Recovery Services Vault in Azure but then makes a follow-up API call to BackupResourceVaultConfigs/Update to configure soft delete. Azure now enforces "AlwaysOn" soft delete on all new vaults, and the provider's attempt to set the state to Enabled is rejected with BMSUserErrorSoftDeleteStateAlwaysOn. Because this secondary call fails, the provider treats the entire creation as failed and does not save the vault to Terraform state — even though it exists in Azure.
On retry, Terraform tries to create the vault again, finds it already exists, and fails with "a resource with the ID ... already exists". The workspace ends up stuck in updating_failed status. The lifecycle { ignore_changes = [soft_delete_enabled] } does not help since it only applies to resources already tracked in state, not during initial creation. Manual intervention (state import or deleting the vault in Azure) is needed to recover.
Looking at a workaround is to switch to the Az API provider for the vault creation.