【发布时间】:2020-11-18 19:50:00
【问题描述】:
我创建了一个 Terraform 模块(安装 jenkins,但这超出了本问题的范围)
我希望能够有条件地安装它。
我已经尝试过count 方法:
module "jenkins" {
count = "${var.install_jenkins}"
source = "../../../../modules-terraform/jenkins"
project_id = "${google_project.service.project_id}"
zone = "${var.zone}"
org_name = "${var.org_name}"
}
但它抛出以下错误:
错误:模块“jenkins”:“count”不是有效参数
有没有办法有条件地安装 Terraform 模块?
使用 Terraform 0.11.14
【问题讨论】:
-
对此有一些相关的问题,但答案是否定的。您可以使用
jenkins_count或install_jenkins之类的变量作为变量,并将其传递到模块中的每个资源中以有条件地创建这些资源,但这将是一团糟,并且可能会导致您在 0.12 之前的 Terraform 中出现非延迟评估三元语句的其他问题.最好的办法是组合事物,因此您只在要创建 Jenkins 的地方包含模块定义。
标签: terraform terraform-modules