可以在天蓝色的地形中嵌套哪些资源?

时间:2019-10-15 19:44:31

标签: terraform-provider-azure

哪些资源可以嵌套在Azure terraform的另一个资源中?

即使virtual_machine包含参数network_interface_ids,我们也可以在VM部署(virtual_machine)中嵌套以下资源的创建:network_interface / IP_configuration吗?我可以假设最好将network_interface / IP配置放在此VM嵌套之外吗?

更重要的是,我们如何知道哪些资源可以嵌套,哪些资源不能嵌套?

1 个答案:

答案 0 :(得分:1)

通常不会嵌套Terraform中的资源。该文档通常会介绍是否有进行资源内联的潜力,这种情况很少见。

通常,您在同一级别上创建所有资源,然后引用虚拟机内部的NIC ID或IP配置。另一个与在Terraform文件中定义它们无关紧要。 Terraform将为您构建一个依赖关系图,以确定需要创建资源的顺序。

您可以在文档的示例中看到这一点:

resource "azurerm_network_interface" "main" {
  name                = "${var.prefix}-nic"
  location            = "${azurerm_resource_group.main.location}"
  resource_group_name = "${azurerm_resource_group.main.name}"

  ip_configuration {
    name                          = "testconfiguration1"
    subnet_id                     = "${azurerm_subnet.internal.id}"
    private_ip_address_allocation = "Dynamic"
  }
}

resource "azurerm_virtual_machine" "main" {
  name                  = "${var.prefix}-vm"
  location              = "${azurerm_resource_group.main.location}"
  resource_group_name   = "${azurerm_resource_group.main.name}"
  network_interface_ids = ["${azurerm_network_interface.main.id}"]
  vm_size               = "Standard_DS1_v2"

  # Adding Availability zones
  zones = [1]
}

这里是示例的link