我使用Terraform脚本创建了一个环境,然后我想添加另一个我已经拥有的相同类型的资源。例如,我有2个应用VM实例,我想添加另一个实例。这样做的方式是什么?更新我的当前脚本?添加特定脚本?
例如:
我有以下资源,其中第一次创建了2个实例(var.instances_number = 2)。现在我还需要一个。
resource "azurerm_virtual_machine" "myApp-vm" {
count = "${var.instances_number}"
name = "${var.prefix}-${var.env_type}-pc${var.myApp_podc}-p0${var.myApp_pod + count.index}-aw-cm01-n01"
resource_group_name = "${azurerm_resource_group.main.name}"
...
}
最诚挚的问候,塔尔
答案 0 :(得分:1)
Terraform代码以声明性风格编写,即它们声明任何基础结构的结束状态。 Terraform始终知道它过去创建的任何状态,因此,如果您更改了一些配置,它将添加/删除许多资源,以按照配置中声明的方式带入当前状态。
提到您的问题,您想创建总共3个VM,其中两个已经创建。正确的方法是将计数更新为3。 在这种情况下,应将variables.tf文件中的instances_number更新为3。
由于terraform已经知道它创建了2个VM,并且最终状态应该是3个VM,所以它将添加1个VM,您可以通过执行“ terraform plan”进行检查。
答案 1 :(得分:0)
我刚刚发现的答案是简单地增加instance_number的值,然后terraform将添加缺少的应用程序