Terraform-如何添加资源?

时间:2018-10-04 08:39:06

标签: azure terraform

我使用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}"

...

}

最诚挚的问候,塔尔

2 个答案:

答案 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将添加缺少的应用程序