Я пытаюсь зарегистрировать перечисленные экземпляры виртуальных машин в службе резервного копирования Azure.Однако я получаю сообщение об ошибке:
* azurerm_recovery_services_protected_vm.consul_and_vault: source_vm_id must be a single value, not a list
Ниже приведен фрагмент моего кода, в котором я создаю экземпляры виртуальных машин в Azure:
###############################################################################
# Deploy VMs and Configure Consul and Vault Services
###############################################################################
resource "azurerm_virtual_machine" "consul" {
name = "consul${count.index + 1}"
#name = "${var.consul_cluster_prefix}-consul-${count.index + 1}"
location = "${var.deployment_location}"
resource_group_name = "${var.resource_group_name}"
availability_set_id = "${azurerm_availability_set.consul.id}"
network_interface_ids = ["${element(azurerm_network_interface.consul_nic.*.id, count.index + 1)}"]
vm_size = "${var.consul_vm_size}"
delete_os_disk_on_termination = true
delete_data_disks_on_termination = true
count = "${var.consul_instance_count}"
tags {
ownerinfo = "${var.ownerinfo}"
costcenter = "${var.costcenter}"
deploymenttype = "${var.deploymenttype}"
notificationdistlist = "${var.notificationdistlist}"
env_info = "${var.environmentinfo}"
application_name = "${var.applicationname}"
platform = "${var.platform}"
}
storage_image_reference {
id ="${var.consul_image_id}"
}
...
Позже, при создании набора резервных копий,Я пытаюсь сослаться на перечисленные экземпляры виртуальной машины:
##########################################################################################
# AzureRM Virtual Machine Into Azure Recovery Services Vault
##########################################################################################
resource "azurerm_recovery_services_vault" "backup2vault" {
name = "azurerecoveryvaulti1"
location = "${var.deployment_location}"
resource_group_name = "${var.resource_group_name}"
sku = "Standard"
}
resource "azurerm_recovery_services_protection_policy_vm" "consul_daily" {
name = "azurerecoveryvaultpolicy1"
resource_group_name = "${var.resource_group_name}"
recovery_vault_name = "${azurerm_recovery_services_vault.backup2vault.name}"
backup = {
frequency = "Daily"
time = "23:00"
}
retention_daily = {
count = 1
}
}
resource "azurerm_recovery_services_protected_vm" "consul_and_vault" {
resource_group_name = "${var.resource_group_name}"
recovery_vault_name = "${azurerm_recovery_services_vault.backup2vault.name}"
source_vm_id = "${azurerm_virtual_machine.consul.*.id}"
backup_policy_id = "${azurerm_recovery_services_protection_policy_vm.consul_daily.id}"
}
Кажется, проблема в том, как переменная source_vm_id
ссылается на перечисленные экземпляры:
source_vm_id = "${azurerm_virtual_machine.consul.*.id}"
..., что приводит к ошибке:
azurerm_recovery_services_protected_vm.consul_and_vault: source_vm_id must be a single value, not a list
Вопрос в том, как я могу ссылаться на перечисленные экземпляры в моем случае?
Чрезвычайно признателен за любые отзывы.
A.