我在用Terraform阉割我的蓝色环境。目前,我可以执行增量更新。当我运行一个新计划时,它试图破坏所有以前的;y应用了资源。例如,我创建了一个新的虚拟机,接下来我运行一个新的计划来创建一个角色,它标志着虚拟机的毁灭。
我知道Azure有一个incremental或complete的部署模式。
如果可能的话,可以从地形访问deployment_mode属性吗?
例如,在这个脚本中:
data "azurerm_subscription" "primary" {
}
resource "azurerm_role_definition" "roles" {
count = length(var.roles)
name = "${var.role_prefix}${var.roles[count.index]["suffix_name"]}${var.role_suffix}"
scope = "${data.azurerm_subscription.primary.id}"
permissions {
actions = split(",", var.roles[count.index]["actions"])
not_actions = split(",", var.roles[count.index]["not_actions"])
}
assignable_scopes = ["${data.azurerm_subscription.primary.id}"]
}有办法设置deployment_mode吗?
发布于 2020-01-26 14:16:04
你误解了地形的运作方式。它只会破坏资源,如果它不能编辑它们。如果编辑能够工作(至少terraform应该认为它会工作) terraform只会更新服务,但是在您创建了资源之后,很多东西都是不可变的(名称是一个相当好的例子)。简而言之:如果您试图更改一个不可变的属性(或者更准确地说,terraform认为是不可变的),terraform会破坏\create资源,否则它会更新它。
另外,您也误解了完整的\增量部署模式;)
https://stackoverflow.com/questions/59917512
复制相似问题