首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于检查条件的Terraform脚本

用于检查条件的Terraform脚本
EN

Stack Overflow用户
提问于 2020-05-05 16:15:48
回答 1查看 182关注 0票数 1

我有很大的地形剧本。在脚本的末尾,有一个代码块可以对VM进行备份,但我不想对测试VM进行备份。我只需要主VMs支援。是否有任何脚本在terraform中检查VM,然后继续备份脚本。

代码语言:javascript
复制
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
     ]
  }
} 

原木图像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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的关注

类似于:

代码语言:javascript
复制
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

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61617841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档