variables.tf (214 lines of code) (raw):

variable "enable_telemetry" { description = "Enable telemetry for the module." type = bool default = false } variable "source_location" { type = string description = "The source Azure region where the VM is located." } variable "target_location" { type = string description = "The Azure Region for the target resources." } # Vault Configuration variable "use_existing_vault" { type = bool description = "Set to true if using an existing Recovery Services Vault." default = false } # Resource Group Configuration variable "vault_resource_group_name" { type = string description = "The name of the resource group where the target vault exists." } variable "vault_name" { type = string description = "Name of the Recovery Services Vault to be created, if not using an existing one." default = "" } variable "capacity_reservation_target_sku" { type = string description = "The SKU of the capacity reservation to be created." default = "" } variable "target_vnet_name" { type = string description = "The name of the target virtual network to be created if not using an existing one." default = "" } variable "target_vnet_address_space" { type = list(string) description = "The address space of the target virtual network to be created, if required." default = [] } variable "target_subnet_name" { type = string description = "The name of the target subnet to be created if not using an existing one." default = "" } variable "target_subnet_address_prefix" { type = string description = "The address prefix for the target subnet, if not using an existing one." default = "" } variable "replicated_vms" { description = "A map of virtual machines to replicate, with their corresponding configuration." type = map(object({ vm_id = string target_resource_group_id = string source_network_id = string target_network_id = string managed_disks = list(object({ disk_id = string disk_type = string replica_disk_type = string target_disk_encryption_set_id = optional(string) })) network_interfaces = list(object({ network_interface_id = string target_subnet_name = string target_static_ip = optional(string) recovery_public_ip_address_id = optional(string) failover_test_static_ip = optional(string) failover_test_subnet_name = optional(string) failover_test_public_ip_address_id = optional(string) })) create_capacity_reservation = optional(bool) capacity_reservation_sku = optional(string) capacity_reservation_group_name = optional(string) target_availability_set_id = optional(string) target_zone = optional(string) target_edge_zone = optional(string) target_proximity_placement_group_id = optional(string) target_boot_diagnostic_storage_account_id = optional(string) target_virtual_machine_scale_set_id = optional(string) test_network_id = optional(string) multi_vm_group_name = optional(string) })) } variable "existing_capacity_reservation_group_id" { description = "The ID of an existing capacity reservation group to use. Leave empty if creating a new one." type = string default = "" } variable "capacity_reservation_group_name" { description = "The name for a new capacity reservation group common for all replicated VMs." type = string default = "" } # Recovery Policy Configuration variable "recovery_point_retention_in_minutes" { type = number description = "The duration in minutes for which the recovery points need to be stored." } variable "application_consistent_snapshot_frequency_in_minutes" { type = number description = "The frequency in minutes at which application-consistent snapshots are taken." } variable "tags" { type = map(string) description = "A map of tags to apply to all resources." default = {} } variable "replicated_vm_name" { description = "Name of the replicated VM" default = "replicated-vm" } variable "target_availability_set_id" { type = string description = "Id of availability set that the new VM should belong to when a failover is done." default = null } variable "target_zone" { type = string description = "Specifies the Availability Zone where the Failover VM should exist." default = null } variable "target_edge_zone" { type = string description = "Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist." default = null } variable "target_proximity_placement_group_id" { type = string description = "Id of Proximity Placement Group the new VM should belong to when a failover is done." default = null } variable "target_boot_diagnostic_storage_account_id" { type = string description = "Id of the storage account which the new VM should used for boot diagnostic when a failover is done." default = null } variable "target_virtual_machine_scale_set_id" { type = string description = "Id of the Virtual Machine Scale Set which the new Vm should belong to when a failover is done." default = null } variable "test_network_id" { type = string description = "Network to use when a test failover is done." default = null } variable "multi_vm_group_name" { type = string description = "Name of group in which all machines will replicate together and have shared crash consistent and app-consistent recovery points when failed over." default = null } variable "network_interface_target_static_ip" { type = string description = "Static IP to assign when a failover is done." default = null } variable "network_interface_recovery_public_ip_address_id" { type = string description = "Id of the public IP object to use when a failover is done." default = null } variable "network_interface_failover_test_static_ip" { type = string description = "Static IP to assign when a test failover is done." default = null } variable "network_interface_failover_test_subnet_name" { type = string description = "Name of the subnet to use when a test failover is done." default = null } variable "network_interface_failover_test_public_ip_address_id" { type = string description = "Id of the public IP object to use when a test failover is done." default = null } variable "enable_capacity_reservation" { description = "Defines whether capacity reservation should be created." type = bool default = false } variable "staging_replication_type" { description = "The replication type for the staging storage account." type = string default = "LRS" } variable "target_resource_group_name" { description = "The name of the resource group in which the target replicarted resources will be created." type = string default = "" } variable "bcdr_subscription" { description = "The subscription ID for the bcdr resources." type = string default = "" } variable "target_subscription" { description = "The subscription ID for the target resources." type = string default = "" } variable "environment" { description = "The environment for the resources." type = string default = "prod" } variable "create_capacity_reservation_group" { description = "Defines whether capacity reservation group should be created." type = bool default = false }