我有很大的地形剧本。在脚本的末尾,有一个代码块可以对VM进行备份,但我不想对测试VM进行备份。我只需要主VMs支援。是否有任何脚本在terraform中检查VM,然后继续备份脚本。
resource "Azurerm_backup_protected_vm" "db"
Count = var.db-nodecount
resource_group_name = var.mgmtrg.name
recovery_vault_name = var.mgmtrv.name
source_vm_id = element(azurerm_virtual_machine.db.*.id, count.index)
backup_policy_id = var.db-policy.id
lifecycle{
ignore_changes = [
backup_policy_id,
recovery_vault_name,
tags
]
}
} 原木图像
发布于 2020-05-06 15:25:14
不幸的是,backup_policy_id是必需的:
https://www.terraform.io/docs/providers/azurerm/r/backup_protected_vm.html#backup_policy_id
在这种情况下,我将添加更多的vars来解决您对测试VM的关注
类似于:
resource "azurerm_backup_protected_vm" "db"
count = var.db-nodecount
resource_group_name = var.mgmtrg.name
recovery_vault_name = var.mgmtrv.name
source_vm_id = element(azurerm_virtual_machine.db.*.id, count.index)
backup_policy_id = var.env == "tst" ? var.db-tst-policy.id : var.db-policy.id
}只需创建一个测试backup_policy (azurerm_backup_policy_vm),它可能每100年进行一次备份。
另一个选项可能是根本不创建azurerm_backup_protected_vm:
resource "azurerm_backup_protected_vm" "db"
count = var.env == "tst" ? 0 : var.db-nodecount
resource_group_name = var.mgmtrg.name
recovery_vault_name = var.mgmtrv.name
source_vm_id = element(azurerm_virtual_machine.db.*.id, count.index)
backup_policy_id = var.db-policy.id
}https://stackoverflow.com/questions/61617841
复制相似问题