azurerm_site_recovery_vmware_replicated_vm

Manages a VMWare replicated VM using Azure Site Recovery (VMWare to Azure only). A replicated VM keeps a copiously updated image of the VM in Azure in order to be able to start the VM in Azure in case of a disaster.

Example Usage

resource "azurerm_resource_group" "example" {
  name     = "example-rg"
  location = "West US"
}

resource "azurerm_recovery_services_vault" "example" {
  name                = "example-recovery-vault"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  sku                 = "Standard"
}

resource "azurerm_site_recovery_vmware_replication_policy" "example" {
  recovery_vault_id                                    = azurerm_recovery_services_vault.example.id
  name                                                 = "example-policy"
  recovery_point_retention_in_minutes                  = 1440
  application_consistent_snapshot_frequency_in_minutes = 240
}

resource "azurerm_site_recovery_vmware_replication_policy_association" "test" {
  name              = "example-association"
  recovery_vault_id = azurerm_recovery_services_vault.example.id
  policy_id         = azurerm_site_recovery_vmware_replication_policy.example.id
}

resource "azurerm_storage_account" "example" {
  name                     = "examplestorageacc"
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_kind             = "StorageV2"
  account_replication_type = "LRS"
}

resource "azurerm_virtual_network" "example" {
  name                = "example-net"
  resource_group_name = azurerm_resource_group.example.name
  address_space       = ["192.168.2.0/24"]
  location            = azurerm_resource_group.example.location
}

resource "azurerm_subnet" "example" {
  name                 = "example-subnet"
  resource_group_name  = azurerm_resource_group.example.name
  virtual_network_name = azurerm_virtual_network.example.name
  address_prefixes     = ["192.168.2.0/24"]
}

resource "azurerm_site_recovery_vmware_replicated_vm" "example" {
  name                                       = "example-vmware-vm"
  recovery_vault_id                          = azurerm_recovery_services_vault.example.id
  source_vm_name                             = "example-vm"
  appliance_name                             = "example-appliance"
  recovery_replication_policy_id             = azurerm_site_recovery_vmware_replication_policy_association.example.policy_id
  physical_server_credential_name            = "example-creds"
  license_type                               = "NotSpecified"
  target_boot_diagnostics_storage_account_id = azurerm_storage_account.example.id
  target_vm_name                             = "example_replicated_vm"
  target_resource_group_id                   = azurerm_resource_group.example.id
  default_log_storage_account_id             = azurerm_storage_account.example.id
  default_recovery_disk_type                 = "Standard_LRS"
  target_network_id                          = azurerm_virtual_network.example.id

  network_interface {
    source_mac_address = "00:00:00:00:00:00"
    target_subnet_name = azurerm_subnet.example.name
    is_primary         = true
  }
}

Argument Reference

The following arguments are supported:

* test_network_id - (Optional) The ID of network to use when a test failover is done.

A managed_disk block supports the following:


A network_interface block supports the following:

Attributes Reference

In addition to the arguments above, the following attributes are exported:

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

Import

Site Recovery VMWare Replicated VM's can be imported using the resource id, e.g.

terraform import azurerm_site_recovery_vmware_replicated_vm.vmreplication /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-name/providers/Microsoft.RecoveryServices/vaults/recovery-vault-name/replicationFabrics/fabric-name/replicationProtectionContainers/protection-container-name/replicationProtectedItems/vm-replication-name