我正在尝试在Terraform中定义变量,其中包括字符串和另一个映射。例如我正在尝试为google_compute_instance创建一个模块,该模块可以具有1个或2个network_interfaces,具体取决于调用模块时给出的变量。我的问题是我无法在1个变量中提供每个network_interface配置。这是模块中的代码部分:
network_interface = "${var.network_interface_1}"
network_interface = "${var.network_interface_2}"
我想给network_interface_2
输入空白变量,为变量network_interface_1
输入以下默认值:
{
subnetwork = "test-subnet"
network_ip = "1.2.3.4"
access_config {
network_tier = "STANDARD"
}
}
Terrraform计划无效,说network_interface: should be a list
问题是我的map变量中有2个对象是字符串,而另一个是另一个映射。但似乎terraform地图变量类型仅在地图内支持类似类型(即字符串,列表等)。 找不到任何解决方案。