terraform - 如何在 terraform 中逃避真/假?
问题描述
我需要将单词 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}
解决方案
我认为你一定是想多了,如果我将我的 var 值设置为
spark_master_enable_rest="true"
然后我得到:
spark.worker.cleanup.enabled true
spark.worker.cleanup.appDataTtl 86400
spark.master.rest.enabled true
在我申请时的结果中。
推荐阅读
- algorithm - 2个顶点之间最短路径的算法
- python - 从href标签中提取html selenium webscraper
- mysql - ProgrammingError:您的 SQL 语法有错误;在第 1 行
- cucumber - Gherkin markdown 误解了冒号:符号
- regex - java - 如何在java中的词法分析器中标记字符串?
- javascript - 在 JavaScript forEach 函数中没有发生返回?
- c - 在这种特殊情况下,静态数组慢 700 倍是否合理?
- windows - msvc 2017 x64 寄存器保存
- mysql - SQL多行的内连接
- javascript - 在带有 Nativescript-Vue 的 v-for 中使用 fontawesome 图标时出现问题