avm-res-dataprotection-backupvault
Azure/avm-res-dataprotection-backupvault/azurerm
Terraform Azure Verified Resource Module for Data Protection Backup Vault
Azure Verified Module for Azure Data Protection Backup Vault This module provides a generic way to create and manage an Azure Data Protection Backup Vault resource. To use this module in your Terraform configuration, you'll need to provide values for the required variables. Features - Deploys an Azure Data Protection Backup Vault with support for private endpoints, diagnostic settings, managed identities, resource locks, and role assignments. - Supports AVM telemetry and tagging. - Flexible configuration for private DNS zone group management. Example Usage Here is an example of how you can use this module in your Terraform configuration: ``terraform module "backup_vault" { source = "Azure/avm-res-dataprotection-backupvault/azurerm" name = "my-backupvault" location = azurerm_resource_group.
| Name | Type | Description | Default |
|---|---|---|---|
| location | string | Azure region where the resource should be deployed. | required |
| datastore_type | string | Specifies the type of the datastore. Changing this forces a new resource to be c | required |
| name | string | The name of this resource. Must be between 5 and 50 characters long. | required |
| redundancy | string | Specifies the backup storage redundancy. Changing this forces a new resource to | required |
| resource_group_name | string | The resource group where the resources will be deployed. | required |
| timeout_create | string | The timeout duration for creating resources. | "30m" |
| role_assignments | map(object({ role_definiti | A map of role assignments to create on resources. The map key is deliberately | {} |
| timeout_delete | string | The timeout duration for deleting resources. | "30m" |
| timeout_read | string | The timeout duration for reading resources. | "5m" |
| timeout_update | string | The timeout duration for updating resources. | "30m" |
| backup_policies | map(object({ type = string | Map of backup policies to create. Each policy can be referenced by backup instan | {} |
| customer_managed_key | object({ key_vault_resourc | Customer-managed key configuration for encrypting the Backup Vault, following th | null |
| immutability | string | Immutability state: Disabled, Locked, or Unlocked. | "Disabled" |
| managed_identities | object({ system_assigned | Controls the Managed Identity configuration on this resource. The following prop | {} |
| tags | map(string) | (Optional) Tags of the resource. | null |
| resource_guard_enabled | bool | Controls whether an Azure Data Protection Resource Guard is deployed to protect | false |
| vault_critical_operation_exclusion_list | list(string) | A list of the critical operations which are not protected by Resource Guard. By | [] |
| backup_instances | map(object({ type | Map of backup instances to create. Each instance references a backup policy via | {} |
| cross_region_restore_enabled | bool | Whether to enable cross-region restore for the Backup Vault. Can only be enabled | false |
| diagnostic_settings | map(object({ name | A map of diagnostic settings to create on the Key Vault. The map key is delibera | {} |
| enable_telemetry | bool | This variable controls whether or not telemetry is enabled for the module. For m | true |
| lock | object({ kind = string | Controls the Resource Lock configuration for this resource. The following proper | null |
| wait_for_backup_instance_configure_duration | string | Additional wait after backup instance creation to allow protection status to lea | "180s" |
| resource_guard_name | string | The name of the Resource Guard. If not specified, will use the backup vault name | null |
| retention_duration_in_days | number | The soft delete retention duration for this Backup Vault. Valid values are betwe | 14 |
postgresql_flexible_backup_instance_ids — Map of PostgreSQL Flexible backup instance IDs by instance key.postgresql_flexible_backup_policy_ids — Map of PostgreSQL Flexible backup policy IDs by policy key.adls_backup_instance_ids — Map of ADLS backup instance IDs by instance key.backup_vault_name — The name of the Backup Vault.blob_backup_policy_ids — Map of blob backup policy IDs by policy key.disk_backup_instance_ids — Map of disk backup instance IDs by instance key.identity_principal_id — The Principal ID for the Service Principal associated with the Identity of this Backup Vault.lock_id — The resource ID of the management lock (if created)postgresql_flexible_backup_policy_id — (DEPRECATED) The ID of the created PostgreSQL Flexible Server Backup Policy. Use backup_policy_ids iresource_guard_id — The ID of the Resource Guard (if enabled)backup_policy_ids — Map of backup policy IDs by policy key.blob_backup_instance_id — (DEPRECATED) The ID of the Blob Backup Instance. Use backup_instance_ids instead.resource_guard_name — The name of the Resource Guard (if enabled)resource_id — The ID of the Backup Vaultvault_id — The resource ID of the Backup Vaultbackup_vault_id — The ID of the Backup Vault.customer_managed_key_id — The ID of the Customer Managed Key configuration (if enabled)disk_backup_policy_ids — Map of disk backup policy IDs by policy key.kubernetes_backup_policy_ids — Map of Kubernetes backup policy IDs by policy key.postgresql_backup_instance_ids — Map of PostgreSQL backup instance IDs by instance key.postgresql_backup_policy_ids — Map of PostgreSQL backup policy IDs by policy key.adls_backup_policy_ids — Map of ADLS backup policy IDs by policy key.backup_instance_ids — Map of backup instance IDs by instance key.blob_backup_instance_ids — Map of blob backup instance IDs by instance key.identity_tenant_id — The Tenant ID for the Service Principal associated with the Identity of this Backup Vault.kubernetes_backup_instance_ids — Map of Kubernetes backup instance IDs by instance key.postgresql_flexible_backup_instance_id — (DEPRECATED) The ID of the created PostgreSQL Flexible Server Backup Instance. Use backup_instance_i