【发布时间】:2019-01-09 14:20:13
【问题描述】:
我需要将单词 true 或 false 传递给 terraform 中的数据模板文件。但是,如果我尝试提供该值,由于插值语法,它会出现 0 或 1。我尝试按照https://www.terraform.io/docs/configuration/interpolation.html 中的建议执行\\true\\,但结果是\true\,这显然是不正确的。与\\false\\ 相同 = \false\
为了使事情复杂化,我还有一个场景,我需要将一个变量的值传递给它,它可以等于真或假。 有什么想法吗?
# control whether to enable REST API and set other port defaults
data "template_file" "master_spark_defaults" {
template = "${file("${path.module}/templates/spark/spark- defaults.conf")}"
vars = {
spark_server_port = "${var.application_port}"
spark_driver_port = "${var.spark_driver_port}"
rest_port = "${var.spark_master_rest_port}"
history_server_port = "${var.history_server_port}"
enable_rest = "${var.spark_master_enable_rest}"
}
}
var.spark_master_enable_rest 可以是true 或false。我尝试将变量设置为"\\${var.spark_master_enable_rest}\\",但这又导致\true\ 或\false\
编辑 1:
这里是相关的 conf 文件部分:
spark.ui.port ${spark_server_port}
# set to default worker random number.
spark.driver.port ${spark_driver_port}
spark.history.fs.logDirectory /var/log/spark
spark.history.ui.port ${history_server_port}
spark.worker.cleanup.enabled true
spark.worker.cleanup.appDataTtl 86400
spark.master.rest.enabled ${enable_rest}
spark.master.rest.port ${rest_port}
【问题讨论】:
-
这里需要布尔类型还是字符串就足够了?
-
这是 spark-default.conf 文件。我正在尝试通过执行“true”来查看是否可以拥有“true”,但我不确定它是否会起作用。
-
我添加了一个编辑来显示有问题的文件部分。
-
是的,它不喜欢“真实”