【发布时间】:2019-04-22 21:57:13
【问题描述】:
我在main.tf 中创建资源组和vNet,并在同一个文件中引用模块。问题是,模块无法从模块访问这些资源。相关代码(大部分代码去掉,只剩下相关部分):
main.tf:
module "worker" {
source = "./vmLoop"
vmName = "worker"
prefix = "${var.reference["name"]}"
loop = "${var.reference["workerCount"]}"
}
resource "azurerm_resource_group" "rg" {
name = "${var.reference["name"]}"
location = "${var.reference["location"]}"
}
如何在模块中引用此资源组?在main.tf 里面我可以这样做:"${azurerm_resource_group.rg.name}"。不仅如此,如果我想在模块内使用数据,那会失败,因为资源尚未创建(大部分代码已删除,只剩下相关部分):
Module.tf:
data "azurerm_resource_group" "rg" {
name = "${var.prefix}"
}
如果我预先创建资源组\vnet,一切正常。
在 arm 模板中,我会添加一个 dependsOn 属性。但是,terraform 中的模块不支持depends_on。
【问题讨论】:
标签: azure reference virtual-machine terraform