Azure Recovery Services Vault

This page shows how to write Terraform and Azure Resource Manager for Recovery Services Vault and write them securely.

azurerm_recovery_services_vault (Terraform)

The Vault in Recovery Services can be configured in Terraform with the resource name azurerm_recovery_services_vault. The following sections describe 10 examples of how to use the resource and its parameters.

Example Usage from GitHub

recovery-service-vaults.tf#L2
resource "azurerm_recovery_services_vault" "gsa_vault" {
  location            = var.location
  name                = "gsa-rsv"
  resource_group_name = azurerm_resource_group.first_rg.name
  sku                 = "Standard"
  soft_delete_enabled = false
azrecvault.tf#L3
resource "azurerm_recovery_services_vault" "vault" {
  name                = "terraformrecoveryvault"
  resource_group_name = "1-0af1bbb1-playground-sandbox"
  location            = "East US"
  sku                 = "Standard"
main.tf#L21
resource "azurerm_recovery_services_vault" "vault" {
  name                = "cdw-backups-20210528-vault"
  location            = "eastus2"
  resource_group_name = azurerm_resource_group.rg.name
  sku                 = "Standard"

main.tf#L1
resource "azurerm_recovery_services_vault" "vault" {
    name                = var.name
    resource_group_name = var.resource_group_name
    location            = var.location
    sku                 = var.sku
    # soft_delete_enabled = var.soft_delete
main.tf#L3
resource "azurerm_recovery_services_vault" "vault" {
  name                = var.name
  location            = var.location
  resource_group_name = var.resource_group_name
  sku                 = var.sku
  tags                = module.label.tags
main.tf#L1
resource "azurerm_recovery_services_vault" "vault" {
  name                = "rsv-hub"
  location            = var.rg-location
  resource_group_name = var.rg-name
  sku                 = "Standard"

recovery.tf#L1
resource "azurerm_recovery_services_vault" "vault" {
  name                = var.recovery_vault_name
  location            = var.location
  resource_group_name = var.resource_group_name
  sku                 = "Standard"
}
AzureSiteRecoveryVault.tf#L8
resource "azurerm_recovery_services_vault" "ASR" {
  name                = "cloudquickpocs-asr-001"
  location            = azurerm_resource_group.ASR.location
  resource_group_name = azurerm_resource_group.ASR.name
  sku                 = "Standard"
}
main.tf#L1
resource "azurerm_recovery_services_vault" "rsvault" {
  name                = var.rsvault
  location            = var.location
  resource_group_name = var.resource_group
  sku                 = "Standard"

main.tf#L1
resource "azurerm_recovery_services_vault" "vault" {
  name                = var.rsv_name
  location            = var.rsv_location
  resource_group_name = var.rsv_rg
  sku                 = "Standard"
  soft_delete_enabled = false

Review your Terraform file for Azure best practices

Shisho Cloud, our free checker to make sure your Terraform configuration follows best practices, is available (beta).

Parameters

Explanation in Terraform Registry

Manages a Recovery Services Vault.

Microsoft.RecoveryServices/vaults (Azure Resource Manager)

The vaults in Microsoft.RecoveryServices can be configured in Azure Resource Manager with the resource name Microsoft.RecoveryServices/vaults. The following sections describe how to use the resource and its parameters.

Example Usage from GitHub

diagnostic-setting-recovery-services-vault.json
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "recoveryServicesName": {
template.json
{
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workbookDisplayName": {
      "type": "string",
template.json
{
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workbookDisplayName": {
      "type": "string",
AzureInventory.json
{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
        "workbookName": {
template.json
{
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workbookDisplayName": {
      "type": "string",
dash.json
{
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workbookDisplayName": {
      "type": "string",
azuredeploy.json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {
azuredeploy.json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {
azuredeploy.json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {
azuredeploy.json
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "logicAppName": {

Parameters

  • apiVersion required - string
  • etag optional - string

    Optional ETag.

  • identity optional
      • type required - string

        The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.

      • userAssignedIdentities optional - undefined

        The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

  • location required - string

    Resource location.

  • name required - string

    The name of the recovery services vault.

  • properties required
      • encryption optional
          • infrastructureEncryption optional - string

            Enabling/Disabling the Double Encryption state.

          • kekIdentity optional
              • userAssignedIdentity optional - string

                The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned

              • useSystemAssignedIdentity optional - boolean

                Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field

          • keyVaultProperties optional
              • keyUri optional - string

                The key uri of the Customer Managed Key

      • moveDetails optional
        • upgradeDetails optional
      • sku optional
          • capacity optional - string

            The sku capacity

          • family optional - string

            The sku family

          • name required - string

            The Sku name.

          • size optional - string

            The sku size

          • tier optional - string

            The Sku tier.

      • systemData optional
          • createdAt optional - string

            The timestamp of resource creation (UTC).

          • createdBy optional - string

            The identity that created the resource.

          • createdByType optional - string

            The type of identity that created the resource.

          • lastModifiedAt optional - string

            The type of identity that last modified the resource.

          • lastModifiedBy optional - string

            The identity that last modified the resource.

          • lastModifiedByType optional - string

            The type of identity that last modified the resource.

      • tags optional - string

        Resource tags.

      • type required - string

      Frequently asked questions

      What is Azure Recovery Services Vault?

      Azure Recovery Services Vault is a resource for Recovery Services of Microsoft Azure. Settings can be wrote in Terraform.

      Where can I find the example code for the Azure Recovery Services Vault?

      For Terraform, the linuxlsr/azureLearning, brypoon/terraform and cwiederspan/cdw-terraform-scratch source code examples are useful. See the Terraform Example section for further details.

      For Azure Resource Manager, the bwren/bwren, HasanIftakher/Azure-Monitor and tulpy/Azure source code examples are useful. See the Azure Resource Manager Example section for further details.