我正在尝试告诉terraform资源是否依赖于另一个资源。问题在于资源位于单独的模块中。依赖资源如下所示:
variable dependency {
type = "list"
default = []
}
resource "docker_container" "web" {
depends_on = "${var.dependency}"
...
然后我“调用”模块:
module "wordpress" {
source = "../modules/wordpress"
dependency = [ "${module.provision.res}" ]
}
我得到了错误:
on ../modules/wordpress/main.tf line 11, in resource "docker_container" "web":
11: depends_on = "${var.dependency}"
A static list expression is required.
似乎我不能在'depends_on'中使用变量。如何在模块之间创建依赖关系?
PS:我依赖的资源是null_resource,它提供了一些配置。每次更改时,我都需要重建一些东西。
答案 0 :(得分:1)
要解决该错误:“需要一个静态列表表达式。”
您需要使用[]包装var.dependency:
resource "docker_container" "web" {
depends_on = ["${var.dependency}"]
...