【发布时间】:2019-11-12 01:53:43
【问题描述】:
我有一个 Terraform 模块,如下所示
main.tf
resource "azurerm_resource_group" "test1"{
count = "${length(var.azurerm_resource_group_name)}"
name = "${element(var.azurerm_resource_group_name, count.index)}"
location = "${element(var.azurerm_resource_group_location, count.index)}"
}
我已将 output.tf 定义如下
output "resource_gp" {
value = "${azurerm_resource_group.test1[count.index]}"
}
对于同一个模块,variables.tf如下:
variable "azurerm_resource_group_name" {
type = "list"
default = ["SimpleMoon-Terra"]
}
variable "azurerm_resource_group_location" {
type = "list"
default = ["Central US"]
}
调用模块如下:
variable "azurerm_resource_group" {
default={
name = "simpletestrg"
location = "Central US"
}
}
# Create Resource Group
module "Test_Resource_Groups" {
source ="../../Modules/Test_Resource_Groups"
#name ="${var.azurerm_resource_group.name}"
#location ="${var.azurerm_resource_group.location}"
}
但是,我收到如下错误:
Error: Missing resource instance key
on ../../Modules/Test_Resource_Groups/output.tf line 2, in output "resource_gp":
2: value = "${azurerm_resource_group.test1.name[count.index]}"
Because azurerm_resource_group.test1 has "count" set, its attributes must be
accessed on specific instances.
For example, to correlate with indices of a referring resource, use:
azurerm_resource_group.test1[count.index]
我无法理解实际的错误是什么以及如何纠正它。
【问题讨论】:
-
var.azurerm_resource_group_name这一定是var.azurerm_resource_group?在 main.tf -
我不这么认为,我现在为模块添加了 variables.tf 文件。请再检查一次。泰
-
azurerm_resource_group.test1是资源而不是导出的属性。您要输出什么导出属性?
标签: terraform terraform-provider-azure